From 26384076bf24c7a52ecfccd61ab09b649aeb4cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 09:44:53 +0200 Subject: [PATCH 01/13] Add experimental.fontLoaders config --- packages/next/build/swc/options.js | 3 +++ packages/next/server/config-schema.ts | 3 +++ packages/next/server/config-shared.ts | 1 + 3 files changed, 7 insertions(+) diff --git a/packages/next/build/swc/options.js b/packages/next/build/swc/options.js index 2c7d1c13fd7ed..86a4f1076a603 100644 --- a/packages/next/build/swc/options.js +++ b/packages/next/build/swc/options.js @@ -123,6 +123,9 @@ function getBaseSWCOptions({ isServer: !!isServerLayer, } : false, + fontLoaders: + nextConfig?.experimental?.fontLoaders && + Object.keys(nextConfig.experimental.fontLoaders), } } diff --git a/packages/next/server/config-schema.ts b/packages/next/server/config-schema.ts index d22bb9d61c491..c5291943007a2 100644 --- a/packages/next/server/config-schema.ts +++ b/packages/next/server/config-schema.ts @@ -390,6 +390,9 @@ const configSchema = { workerThreads: { type: 'boolean', }, + fontLoaders: { + type: 'object', + }, }, type: 'object', }, diff --git a/packages/next/server/config-shared.ts b/packages/next/server/config-shared.ts index 769fe0bb6fedc..7e97bcf286978 100644 --- a/packages/next/server/config-shared.ts +++ b/packages/next/server/config-shared.ts @@ -151,6 +151,7 @@ export interface ExperimentalConfig { algorithm?: SubresourceIntegrityAlgorithm } adjustFontFallbacks?: boolean + fontLoaders?: { [fontLoader: string]: any } } export type ExportPathMap = { From 6a673f2a495d6ee85128ac9ebc35352f21fccd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 09:46:06 +0200 Subject: [PATCH 02/13] Add next-font-loader --- packages/next/build/webpack-config.ts | 1 + .../webpack/loaders/next-font-loader/index.ts | 83 +++++++++++ .../next-font-loader/postcss-font-loader.ts | 135 ++++++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 packages/next/build/webpack/loaders/next-font-loader/index.ts create mode 100644 packages/next/build/webpack/loaders/next-font-loader/postcss-font-loader.ts diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index 6aaa9ceeccae6..545690389cbdf 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1449,6 +1449,7 @@ export default async function getBaseWebpackConfig( 'next-middleware-asset-loader', 'next-middleware-wasm-loader', 'next-app-loader', + 'next-font-loader', ].reduce((alias, loader) => { // using multiple aliases to replace `resolveLoader.modules` alias[loader] = path.join(__dirname, 'webpack', 'loaders', loader) diff --git a/packages/next/build/webpack/loaders/next-font-loader/index.ts b/packages/next/build/webpack/loaders/next-font-loader/index.ts new file mode 100644 index 0000000000000..196ac837ceb11 --- /dev/null +++ b/packages/next/build/webpack/loaders/next-font-loader/index.ts @@ -0,0 +1,83 @@ +import path from 'path' +import loaderUtils from 'next/dist/compiled/loader-utils3' +import postcssFontLoaderPlugn from './postcss-font-loader' + +type FontLoader = (options: { + functionName: string + data: any[] + config: any + emitFontFile: (content: Buffer, ext: string, preload: boolean) => string +}) => Promise<{ css: string; fallbackFonts: string[] }> + +export default async function nextFontLoader(this: any) { + const fontLoaderSpan = this.currentTraceSpan.traceChild('next-font-loader') + return fontLoaderSpan.traceAsyncFn(async () => { + const callback = this.async() + const { + isServer, + assetPrefix, + fontLoaderOptions, + postcss: getPostcss, + } = this.getOptions() + + const emitFontFile = (content: Buffer, ext: string, preload: boolean) => { + const opts = { context: this.rootContext, content } + const interpolatedName = loaderUtils.interpolateName( + this, + // Font files ending with .p.(woff|woff2|eot|ttf|otf) are preloaded + `static/fonts/[hash]${preload ? '.p' : ''}.${ext}`, + opts + ) + const outputPath = `${assetPrefix}/_next/${interpolatedName}` + if (!isServer) { + this.emitFile(interpolatedName, content, null) + } + return outputPath + } + + // next-swc next_font_loaders turns each function call argument into JSON seperated by semicolons + let [functionName, ...data] = this.resourceQuery.slice(1).split(';') + data = data.map((value: string) => JSON.parse(value)) + + try { + const fontLoader: FontLoader = require(path.join( + this.resourcePath, + '../loader.js' + )).default + let { css, fallbackFonts } = await fontLoader({ + functionName, + data, + config: fontLoaderOptions, + emitFontFile, + }) + + const { postcss } = await getPostcss() + + // Exports will be exported as is from css-loader instead of a CSS module export + const exports: { name: any; value: any }[] = [] + const fontFamilyHash = loaderUtils.getHashDigest( + Buffer.from(css), + 'md5', + 'hex', + 6 + ) + // Add CSS classes, exports and make the font-family localy scoped by turning it unguessable + const result = await postcss( + postcssFontLoaderPlugn(exports, fontFamilyHash, fallbackFonts) + ).process(css, { + from: undefined, + }) + + // Reuse ast in css-loader + const ast = { + type: 'postcss', + version: result.processor.version, + root: result.root, + } + callback(null, result.css, null, { exports, ast, fontFamilyHash }) + } catch (err: any) { + err.stack = false + callback(err) + } + }) +} diff --git a/packages/next/build/webpack/loaders/next-font-loader/postcss-font-loader.ts b/packages/next/build/webpack/loaders/next-font-loader/postcss-font-loader.ts new file mode 100644 index 0000000000000..08313dd565df3 --- /dev/null +++ b/packages/next/build/webpack/loaders/next-font-loader/postcss-font-loader.ts @@ -0,0 +1,135 @@ +import postcss, { Declaration } from 'postcss' + +const postcssFontLoaderPlugn = ( + exports: { name: any; value: any }[], + fontFamilyHash: string, + fallbackFonts: string[] = [] +) => { + return { + postcssPlugin: 'postcss-font-loader', + Once(root: any) { + const fontFamilies: string[] = [] + let rawFamily: string | undefined + let fontWeight: string | undefined + let fontStyle: string | undefined + + const formatFamily = (family: string) => { + if (family[0] === "'" || family[0] === '"') { + family = family.slice(1, family.length - 1) + } + // Turn the font family unguessable to make it localy scoped + return `'__${family.replace(/ /g, '_')}_${fontFamilyHash}'` + } + + for (const node of root.nodes) { + if (node.type === 'atrule' && node.name === 'font-face') { + const familyNode = node.nodes.find( + (decl: Declaration) => decl.prop === 'font-family' + ) + if (!familyNode) { + continue + } + + if (!rawFamily) { + let family: string = familyNode.value + if (family[0] === "'" || family[0] === '"') { + family = family.slice(1, family.length - 1) + } + rawFamily = family + } + const formattedFamily = formatFamily(familyNode.value) + familyNode.value = formattedFamily + + if (fontFamilies.includes(formattedFamily)) { + continue + } + fontFamilies.push(formattedFamily) + + // Only extract weight and style from first encountered family, the rest will treated as fallbacks + if (fontFamilies.length > 1) { + continue + } + + // Extract weight and style from first encountered @font-face + const weight = node.nodes.find( + (decl: Declaration) => decl.prop === 'font-weight' + ) + + // Skip if the value includes ' ', then it's a range of possible values + if (weight && !weight.value.includes(' ')) { + fontWeight = weight.value + } + + const style = node.nodes.find( + (decl: Declaration) => decl.prop === 'font-style' + ) + // Skip if the value includes ' ', then it's a range of possible values + if (style && !style.value.includes(' ')) { + fontStyle = style.value + } + } + } + + const [mainFontFamily, ...adjustFontFallbacks] = fontFamilies + // If fallback fonts were provided from the font loader, they should be used before the adjustFontFallbacks + const formattedFontFamilies = [ + mainFontFamily, + ...fallbackFonts, + ...adjustFontFallbacks, + ].join(', ') + // Add class with family, weight and style + const classRule = new postcss.Rule({ selector: '.className' }) + classRule.nodes = [ + new postcss.Declaration({ + prop: 'font-family', + value: formattedFontFamilies, + }), + ...(fontWeight + ? [ + new postcss.Declaration({ + prop: 'font-weight', + value: fontWeight, + }), + ] + : []), + ...(fontStyle + ? [ + new postcss.Declaration({ + prop: 'font-style', + value: fontStyle, + }), + ] + : []), + ] + root.nodes.push(classRule) + + // Add class that defines a variable with the font family + const varialbeRule = new postcss.Rule({ selector: '.variable' }) + varialbeRule.nodes = [ + new postcss.Declaration({ + prop: rawFamily + ? `--next-font-${rawFamily.toLowerCase().replace(/ /g, '-')}${ + fontWeight ? `-${fontWeight}` : '' + }${fontStyle === 'italic' ? `-${fontStyle}` : ''}` + : '', + value: formattedFontFamilies, + }), + ] + root.nodes.push(varialbeRule) + + // Export @font-face values as is + exports.push({ + name: 'style', + value: { + fontFamily: formattedFontFamilies, + fontWeight: fontWeight && Number(fontWeight), + fontStyle, + }, + }) + }, + } +} + +postcssFontLoaderPlugn.postcss = true + +export default postcssFontLoaderPlugn From 3c64d7ee3f50bc63503d8229673290b0c3e845d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 09:57:14 +0200 Subject: [PATCH 03/13] Setup loaders for font loader imports --- .../build/webpack/config/blocks/css/index.ts | 55 +++++++++++++++ .../config/blocks/css/loaders/font-loader.ts | 70 +++++++++++++++++++ .../webpack/config/blocks/css/messages.ts | 6 ++ .../webpack/loaders/css-loader/src/index.js | 7 +- .../webpack/loaders/css-loader/src/utils.js | 18 +++-- packages/next/server/next-server.ts | 10 ++- 6 files changed, 156 insertions(+), 10 deletions(-) create mode 100644 packages/next/build/webpack/config/blocks/css/loaders/font-loader.ts diff --git a/packages/next/build/webpack/config/blocks/css/index.ts b/packages/next/build/webpack/config/blocks/css/index.ts index 5b81ffc7da103..3ebc34d9e74bd 100644 --- a/packages/next/build/webpack/config/blocks/css/index.ts +++ b/packages/next/build/webpack/config/blocks/css/index.ts @@ -3,11 +3,13 @@ import { webpack } from 'next/dist/compiled/webpack/webpack' import { loader, plugin } from '../../helpers' import { ConfigurationContext, ConfigurationFn, pipe } from '../../utils' import { getCssModuleLoader, getGlobalCssLoader } from './loaders' +import { getFontLoader } from './loaders/font-loader' import { getCustomDocumentError, getGlobalImportError, getGlobalModuleImportError, getLocalModuleImportError, + getFontLoaderDocumentImportError, } from './messages' import { getPostCssPlugins } from './plugins' @@ -199,6 +201,59 @@ export const css = curry(async function css( }) ) + // Resolve the configured font loaders, the resolved files are noop files that next-font-loader will match + let fontLoaders: [string, string][] | undefined = ctx.experimental.fontLoaders + ? Object.entries(ctx.experimental.fontLoaders).map( + ([fontLoader, fontLoaderOptions]: any) => [ + require.resolve(fontLoader), + fontLoaderOptions, + ] + ) + : undefined + + // Font loaders cannot be imported in _document. + fontLoaders?.forEach(([fontLoaderPath, fontLoaderOptions]) => { + fns.push( + loader({ + oneOf: [ + markRemovable({ + test: fontLoaderPath, + // Use a loose regex so we don't have to crawl the file system to + // find the real file name (if present). + issuer: /pages[\\/]_document\./, + use: { + loader: 'error-loader', + options: { + reason: getFontLoaderDocumentImportError(), + }, + }, + }), + ], + }) + ) + + // Matches the resolved font loaders noop files to run next-font-loader + fns.push( + loader({ + oneOf: [ + markRemovable({ + sideEffects: false, + test: fontLoaderPath, + issuer: { + and: [ + { + or: [ctx.rootDirectory, regexClientEntry], + }, + ], + not: [/node_modules/], + }, + use: getFontLoader(ctx, lazyPostCSSInitializer, fontLoaderOptions), + }), + ], + }) + ) + }) + // CSS Modules support must be enabled on the server and client so the class // names are available for SSR or Prerendering. if (ctx.experimental.appDir && !ctx.isProduction) { diff --git a/packages/next/build/webpack/config/blocks/css/loaders/font-loader.ts b/packages/next/build/webpack/config/blocks/css/loaders/font-loader.ts new file mode 100644 index 0000000000000..c48efd1d75916 --- /dev/null +++ b/packages/next/build/webpack/config/blocks/css/loaders/font-loader.ts @@ -0,0 +1,70 @@ +import { webpack } from 'next/dist/compiled/webpack/webpack' +import { ConfigurationContext } from '../../../utils' +import { getClientStyleLoader } from './client' +import { cssFileResolve } from './file-resolve' + +export function getFontLoader( + ctx: ConfigurationContext, + postcss: any, + fontLoaderOptions: any +): webpack.RuleSetUseItem[] { + const loaders: webpack.RuleSetUseItem[] = [] + + if (ctx.isClient) { + // Add appropriate development mode or production mode style + // loader + loaders.push( + getClientStyleLoader({ + isAppDir: !!ctx.experimental.appDir, + isDevelopment: ctx.isDevelopment, + assetPrefix: ctx.assetPrefix, + }) + ) + } + + loaders.push({ + loader: require.resolve('../../../../loaders/css-loader/src'), + options: { + postcss, + importLoaders: 1, + // Use CJS mode for backwards compatibility: + esModule: false, + url: (url: string, resourcePath: string) => + cssFileResolve(url, resourcePath, ctx.experimental.urlImports), + import: (url: string, _: any, resourcePath: string) => + cssFileResolve(url, resourcePath, ctx.experimental.urlImports), + modules: { + // Do not transform class names (CJS mode backwards compatibility): + exportLocalsConvention: 'asIs', + // Server-side (Node.js) rendering support: + exportOnlyLocals: ctx.isServer, + // Disallow global style exports so we can code-split CSS and + // not worry about loading order. + mode: 'pure', + getLocalIdent: ( + _context: any, + _localIdentName: any, + exportName: string, + _options: any, + meta: any + ) => { + // hash from next-font-loader + return `__${exportName}_${meta.fontFamilyHash}` + }, + }, + fontLoader: true, + }, + }) + + loaders.push({ + loader: 'next-font-loader', + options: { + isServer: ctx.isServer, + assetPrefix: ctx.assetPrefix, + fontLoaderOptions, + postcss, + }, + }) + + return loaders +} diff --git a/packages/next/build/webpack/config/blocks/css/messages.ts b/packages/next/build/webpack/config/blocks/css/messages.ts index 61c62c994fc34..42b5c720e54ba 100644 --- a/packages/next/build/webpack/config/blocks/css/messages.ts +++ b/packages/next/build/webpack/config/blocks/css/messages.ts @@ -31,3 +31,9 @@ export function getCustomDocumentError() { 'pages/_document.js' )}. Please move global styles to ${chalk.cyan('pages/_app.js')}.` } + +export function getFontLoaderDocumentImportError() { + return `Font loaders ${chalk.bold('cannot')} be used within ${chalk.cyan( + 'pages/_document.js' + )}.` +} diff --git a/packages/next/build/webpack/loaders/css-loader/src/index.js b/packages/next/build/webpack/loaders/css-loader/src/index.js index eae004f556ea7..bc259cdfefee3 100644 --- a/packages/next/build/webpack/loaders/css-loader/src/index.js +++ b/packages/next/build/webpack/loaders/css-loader/src/index.js @@ -4,7 +4,6 @@ */ import CssSyntaxError from './CssSyntaxError' import Warning from '../../postcss-loader/src/Warning' -// import { icssParser, importParser, urlParser } from './plugins' import { stringifyRequest } from '../../../stringify-request' const moduleRegExp = /\.module\.\w+$/i @@ -128,6 +127,7 @@ function normalizeOptions(rawOptions, loaderContext) { : rawOptions.importLoaders, esModule: typeof rawOptions.esModule === 'undefined' ? true : rawOptions.esModule, + fontLoader: rawOptions.fontLoader, } } @@ -169,10 +169,11 @@ export default async function loader(content, map, meta) { const { icssParser, importParser, urlParser } = require('./plugins') const replacements = [] - const exports = [] + // if it's a font loader next-font-loader will have exports that should be exported as is + const exports = options.fontLoader ? meta.exports : [] if (shouldUseModulesPlugins(options)) { - plugins.push(...getModulesPlugins(options, this)) + plugins.push(...getModulesPlugins(options, this, meta)) } const importPluginImports = [] diff --git a/packages/next/build/webpack/loaders/css-loader/src/utils.js b/packages/next/build/webpack/loaders/css-loader/src/utils.js index 0ab83b2fd9ec6..328800a9317c8 100644 --- a/packages/next/build/webpack/loaders/css-loader/src/utils.js +++ b/packages/next/build/webpack/loaders/css-loader/src/utils.js @@ -135,7 +135,7 @@ function shouldUseIcssPlugin(options) { return options.icss === true || Boolean(options.modules) } -function getModulesPlugins(options, loaderContext) { +function getModulesPlugins(options, loaderContext, meta) { const { mode, getLocalIdent, @@ -154,11 +154,17 @@ function getModulesPlugins(options, loaderContext) { extractImports(), modulesScope({ generateScopedName(exportName) { - return getLocalIdent(loaderContext, localIdentName, exportName, { - context: localIdentContext, - hashPrefix: localIdentHashPrefix, - regExp: localIdentRegExp, - }) + return getLocalIdent( + loaderContext, + localIdentName, + exportName, + { + context: localIdentContext, + hashPrefix: localIdentHashPrefix, + regExp: localIdentRegExp, + }, + meta + ) }, exportGlobals: options.modules.exportGlobals, }), diff --git a/packages/next/server/next-server.ts b/packages/next/server/next-server.ts index 4ca035f980095..f62a42e1a6ed2 100644 --- a/packages/next/server/next-server.ts +++ b/packages/next/server/next-server.ts @@ -45,6 +45,7 @@ import { FLIGHT_SERVER_CSS_MANIFEST, SERVERLESS_DIRECTORY, SERVER_DIRECTORY, + FONT_LOADER_MANIFEST, } from '../shared/lib/constants' import { recursiveReadDirSync } from './lib/recursive-readdir-sync' import { format as formatUrl, UrlWithParsedQuery } from 'url' @@ -524,7 +525,8 @@ export default class NextNodeServer extends BaseServer { params.path[0] === 'media' || params.path[0] === this.buildId || params.path[0] === 'pages' || - params.path[1] === 'pages' + params.path[1] === 'pages' || + params.path[0] === 'fonts' ) { this.setImmutableAssetCacheControl(res) } @@ -822,6 +824,7 @@ export default class NextNodeServer extends BaseServer { // https://github.com/vercel/next.js/blob/df7cbd904c3bd85f399d1ce90680c0ecf92d2752/packages/next/server/render.tsx#L947-L952 renderOpts.serverComponentManifest = this.serverComponentManifest renderOpts.serverCSSManifest = this.serverCSSManifest + renderOpts.fontLoaderManifest = this.fontLoaderManifest if ( this.nextConfig.experimental.appDir && @@ -1017,6 +1020,11 @@ export default class NextNodeServer extends BaseServer { )) } + protected getFontLoaderManifest() { + if (!this.nextConfig.experimental.fontLoaders) return undefined + return require(join(this.distDir, 'server', `${FONT_LOADER_MANIFEST}.json`)) + } + protected getFallback(page: string): Promise { page = normalizePagePath(page) const cacheFs = this.getCacheFilesystem() From 60371db63e3053c5c3cf6ed796a46b86d19fc575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 10:10:08 +0200 Subject: [PATCH 04/13] Generate manifest of preloaded font files --- packages/next/build/webpack-config.ts | 4 ++ .../plugins/font-loader-manifest-plugin.ts | 62 +++++++++++++++++++ packages/next/shared/lib/constants.ts | 1 + 3 files changed, 67 insertions(+) create mode 100644 packages/next/build/webpack/plugins/font-loader-manifest-plugin.ts diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index 545690389cbdf..1223779a8a77b 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -61,6 +61,7 @@ import loadJsConfig from './load-jsconfig' import { loadBindings } from './swc' import { AppBuildManifestPlugin } from './webpack/plugins/app-build-manifest-plugin' import { SubresourceIntegrityPlugin } from './webpack/plugins/subresource-integrity-plugin' +import { FontLoaderManifestPlugin } from './webpack/plugins/font-loader-manifest-plugin' const NEXT_PROJECT_ROOT = pathJoin(__dirname, '..', '..') const NEXT_PROJECT_ROOT_DIST = pathJoin(NEXT_PROJECT_ROOT, 'dist') @@ -1834,6 +1835,9 @@ export default async function getBaseWebpackConfig( isClient && !!config.experimental.sri?.algorithm && new SubresourceIntegrityPlugin(config.experimental.sri.algorithm), + isClient && + config.experimental.fontLoaders && + new FontLoaderManifestPlugin(), !dev && isClient && new (require('./webpack/plugins/telemetry-plugin').TelemetryPlugin)( diff --git a/packages/next/build/webpack/plugins/font-loader-manifest-plugin.ts b/packages/next/build/webpack/plugins/font-loader-manifest-plugin.ts new file mode 100644 index 0000000000000..c68992af80e14 --- /dev/null +++ b/packages/next/build/webpack/plugins/font-loader-manifest-plugin.ts @@ -0,0 +1,62 @@ +import { webpack, sources } from 'next/dist/compiled/webpack/webpack' +import getRouteFromEntrypoint from '../../../server/get-route-from-entrypoint' +import { FONT_LOADER_MANIFEST } from '../../../shared/lib/constants' + +export type FontLoaderManifest = { + pages: { + [path: string]: string[] + } +} +const PLUGIN_NAME = 'FontLoaderManifestPlugin' + +// Creates a manifest of all fonts that should be preloaded given a route +export class FontLoaderManifestPlugin { + apply(compiler: webpack.Compiler) { + compiler.hooks.make.tap(PLUGIN_NAME, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, + }, + (assets: any) => { + const fontLoaderManifest: FontLoaderManifest = { + pages: {}, + } + + for (const entrypoint of compilation.entrypoints.values()) { + const pagePath = getRouteFromEntrypoint(entrypoint.name!) + + if (!pagePath) { + continue + } + + const fontFiles: string[] = entrypoint.chunks + .flatMap((chunk: any) => [...chunk.auxiliaryFiles]) + .filter((file: string) => + /\.(woff|woff2|eot|ttf|otf)$/.test(file) + ) + + // Font files ending with .p.(woff|woff2|eot|ttf|otf) are preloaded + const preloadedFontFiles: string[] = fontFiles.filter( + (file: string) => /\.p.(woff|woff2|eot|ttf|otf)$/.test(file) + ) + + // Create an entry for the path even if no files should preload. If that's the case a preconnect tag is added. + if (fontFiles.length > 0) { + fontLoaderManifest.pages[pagePath] = preloadedFontFiles + } + } + + const manifest = JSON.stringify(fontLoaderManifest, null, 2) + assets[`server/${FONT_LOADER_MANIFEST}.js`] = new sources.RawSource( + `self.__FONT_LOADER_MANIFEST=${manifest}` + ) + assets[`server/${FONT_LOADER_MANIFEST}.json`] = new sources.RawSource( + manifest + ) + } + ) + }) + return + } +} diff --git a/packages/next/shared/lib/constants.ts b/packages/next/shared/lib/constants.ts index fe527c83685e7..e9c43bdd4cf36 100644 --- a/packages/next/shared/lib/constants.ts +++ b/packages/next/shared/lib/constants.ts @@ -27,6 +27,7 @@ export const APP_PATH_ROUTES_MANIFEST = 'app-path-routes-manifest.json' export const BUILD_MANIFEST = 'build-manifest.json' export const APP_BUILD_MANIFEST = 'app-build-manifest.json' export const SUBRESOURCE_INTEGRITY_MANIFEST = 'subresource-integrity-manifest' +export const FONT_LOADER_MANIFEST = 'font-loader-manifest' export const EXPORT_MARKER = 'export-marker.json' export const EXPORT_DETAIL = 'export-detail.json' export const PRERENDER_MANIFEST = 'prerender-manifest.json' From 4e9a90e21776a405fe1d5ccde2d693cd4b88c530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 10:12:53 +0200 Subject: [PATCH 05/13] Add font loader manifest to html context --- packages/next/build/entries.ts | 1 + packages/next/build/webpack-config.ts | 1 + .../loaders/next-edge-ssr-loader/index.ts | 6 ++++ .../loaders/next-edge-ssr-loader/render.ts | 4 +++ .../webpack/plugins/middleware-plugin.ts | 28 +++++++++++++++---- packages/next/export/index.ts | 4 +++ packages/next/server/base-server.ts | 7 +++++ packages/next/server/dev/next-dev-server.ts | 5 ++++ packages/next/server/render.tsx | 3 ++ packages/next/server/web-server.ts | 5 ++++ packages/next/shared/lib/html-context.ts | 2 ++ 11 files changed, 61 insertions(+), 5 deletions(-) diff --git a/packages/next/build/entries.ts b/packages/next/build/entries.ts index 2fc0253ba59a6..6b0a6e0a39025 100644 --- a/packages/next/build/entries.ts +++ b/packages/next/build/entries.ts @@ -204,6 +204,7 @@ export function getEdgeServerEntry(opts: { pagesType: opts.pagesType, appDirLoader: Buffer.from(opts.appDirLoader || '').toString('base64'), sriEnabled: !opts.isDev && !!opts.config.experimental.sri?.algorithm, + hasFontLoaders: !!opts.config.experimental.fontLoaders, } return { diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index 1223779a8a77b..09a8d658456eb 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1781,6 +1781,7 @@ export default async function getBaseWebpackConfig( new MiddlewarePlugin({ dev, sriEnabled: !dev && !!config.experimental.sri?.algorithm, + hasFontLoaders: !!config.experimental.fontLoaders, }), isClient && new BuildManifestPlugin({ diff --git a/packages/next/build/webpack/loaders/next-edge-ssr-loader/index.ts b/packages/next/build/webpack/loaders/next-edge-ssr-loader/index.ts index 1a1dc07d23106..1f903135f0333 100644 --- a/packages/next/build/webpack/loaders/next-edge-ssr-loader/index.ts +++ b/packages/next/build/webpack/loaders/next-edge-ssr-loader/index.ts @@ -15,6 +15,7 @@ export type EdgeSSRLoaderQuery = { appDirLoader?: string pagesType?: 'app' | 'pages' | 'root' sriEnabled: boolean + hasFontLoaders: boolean } export default async function edgeSSRLoader(this: any) { @@ -32,6 +33,7 @@ export default async function edgeSSRLoader(this: any) { appDirLoader: appDirLoaderBase64, pagesType, sriEnabled, + hasFontLoaders, } = this.getOptions() const appDirLoader = Buffer.from( @@ -99,6 +101,9 @@ export default async function edgeSSRLoader(this: any) { const subresourceIntegrityManifest = ${ sriEnabled ? 'self.__SUBRESOURCE_INTEGRITY_MANIFEST' : 'undefined' } + const fontLoaderManifest = ${ + hasFontLoaders ? 'self.__FONT_LOADER_MANIFEST' : 'undefined' + } const render = getRender({ dev: ${dev}, @@ -117,6 +122,7 @@ export default async function edgeSSRLoader(this: any) { subresourceIntegrityManifest, config: ${stringifiedConfig}, buildId: ${JSON.stringify(buildId)}, + fontLoaderManifest, }) export const ComponentMod = pageMod diff --git a/packages/next/build/webpack/loaders/next-edge-ssr-loader/render.ts b/packages/next/build/webpack/loaders/next-edge-ssr-loader/render.ts index 30ac4851283d9..f1f10bea0da22 100644 --- a/packages/next/build/webpack/loaders/next-edge-ssr-loader/render.ts +++ b/packages/next/build/webpack/loaders/next-edge-ssr-loader/render.ts @@ -2,6 +2,7 @@ import type { NextConfig } from '../../../../server/config-shared' import type { DocumentType, AppType } from '../../../../shared/lib/utils' import type { BuildManifest } from '../../../../server/get-page-files' import type { ReactLoadableManifest } from '../../../../server/load-components' +import type { FontLoaderManifest } from '../../plugins/font-loader-manifest-plugin' import WebServer from '../../../../server/web-server' import { @@ -27,6 +28,7 @@ export function getRender({ serverCSSManifest, config, buildId, + fontLoaderManifest, }: { dev: boolean page: string @@ -45,12 +47,14 @@ export function getRender({ appServerMod: any config: NextConfig buildId: string + fontLoaderManifest: FontLoaderManifest }) { const baseLoadComponentResult = { dev, buildManifest, reactLoadableManifest, subresourceIntegrityManifest, + fontLoaderManifest, Document, App: appMod.default as AppType, } diff --git a/packages/next/build/webpack/plugins/middleware-plugin.ts b/packages/next/build/webpack/plugins/middleware-plugin.ts index cee3db5e520e0..d87d9301b586a 100644 --- a/packages/next/build/webpack/plugins/middleware-plugin.ts +++ b/packages/next/build/webpack/plugins/middleware-plugin.ts @@ -19,6 +19,7 @@ import { NEXT_CLIENT_SSR_ENTRY_SUFFIX, FLIGHT_SERVER_CSS_MANIFEST, SUBRESOURCE_INTEGRITY_MANIFEST, + FONT_LOADER_MANIFEST, } from '../../../shared/lib/constants' import { getPageStaticInfo, @@ -85,7 +86,7 @@ function isUsingIndirectEvalAndUsedByExports(args: { function getEntryFiles( entryFiles: string[], meta: EntryMetadata, - opts: { sriEnabled: boolean } + opts: { sriEnabled: boolean; hasFontLoaders: boolean } ) { const files: string[] = [] if (meta.edgeSSR) { @@ -114,6 +115,10 @@ function getEntryFiles( `server/${MIDDLEWARE_BUILD_MANIFEST}.js`, `server/${MIDDLEWARE_REACT_LOADABLE_MANIFEST}.js` ) + + if (opts.hasFontLoaders) { + files.push(`server/${FONT_LOADER_MANIFEST}.js`) + } } files.push( @@ -127,7 +132,7 @@ function getEntryFiles( function getCreateAssets(params: { compilation: webpack.Compilation metadataByEntry: Map - opts: { sriEnabled: boolean } + opts: { sriEnabled: boolean; hasFontLoaders: boolean } }) { const { compilation, metadataByEntry, opts } = params return (assets: any) => { @@ -790,10 +795,20 @@ function getExtractMetadata(params: { export default class MiddlewarePlugin { private readonly dev: boolean private readonly sriEnabled: boolean - - constructor({ dev, sriEnabled }: { dev: boolean; sriEnabled: boolean }) { + private readonly hasFontLoaders: boolean + + constructor({ + dev, + sriEnabled, + hasFontLoaders, + }: { + dev: boolean + sriEnabled: boolean + hasFontLoaders: boolean + }) { this.dev = dev this.sriEnabled = sriEnabled + this.hasFontLoaders = hasFontLoaders } public apply(compiler: webpack.Compiler) { @@ -836,7 +851,10 @@ export default class MiddlewarePlugin { getCreateAssets({ compilation, metadataByEntry, - opts: { sriEnabled: this.sriEnabled }, + opts: { + sriEnabled: this.sriEnabled, + hasFontLoaders: this.hasFontLoaders, + }, }) ) }) diff --git a/packages/next/export/index.ts b/packages/next/export/index.ts index 1f35bc9e56e88..8af2b7dbefec7 100644 --- a/packages/next/export/index.ts +++ b/packages/next/export/index.ts @@ -24,6 +24,7 @@ import { EXPORT_MARKER, FLIGHT_MANIFEST, FLIGHT_SERVER_CSS_MANIFEST, + FONT_LOADER_MANIFEST, PAGES_MANIFEST, PHASE_EXPORT, PRERENDER_MANIFEST, @@ -389,6 +390,9 @@ export default async function exportApp( optimizeFonts: nextConfig.optimizeFonts as FontConfig, largePageDataBytes: nextConfig.experimental.largePageDataBytes, serverComponents: nextConfig.experimental.serverComponents, + fontLoaderManifest: nextConfig.experimental.fontLoaders + ? require(join(distDir, 'server', `${FONT_LOADER_MANIFEST}.json`)) + : undefined, } const { serverRuntimeConfig, publicRuntimeConfig } = nextConfig diff --git a/packages/next/server/base-server.ts b/packages/next/server/base-server.ts index cccb74732abed..b953abda2588c 100644 --- a/packages/next/server/base-server.ts +++ b/packages/next/server/base-server.ts @@ -28,6 +28,7 @@ import type { PagesManifest } from '../build/webpack/plugins/pages-manifest-plug import type { BaseNextRequest, BaseNextResponse } from './base-http' import type { PayloadOptions } from './send-payload' import type { PrerenderManifest } from '../build' +import type { FontLoaderManifest } from '../build/webpack/plugins/font-loader-manifest-plugin' import { parse as parseQs } from 'querystring' import { format as formatUrl, parse as parseUrl } from 'url' @@ -218,6 +219,7 @@ export default abstract class Server { supportsDynamicHTML?: boolean serverComponentManifest?: any serverCSSManifest?: any + fontLoaderManifest?: FontLoaderManifest renderServerComponentData?: boolean serverComponentProps?: any largePageDataBytes?: number @@ -230,6 +232,7 @@ export default abstract class Server { protected customRoutes: CustomRoutes protected serverComponentManifest?: any protected serverCSSManifest?: any + protected fontLoaderManifest?: FontLoaderManifest public readonly hostname?: string public readonly port?: number @@ -252,6 +255,7 @@ export default abstract class Server { protected abstract getPrerenderManifest(): PrerenderManifest protected abstract getServerComponentManifest(): any protected abstract getServerCSSManifest(): any + protected abstract getFontLoaderManifest(): FontLoaderManifest | undefined protected abstract attachRequestMeta( req: BaseNextRequest, parsedUrl: NextUrlWithParsedQuery @@ -370,6 +374,9 @@ export default abstract class Server { this.serverCSSManifest = serverComponents ? this.getServerCSSManifest() : undefined + this.fontLoaderManifest = this.nextConfig.experimental.fontLoaders + ? this.getFontLoaderManifest() + : undefined this.renderOpts = { poweredByHeader: this.nextConfig.poweredByHeader, diff --git a/packages/next/server/dev/next-dev-server.ts b/packages/next/server/dev/next-dev-server.ts index 8c66ad17dfe14..807199f64bdf4 100644 --- a/packages/next/server/dev/next-dev-server.ts +++ b/packages/next/server/dev/next-dev-server.ts @@ -1126,6 +1126,10 @@ export default class DevServer extends Server { return undefined } + protected getFontLoaderManifest() { + return undefined + } + protected async hasMiddleware(): Promise { return this.hasPage(this.actualMiddlewareFile!) } @@ -1355,6 +1359,7 @@ export default class DevServer extends Server { this.serverComponentManifest = super.getServerComponentManifest() this.serverCSSManifest = super.getServerCSSManifest() } + this.fontLoaderManifest = super.getFontLoaderManifest() return super.findPageComponents({ pathname, query, params, isAppPath }) } catch (err) { diff --git a/packages/next/server/render.tsx b/packages/next/server/render.tsx index 304167ef843d8..5e5a0a8aed862 100644 --- a/packages/next/server/render.tsx +++ b/packages/next/server/render.tsx @@ -26,6 +26,7 @@ import type { } from 'next/types' import type { UnwrapPromise } from '../lib/coalesced-function' import type { ReactReadableStream } from './node-web-streams-helper' +import type { FontLoaderManifest } from '../build/webpack/plugins/font-loader-manifest-plugin' import React from 'react' import { StyleRegistry, createStyleRegistry } from 'styled-jsx' @@ -232,6 +233,7 @@ export type RenderOptsPartial = { resolvedAsPath?: string serverComponentManifest?: any serverCSSManifest?: any + fontLoaderManifest?: FontLoaderManifest distDir?: string locale?: string locales?: string[] @@ -1446,6 +1448,7 @@ export async function renderToHTML( nextScriptWorkers: renderOpts.nextScriptWorkers, runtime: globalRuntime, largePageDataBytes: renderOpts.largePageDataBytes, + fontLoaderManifest: renderOpts.fontLoaderManifest, } const document = ( diff --git a/packages/next/server/web-server.ts b/packages/next/server/web-server.ts index 2326ec5bf8136..77fe205d393d0 100644 --- a/packages/next/server/web-server.ts +++ b/packages/next/server/web-server.ts @@ -131,6 +131,11 @@ export default class NextWebServer extends BaseServer { return this.serverOptions.webServerConfig.extendRenderOpts.serverCSSManifest } + protected getFontLoaderManifest() { + return this.serverOptions.webServerConfig.extendRenderOpts + .fontLoaderManifest + } + protected generateRoutes(): { headers: Route[] rewrites: { diff --git a/packages/next/shared/lib/html-context.ts b/packages/next/shared/lib/html-context.ts index 57b08a6972533..254db0636cf4b 100644 --- a/packages/next/shared/lib/html-context.ts +++ b/packages/next/shared/lib/html-context.ts @@ -2,6 +2,7 @@ import type { BuildManifest } from '../../server/get-page-files' import type { ServerRuntime } from 'next/types' import type { NEXT_DATA } from './utils' import type { FontConfig } from '../../server/font-utils' +import type { FontLoaderManifest } from '../../build/webpack/plugins/font-loader-manifest-plugin' import { createContext } from 'react' @@ -42,6 +43,7 @@ export type HtmlProps = { runtime?: ServerRuntime hasConcurrentFeatures?: boolean largePageDataBytes?: number + fontLoaderManifest?: FontLoaderManifest } export const HtmlContext = createContext(null as any) From 62fc52d957d2f054e520d1f0e963729c98cba3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 10:13:34 +0200 Subject: [PATCH 06/13] Preload/preconnect in _document given the manifest --- packages/next/pages/_document.tsx | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/packages/next/pages/_document.tsx b/packages/next/pages/_document.tsx index 26564e04cc50b..0733e5e077a17 100644 --- a/packages/next/pages/_document.tsx +++ b/packages/next/pages/_document.tsx @@ -11,6 +11,7 @@ import type { NEXT_DATA, } from '../shared/lib/utils' import type { ScriptProps } from '../client/script' +import type { FontLoaderManifest } from '../build/webpack/plugins/font-loader-manifest-plugin' import { BuildManifest, getPageFiles } from '../server/get-page-files' import { htmlEscapeJsonString } from '../server/htmlescape' @@ -353,6 +354,54 @@ function getAmpPath(ampPath: string, asPath: string): string { return ampPath || `${asPath}${asPath.includes('?') ? '&' : '?'}amp=1` } +function getFontLoaderLinks( + fontLoaderManifest: FontLoaderManifest | undefined, + dangerousAsPath: string, + assetPrefix: string = '' +) { + if (!fontLoaderManifest) { + return { + preconnect: null, + preload: null, + } + } + + const appFontsEntry = fontLoaderManifest.pages['/_app'] + const pageFontsEntry = fontLoaderManifest.pages[dangerousAsPath] + + const preloadedFontFiles = [ + ...(appFontsEntry ?? []), + ...(pageFontsEntry ?? []), + ] + + // If no font files should preload but there's an entry for the path, add a preconnect tag. + const preconnectToSelf = !!( + preloadedFontFiles.length === 0 && + (appFontsEntry || pageFontsEntry) + ) + + return { + preconnect: preconnectToSelf ? ( + + ) : null, + preload: preloadedFontFiles + ? preloadedFontFiles.map((fontFile) => { + const ext = /\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)![1] + return ( + + ) + }) + : null, + } +} + // Use `React.Component` to avoid errors from the RSC checks because // it can't be imported directly in Server Components: // @@ -608,6 +657,8 @@ export class Head extends React.Component { disableOptimizedLoading, optimizeCss, optimizeFonts, + assetPrefix, + fontLoaderManifest, } = this.context const disableRuntimeJS = unstable_runtimeJS === false @@ -722,6 +773,12 @@ export class Head extends React.Component { process.env.NEXT_RUNTIME !== 'edge' && inAmpMode ) + const fontLoaderLinks = getFontLoaderLinks( + fontLoaderManifest, + dangerousAsPath, + assetPrefix + ) + return ( {this.context.isDevelopment && ( @@ -762,6 +819,9 @@ export class Head extends React.Component { {children} {optimizeFonts && } + {fontLoaderLinks.preconnect} + {fontLoaderLinks.preload} + {process.env.NEXT_RUNTIME !== 'edge' && inAmpMode && ( <> Date: Wed, 21 Sep 2022 10:13:53 +0200 Subject: [PATCH 07/13] Add tests --- lerna.json | 2 +- packages/create-next-app/package.json | 2 +- packages/eslint-config-next/package.json | 4 +- packages/eslint-plugin-next/package.json | 2 +- packages/next-bundle-analyzer/package.json | 2 +- packages/next-codemod/package.json | 2 +- packages/next-env/package.json | 2 +- packages/next-mdx/package.json | 2 +- packages/next-plugin-storybook/package.json | 2 +- packages/next-polyfill-module/package.json | 2 +- packages/next-polyfill-nomodule/package.json | 2 +- packages/next-swc/package.json | 2 +- packages/next/package.json | 14 +- packages/react-dev-overlay/package.json | 2 +- packages/react-refresh-utils/package.json | 2 +- pnpm-lock.yaml | 14 +- .../font-loader-in-document-error.test.ts | 32 ++ .../font-loader-in-document/next.config.js | 9 + .../pages/_document.js | 17 + .../font-loader-in-document/pages/index.js | 3 + .../next-font/app/components/CompWithFonts.js | 20 + test/e2e/next-font/app/next.config.js | 9 + test/e2e/next-font/app/pages/_app.js | 16 + test/e2e/next-font/app/pages/variables.js | 78 +++ test/e2e/next-font/app/pages/with-fallback.js | 22 + test/e2e/next-font/app/pages/with-fonts.js | 14 + test/e2e/next-font/app/pages/without-fonts.js | 3 + test/e2e/next-font/basepath.test.ts | 49 ++ test/e2e/next-font/basepath/next.config.js | 10 + test/e2e/next-font/basepath/pages/index.js | 6 + .../next-font/google-font-mocked-responses.js | 496 ++++++++++++++++++ test/e2e/next-font/index.test.ts | 289 ++++++++++ .../with-font-declarations-file.test.ts | 105 ++++ .../components/roboto-comp.js | 10 + .../with-font-declarations-file/fonts.js | 16 + .../next.config.js | 9 + .../with-font-declarations-file/pages/_app.js | 15 + .../pages/inter.js | 10 + .../pages/roboto.js | 5 + .../next-font/without-preloaded-fonts.test.ts | 122 +++++ .../without-preloaded-fonts/next.config.js | 9 + .../without-preloaded-fonts/pages/_app.js | 12 + .../pages/no-preload.js | 6 + .../pages/without-fonts.js | 3 + test/unit/google-font-loader.test.ts | 334 ++++++++++++ 45 files changed, 1758 insertions(+), 29 deletions(-) create mode 100644 test/development/next-font/font-loader-in-document-error.test.ts create mode 100644 test/development/next-font/font-loader-in-document/next.config.js create mode 100644 test/development/next-font/font-loader-in-document/pages/_document.js create mode 100644 test/development/next-font/font-loader-in-document/pages/index.js create mode 100644 test/e2e/next-font/app/components/CompWithFonts.js create mode 100644 test/e2e/next-font/app/next.config.js create mode 100644 test/e2e/next-font/app/pages/_app.js create mode 100644 test/e2e/next-font/app/pages/variables.js create mode 100644 test/e2e/next-font/app/pages/with-fallback.js create mode 100644 test/e2e/next-font/app/pages/with-fonts.js create mode 100644 test/e2e/next-font/app/pages/without-fonts.js create mode 100644 test/e2e/next-font/basepath.test.ts create mode 100644 test/e2e/next-font/basepath/next.config.js create mode 100644 test/e2e/next-font/basepath/pages/index.js create mode 100644 test/e2e/next-font/google-font-mocked-responses.js create mode 100644 test/e2e/next-font/index.test.ts create mode 100644 test/e2e/next-font/with-font-declarations-file.test.ts create mode 100644 test/e2e/next-font/with-font-declarations-file/components/roboto-comp.js create mode 100644 test/e2e/next-font/with-font-declarations-file/fonts.js create mode 100644 test/e2e/next-font/with-font-declarations-file/next.config.js create mode 100644 test/e2e/next-font/with-font-declarations-file/pages/_app.js create mode 100644 test/e2e/next-font/with-font-declarations-file/pages/inter.js create mode 100644 test/e2e/next-font/with-font-declarations-file/pages/roboto.js create mode 100644 test/e2e/next-font/without-preloaded-fonts.test.ts create mode 100644 test/e2e/next-font/without-preloaded-fonts/next.config.js create mode 100644 test/e2e/next-font/without-preloaded-fonts/pages/_app.js create mode 100644 test/e2e/next-font/without-preloaded-fonts/pages/no-preload.js create mode 100644 test/e2e/next-font/without-preloaded-fonts/pages/without-fonts.js create mode 100644 test/unit/google-font-loader.test.ts diff --git a/lerna.json b/lerna.json index 34bd0fd6ae494..258e54c72d1ac 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "12.3.1" + "version": "12.3.2-canary.0" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index 2e9cd6d4a4538..a7ab39f0a1820 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "12.3.1", + "version": "12.3.2-canary.0", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 4757609169e5e..532fc3a72ca14 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "ESLint configuration used by NextJS.", "main": "index.js", "license": "MIT", @@ -9,7 +9,7 @@ "directory": "packages/eslint-config-next" }, "dependencies": { - "@next/eslint-plugin-next": "12.3.1", + "@next/eslint-plugin-next": "12.3.2-canary.0", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.21.0", "eslint-import-resolver-node": "^0.3.6", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index 043622086d7e8..801d903f99073 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "ESLint plugin for NextJS.", "main": "lib/index.js", "license": "MIT", diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index 0d8e54ecf68bd..72318cd3d97e2 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "12.3.1", + "version": "12.3.2-canary.0", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index b785bc248a393..b0c701219b952 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "12.3.1", + "version": "12.3.2-canary.0", "license": "MIT", "dependencies": { "chalk": "4.1.0", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index bdfa78165e98c..e38620f1710ce 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "12.3.1", + "version": "12.3.2-canary.0", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index 4f3494b43cdac..c0ea228acc6a3 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "12.3.1", + "version": "12.3.2-canary.0", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index 52916bd81e180..6009f7375f19b 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "12.3.1", + "version": "12.3.2-canary.0", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 1edfe30cda574..b065aee308e64 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index 4cde648288553..d1a32f050530e 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index 6c30933d68b1f..cad052d086abe 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "12.3.1", + "version": "12.3.2-canary.0", "private": true, "scripts": { "build-native": "napi build --platform -p next-swc-napi --cargo-name next_swc_napi native --features plugin", diff --git a/packages/next/package.json b/packages/next/package.json index 79c76b77cf1fc..543cb1ac2aed2 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -68,7 +68,7 @@ ] }, "dependencies": { - "@next/env": "12.3.1", + "@next/env": "12.3.2-canary.0", "@swc/helpers": "0.4.11", "caniuse-lite": "^1.0.30001406", "postcss": "8.4.14", @@ -119,11 +119,11 @@ "@hapi/accept": "5.0.2", "@napi-rs/cli": "2.7.0", "@napi-rs/triples": "1.1.0", - "@next/polyfill-module": "12.3.1", - "@next/polyfill-nomodule": "12.3.1", - "@next/react-dev-overlay": "12.3.1", - "@next/react-refresh-utils": "12.3.1", - "@next/swc": "12.3.1", + "@next/polyfill-module": "12.3.2-canary.0", + "@next/polyfill-nomodule": "12.3.2-canary.0", + "@next/react-dev-overlay": "12.3.2-canary.0", + "@next/react-refresh-utils": "12.3.2-canary.0", + "@next/swc": "12.3.2-canary.0", "@segment/ajv-human-errors": "2.1.2", "@taskr/clear": "1.1.0", "@taskr/esnext": "1.1.0", diff --git a/packages/react-dev-overlay/package.json b/packages/react-dev-overlay/package.json index c83baa837d4b3..50fe5926156a2 100644 --- a/packages/react-dev-overlay/package.json +++ b/packages/react-dev-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-dev-overlay", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "A development-only overlay for developing React applications.", "repository": { "url": "vercel/next.js", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index c1f20f24ec94a..907be4826daff 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "12.3.1", + "version": "12.3.2-canary.0", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4da886576a755..aee0111858f5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -367,7 +367,7 @@ importers: packages/eslint-config-next: specifiers: - '@next/eslint-plugin-next': 12.3.1 + '@next/eslint-plugin-next': 12.3.2-canary.0 '@rushstack/eslint-patch': ^1.1.3 '@typescript-eslint/parser': ^5.21.0 eslint-import-resolver-node: ^0.3.6 @@ -423,12 +423,12 @@ importers: '@hapi/accept': 5.0.2 '@napi-rs/cli': 2.7.0 '@napi-rs/triples': 1.1.0 - '@next/env': 12.3.1 - '@next/polyfill-module': 12.3.1 - '@next/polyfill-nomodule': 12.3.1 - '@next/react-dev-overlay': 12.3.1 - '@next/react-refresh-utils': 12.3.1 - '@next/swc': 12.3.1 + '@next/env': 12.3.2-canary.0 + '@next/polyfill-module': 12.3.2-canary.0 + '@next/polyfill-nomodule': 12.3.2-canary.0 + '@next/react-dev-overlay': 12.3.2-canary.0 + '@next/react-refresh-utils': 12.3.2-canary.0 + '@next/swc': 12.3.2-canary.0 '@segment/ajv-human-errors': 2.1.2 '@swc/helpers': 0.4.11 '@taskr/clear': 1.1.0 diff --git a/test/development/next-font/font-loader-in-document-error.test.ts b/test/development/next-font/font-loader-in-document-error.test.ts new file mode 100644 index 0000000000000..8326b482098aa --- /dev/null +++ b/test/development/next-font/font-loader-in-document-error.test.ts @@ -0,0 +1,32 @@ +import { createNext, FileRef } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { check, getRedboxSource } from 'next-test-utils' +import webdriver from 'next-webdriver' +import { join } from 'path' + +describe('font-loader-in-document-error', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + pages: new FileRef(join(__dirname, 'font-loader-in-document/pages')), + 'next.config.js': new FileRef( + join(__dirname, 'font-loader-in-document/next.config.js') + ), + }, + dependencies: { + '@next/font': '*', + }, + }) + }) + afterAll(() => next.destroy()) + + test('font loader inside _document', async () => { + const browser = await webdriver(next.appPort, '/') + await check(() => getRedboxSource(browser), /Font loaders/) + expect(await getRedboxSource(browser)).toInclude( + 'Font loaders cannot be used within pages/_document.js' + ) + }) +}) diff --git a/test/development/next-font/font-loader-in-document/next.config.js b/test/development/next-font/font-loader-in-document/next.config.js new file mode 100644 index 0000000000000..6cd855478a746 --- /dev/null +++ b/test/development/next-font/font-loader-in-document/next.config.js @@ -0,0 +1,9 @@ +module.exports = { + experimental: { + fontLoaders: { + '@next/font/google': { + subsets: ['latin'], + }, + }, + }, +} diff --git a/test/development/next-font/font-loader-in-document/pages/_document.js b/test/development/next-font/font-loader-in-document/pages/_document.js new file mode 100644 index 0000000000000..4e50cbee8c11e --- /dev/null +++ b/test/development/next-font/font-loader-in-document/pages/_document.js @@ -0,0 +1,17 @@ +import { Html, Head, Main, NextScript } from 'next/document' +import { Abel } from '@next/font/google' + +// eslint-disable-next-line no-unused-vars +const abel = Abel({ variant: '400' }) + +export default function Document() { + return ( + + + +
+ + + + ) +} diff --git a/test/development/next-font/font-loader-in-document/pages/index.js b/test/development/next-font/font-loader-in-document/pages/index.js new file mode 100644 index 0000000000000..71c4bddbe5455 --- /dev/null +++ b/test/development/next-font/font-loader-in-document/pages/index.js @@ -0,0 +1,3 @@ +export default function Index() { + return

Hello world

+} diff --git a/test/e2e/next-font/app/components/CompWithFonts.js b/test/e2e/next-font/app/components/CompWithFonts.js new file mode 100644 index 0000000000000..f82d59672c9a2 --- /dev/null +++ b/test/e2e/next-font/app/components/CompWithFonts.js @@ -0,0 +1,20 @@ +import { Inter, Roboto } from '@next/font/google' +const inter = Inter({ variant: '900', display: 'swap', preload: false }) +const roboto = Roboto({ + variant: '100-italic', + display: 'swap', + preload: true, +}) + +export default function Component() { + return ( + <> +
+ {JSON.stringify(inter)} +
+
+ {JSON.stringify(roboto)} +
+ + ) +} diff --git a/test/e2e/next-font/app/next.config.js b/test/e2e/next-font/app/next.config.js new file mode 100644 index 0000000000000..6cd855478a746 --- /dev/null +++ b/test/e2e/next-font/app/next.config.js @@ -0,0 +1,9 @@ +module.exports = { + experimental: { + fontLoaders: { + '@next/font/google': { + subsets: ['latin'], + }, + }, + }, +} diff --git a/test/e2e/next-font/app/pages/_app.js b/test/e2e/next-font/app/pages/_app.js new file mode 100644 index 0000000000000..1deef62049a1c --- /dev/null +++ b/test/e2e/next-font/app/pages/_app.js @@ -0,0 +1,16 @@ +import { Open_Sans } from '@next/font/google' +const openSans = Open_Sans() + +function MyApp({ Component, pageProps }) { + return ( + <> +
+ {JSON.stringify(openSans)} +
+ + + ) +} + +export { openSans } +export default MyApp diff --git a/test/e2e/next-font/app/pages/variables.js b/test/e2e/next-font/app/pages/variables.js new file mode 100644 index 0000000000000..ce3649496d1e3 --- /dev/null +++ b/test/e2e/next-font/app/pages/variables.js @@ -0,0 +1,78 @@ +import { Fira_Code, Albert_Sans, Inter, Roboto } from '@next/font/google' +const firaCode = Fira_Code() +const albertSans = Albert_Sans({ + variant: 'variable-italic', + adjustFontFallback: false, +}) +const inter = Inter({ variant: '900', display: 'swap' }) // Don't preload by default when swap +const roboto = Roboto({ + variant: '100-italic', + display: 'swap', + preload: true, +}) + +export default function WithFonts() { + return ( + <> + {/* Fira Code Variable */} +
+ With variables +
+
+ Without variables +
+ + {/* Albert Sant Variable Italic */} +
+ With variables +
+
+ Without variables +
+ + {/* Inter 900 */} +
+ With variables +
+
+ Without variables +
+ + {/* Roboto 100 Italic */} +
+ With variables +
+
+ Without variables +
+ + ) +} diff --git a/test/e2e/next-font/app/pages/with-fallback.js b/test/e2e/next-font/app/pages/with-fallback.js new file mode 100644 index 0000000000000..587452fb45fd8 --- /dev/null +++ b/test/e2e/next-font/app/pages/with-fallback.js @@ -0,0 +1,22 @@ +import { Open_Sans } from '@next/font/google' +const openSans = Open_Sans({ fallback: ['system-ui', 'Arial'] }) + +export default function WithFonts() { + return ( + <> +
+ {JSON.stringify(openSans)} +
+
+ {JSON.stringify(openSans)} +
+
+ {JSON.stringify(openSans)} +
+ + ) +} diff --git a/test/e2e/next-font/app/pages/with-fonts.js b/test/e2e/next-font/app/pages/with-fonts.js new file mode 100644 index 0000000000000..13dbe3e46bf9f --- /dev/null +++ b/test/e2e/next-font/app/pages/with-fonts.js @@ -0,0 +1,14 @@ +import CompWithFonts from '../components/CompWithFonts' +import { openSans } from './_app' + +export default function WithFonts() { + return ( + <> + +
+ {JSON.stringify(openSans)} +
+
+ + ) +} diff --git a/test/e2e/next-font/app/pages/without-fonts.js b/test/e2e/next-font/app/pages/without-fonts.js new file mode 100644 index 0000000000000..0f649722e671d --- /dev/null +++ b/test/e2e/next-font/app/pages/without-fonts.js @@ -0,0 +1,3 @@ +export default function WithoutFonts() { + return

Hello world

+} diff --git a/test/e2e/next-font/basepath.test.ts b/test/e2e/next-font/basepath.test.ts new file mode 100644 index 0000000000000..9ebdbc6b0ce96 --- /dev/null +++ b/test/e2e/next-font/basepath.test.ts @@ -0,0 +1,49 @@ +import cheerio from 'cheerio' +import { createNext, FileRef } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { renderViaHTTP } from 'next-test-utils' +import { join } from 'path' + +const mockedGoogleFontResponses = require.resolve( + './google-font-mocked-responses.js' +) + +describe('@next/font/google basepath', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + pages: new FileRef(join(__dirname, 'basepath/pages')), + 'next.config.js': new FileRef( + join(__dirname, 'basepath/next.config.js') + ), + }, + dependencies: { + '@next/font': '*', + }, + env: { + NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, + }, + }) + }) + afterAll(() => next.destroy()) + + test('preload correct files', async () => { + const html = await renderViaHTTP(next.url, '/dashboard') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(0) + + // Preload + expect($('link[as="font"]').length).toBe(1) + expect($('link[as="font"]').get(0).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/dashboard/_next/static/fonts/0812efcfaefec5ea.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + }) +}) diff --git a/test/e2e/next-font/basepath/next.config.js b/test/e2e/next-font/basepath/next.config.js new file mode 100644 index 0000000000000..8509832e4b888 --- /dev/null +++ b/test/e2e/next-font/basepath/next.config.js @@ -0,0 +1,10 @@ +module.exports = { + basePath: '/dashboard', + experimental: { + fontLoaders: { + '@next/font/google': { + subsets: ['latin'], + }, + }, + }, +} diff --git a/test/e2e/next-font/basepath/pages/index.js b/test/e2e/next-font/basepath/pages/index.js new file mode 100644 index 0000000000000..02056b6f303d3 --- /dev/null +++ b/test/e2e/next-font/basepath/pages/index.js @@ -0,0 +1,6 @@ +import { Open_Sans } from '@next/font/google' +const openSans = Open_Sans() + +export default function Inter() { + return

Hello world

+} diff --git a/test/e2e/next-font/google-font-mocked-responses.js b/test/e2e/next-font/google-font-mocked-responses.js new file mode 100644 index 0000000000000..732813f2401c2 --- /dev/null +++ b/test/e2e/next-font/google-font-mocked-responses.js @@ -0,0 +1,496 @@ +module.exports = { + 'https://fonts.googleapis.com/css2?family=Open+Sans:wght@300..800&display=optional': ` +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300 800; + font-stretch: 100%; + font-display: optional; + src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Inter:wght@900&display=swap': ` + /* cyrillic-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZJhiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZthiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZNhiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZxhiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZBhiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZFhiJ-Ek-_EeAmM.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYAZ9hiJ-Ek-_EeA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Roboto:ital,wght@1,100&display=swap': ` + /* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz0dL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzQdL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzwdL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzMdL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz8dL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz4dL-vwnYh2eg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzAdL-vwnYg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=optional': ` + /* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=block': ` + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; + } + /* greek */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0370-03FF; + } + /* vietnamese */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + `, + 'https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200..900&display=swap': ` + /* cyrillic-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWnsUnxlC9.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200 900; + font-display: swap; + src: url(https://fonts.gstatic.com/s/sourcecodepro/v22/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevWnsUnxg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Abel:wght@400&display=optional': ` + /* latin */ +@font-face { + font-family: 'Abel'; + font-style: normal; + font-weight: 400; + font-display: optional; + src: url(https://fonts.gstatic.com/s/abel/v18/MwQ5bhbm2POE2V9BPbh5uGM.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&display=optional': ` + /* cyrillic-ext */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh0NSDqFGedCMX.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh2dSDqFGedCMX.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh0dSDqFGedCMX.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh3tSDqFGedCMX.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* latin-ext */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh09SDqFGedCMX.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Fira Code'; + font-style: normal; + font-weight: 300 700; + font-display: optional; + src: url(https://fonts.gstatic.com/s/firacode/v21/uU9NCBsR6Z2vfE9aq3bh3dSDqFGedA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, + 'https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@1,100..900&display=optional': ` + /* latin-ext */ +@font-face { + font-family: 'Albert Sans'; + font-style: italic; + font-weight: 100 900; + font-display: optional; + src: url(https://fonts.gstatic.com/s/albertsans/v1/i7dMIFdwYjGaAMFtZd_QA1ZeUFuaHi6WZ3S_Yg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Albert Sans'; + font-style: italic; + font-weight: 100 900; + font-display: optional; + src: url(https://fonts.gstatic.com/s/albertsans/v1/i7dMIFdwYjGaAMFtZd_QA1ZeUFWaHi6WZ3Q.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + `, +} diff --git a/test/e2e/next-font/index.test.ts b/test/e2e/next-font/index.test.ts new file mode 100644 index 0000000000000..887d8b442b26d --- /dev/null +++ b/test/e2e/next-font/index.test.ts @@ -0,0 +1,289 @@ +import cheerio from 'cheerio' +import { createNext, FileRef } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { renderViaHTTP } from 'next-test-utils' +import { join } from 'path' +import webdriver from 'next-webdriver' + +const mockedGoogleFontResponses = require.resolve( + './google-font-mocked-responses.js' +) + +describe('@next/font/google', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + pages: new FileRef(join(__dirname, 'app/pages')), + components: new FileRef(join(__dirname, 'app/components')), + 'next.config.js': new FileRef(join(__dirname, 'app/next.config.js')), + }, + dependencies: { + '@next/font': '*', + }, + env: { + NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, + }, + }) + }) + afterAll(() => next.destroy()) + + describe('import values', () => { + test('page with font', async () => { + const html = await renderViaHTTP(next.url, '/with-fonts') + const $ = cheerio.load(html) + + // _app.js + expect(JSON.parse($('#app-open-sans').text())).toEqual({ + className: '__className_bbc724', + variable: '__variable_bbc724', + style: { + fontFamily: "'__Open_Sans_bbc724', '__open-sans-fallback_bbc724'", + fontStyle: 'normal', + }, + }) + + // with-fonts.js + expect(JSON.parse($('#with-fonts-open-sans').text())).toEqual({ + className: '__className_bbc724', + variable: '__variable_bbc724', + style: { + fontFamily: "'__Open_Sans_bbc724', '__open-sans-fallback_bbc724'", + fontStyle: 'normal', + }, + }) + + // CompWithFonts.js + expect(JSON.parse($('#comp-with-fonts-inter').text())).toEqual({ + className: '__className_17e98a', + variable: '__variable_17e98a', + style: { + fontFamily: "'__Inter_17e98a', '__inter-fallback_17e98a'", + fontStyle: 'normal', + fontWeight: 900, + }, + }) + expect(JSON.parse($('#comp-with-fonts-roboto').text())).toEqual({ + className: '__className_72084b', + variable: '__variable_72084b', + style: { + fontFamily: "'__Roboto_72084b', '__roboto-fallback_72084b'", + fontStyle: 'italic', + fontWeight: 100, + }, + }) + }) + }) + + describe('computed styles', () => { + test('page with fonts', async () => { + const browser = await webdriver(next.url, '/with-fonts') + + // _app.js + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#app-open-sans")).fontFamily' + ) + ).toBe('__Open_Sans_bbc724, __open-sans-fallback_bbc724') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#app-open-sans")).fontWeight' + ) + ).toBe('400') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#app-open-sans")).fontStyle' + ) + ).toBe('normal') + + // with-fonts.js + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fonts-open-sans")).fontFamily' + ) + ).toBe('__Open_Sans_bbc724, __open-sans-fallback_bbc724') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fonts-open-sans")).fontWeight' + ) + ).toBe('400') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fonts-open-sans")).fontStyle' + ) + ).toBe('normal') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fonts-open-sans-style")).fontWeight' + ) + ).toBe('400') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fonts-open-sans-style")).fontStyle' + ) + ).toBe('normal') + + // CompWithFonts.js + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-inter")).fontFamily' + ) + ).toBe('__Inter_17e98a, __inter-fallback_17e98a') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-inter")).fontWeight' + ) + ).toBe('900') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-inter")).fontStyle' + ) + ).toBe('normal') + + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-roboto")).fontFamily' + ) + ).toBe('__Roboto_72084b, __roboto-fallback_72084b') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-roboto")).fontWeight' + ) + ).toBe('100') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#comp-with-fonts-roboto")).fontStyle' + ) + ).toBe('italic') + }) + + test('page using variables', async () => { + const browser = await webdriver(next.url, '/variables') + + // Fira Code Variable + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#variables-fira-code")).fontFamily' + ) + ).toBe('__Fira_Code_a1dc08, __fira-code-fallback_a1dc08') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#without-variables-fira-code")).fontFamily' + ) + ).not.toBe('__Fira_Code_a1dc08, __fira-code-fallback_a1dc08') + + // Albert Sant Variable Italic + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#variables-albert-sans-italic")).fontFamily' + ) + ).toBe('__Albert_Sans_2b85d2') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#without-variables-albert-sans-italic")).fontFamily' + ) + ).not.toBe('__Albert_Sans_2b85d2') + + // Inter 900 + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#variables-inter-900")).fontFamily' + ) + ).toBe('__Inter_ea3712, __inter-fallback_ea3712') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#without-variables-inter-900")).fontFamily' + ) + ).not.toBe('__Inter_ea3712, __inter-fallback_ea3712') + + // Roboto 100 Italic + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#variables-roboto-100-italic")).fontFamily' + ) + ).toBe('__Roboto_72084b, __roboto-fallback_72084b') + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#without-variables-roboto-100-italic")).fontFamily' + ) + ).not.toBe('__Roboto_72084b') + }) + + test('page using fallback fonts', async () => { + const browser = await webdriver(next.url, '/with-fallback') + + // .className + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fallback-fonts-classname")).fontFamily' + ) + ).toBe( + '__Open_Sans_bbc724, system-ui, Arial, __open-sans-fallback_bbc724' + ) + + // .style + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fallback-fonts-style")).fontFamily' + ) + ).toBe( + '__Open_Sans_bbc724, system-ui, Arial, __open-sans-fallback_bbc724' + ) + + // .variable + expect( + await browser.eval( + 'getComputedStyle(document.querySelector("#with-fallback-fonts-variable")).fontFamily' + ) + ).toBe( + '__Open_Sans_bbc724, system-ui, Arial, __open-sans-fallback_bbc724' + ) + }) + }) + + describe('preload', () => { + test('page with fonts', async () => { + const html = await renderViaHTTP(next.url, '/with-fonts') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(0) + + expect($('link[as="font"]').length).toBe(2) + // From /_app + expect($('link[as="font"]').get(0).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/0812efcfaefec5ea.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + expect($('link[as="font"]').get(1).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/4f3dcdf40b3ca86d.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + }) + + test('page without fonts', async () => { + const html = await renderViaHTTP(next.url, '/without-fonts') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(0) + + // From _app + expect($('link[as="font"]').length).toBe(1) + expect($('link[as="font"]').get(0).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/0812efcfaefec5ea.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + }) + }) +}) diff --git a/test/e2e/next-font/with-font-declarations-file.test.ts b/test/e2e/next-font/with-font-declarations-file.test.ts new file mode 100644 index 0000000000000..cc0d7d2bf95a0 --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file.test.ts @@ -0,0 +1,105 @@ +import cheerio from 'cheerio' +import { createNext, FileRef } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { renderViaHTTP } from 'next-test-utils' +import { join } from 'path' + +const mockedGoogleFontResponses = require.resolve( + './google-font-mocked-responses.js' +) + +const isDev = (global as any).isNextDev + +describe('@next/font/google with-font-declarations-file', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + pages: new FileRef( + join(__dirname, 'with-font-declarations-file/pages') + ), + components: new FileRef( + join(__dirname, 'with-font-declarations-file/components') + ), + 'fonts.js': new FileRef( + join(__dirname, 'with-font-declarations-file/fonts.js') + ), + 'next.config.js': new FileRef( + join(__dirname, 'with-font-declarations-file/next.config.js') + ), + }, + dependencies: { + '@next/font': '*', + }, + env: { + NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, + }, + }) + }) + afterAll(() => next.destroy()) + + test('preload correct files at /inter', async () => { + const html = await renderViaHTTP(next.url, '/inter') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(0) + + if (isDev) { + // In dev all fonts will be preloaded since it's before DCE + expect($('link[as="font"]').length).toBe(3) + } else { + // Preload + expect($('link[as="font"]').length).toBe(2) + // From /_app + expect($('link[as="font"]').get(0).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/0812efcfaefec5ea.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + // From /inter + expect($('link[as="font"]').get(1).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/4a7f86e553ee7e51.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + } + }) + + test('preload correct files at /roboto', async () => { + const html = await renderViaHTTP(next.url, '/roboto') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(0) + + if (isDev) { + // In dev all fonts will be preloaded since it's before DCE + expect($('link[as="font"]').length).toBe(3) + } else { + // Preload + expect($('link[as="font"]').length).toBe(2) + // From /_app + expect($('link[as="font"]').get(0).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/0812efcfaefec5ea.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + // From /roboto + expect($('link[as="font"]').get(1).attribs).toEqual({ + as: 'font', + crossorigin: 'anonymous', + href: '/_next/static/fonts/9a7e84b4dd095b33.p.woff2', + rel: 'preload', + type: 'font/woff2', + }) + } + }) +}) diff --git a/test/e2e/next-font/with-font-declarations-file/components/roboto-comp.js b/test/e2e/next-font/with-font-declarations-file/components/roboto-comp.js new file mode 100644 index 0000000000000..4c58fcd0c139d --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/components/roboto-comp.js @@ -0,0 +1,10 @@ +import Link from 'next/link' +import { roboto } from '../fonts' + +export default function Roboto() { + return ( + + To inter + + ) +} diff --git a/test/e2e/next-font/with-font-declarations-file/fonts.js b/test/e2e/next-font/with-font-declarations-file/fonts.js new file mode 100644 index 0000000000000..9e82f26c76719 --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/fonts.js @@ -0,0 +1,16 @@ +import { + Open_Sans, + Source_Code_Pro, + Abel, + Inter, + Roboto, +} from '@next/font/google' + +const openSans = Open_Sans() +const sourceCodePro = Source_Code_Pro({ display: 'swap', preload: false }) +const abel = Abel({ variant: '400', display: 'optional', preload: false }) + +const inter = Inter({ display: 'block', preload: true }) +const roboto = Roboto({ variant: '400' }) + +export { openSans, sourceCodePro, abel, inter, roboto } diff --git a/test/e2e/next-font/with-font-declarations-file/next.config.js b/test/e2e/next-font/with-font-declarations-file/next.config.js new file mode 100644 index 0000000000000..6cd855478a746 --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/next.config.js @@ -0,0 +1,9 @@ +module.exports = { + experimental: { + fontLoaders: { + '@next/font/google': { + subsets: ['latin'], + }, + }, + }, +} diff --git a/test/e2e/next-font/with-font-declarations-file/pages/_app.js b/test/e2e/next-font/with-font-declarations-file/pages/_app.js new file mode 100644 index 0000000000000..8aa19db97f4dd --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/pages/_app.js @@ -0,0 +1,15 @@ +import { openSans, sourceCodePro, abel } from '../fonts' + +function MyApp({ Component, pageProps }) { + return ( +
+
+
+ +
+
+
+ ) +} + +export default MyApp diff --git a/test/e2e/next-font/with-font-declarations-file/pages/inter.js b/test/e2e/next-font/with-font-declarations-file/pages/inter.js new file mode 100644 index 0000000000000..7eafc740bd028 --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/pages/inter.js @@ -0,0 +1,10 @@ +import Link from 'next/link' +import { inter } from '../fonts' + +export default function Inter() { + return ( + + To roboto + + ) +} diff --git a/test/e2e/next-font/with-font-declarations-file/pages/roboto.js b/test/e2e/next-font/with-font-declarations-file/pages/roboto.js new file mode 100644 index 0000000000000..85b22d621b1b2 --- /dev/null +++ b/test/e2e/next-font/with-font-declarations-file/pages/roboto.js @@ -0,0 +1,5 @@ +import RobotoComp from '../components/roboto-comp' + +export default function Roboto() { + return +} diff --git a/test/e2e/next-font/without-preloaded-fonts.test.ts b/test/e2e/next-font/without-preloaded-fonts.test.ts new file mode 100644 index 0000000000000..1b8cb32ca03c7 --- /dev/null +++ b/test/e2e/next-font/without-preloaded-fonts.test.ts @@ -0,0 +1,122 @@ +import cheerio from 'cheerio' +import { createNext, FileRef } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { renderViaHTTP } from 'next-test-utils' +import { join } from 'path' + +const mockedGoogleFontResponses = require.resolve( + './google-font-mocked-responses.js' +) + +describe('@next/font/google without-preloaded-fonts without _app', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + 'pages/no-preload.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/pages/no-preload.js') + ), + 'pages/without-fonts.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/pages/without-fonts.js') + ), + 'next.config.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/next.config.js') + ), + }, + dependencies: { + '@next/font': '*', + }, + env: { + NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, + }, + }) + }) + afterAll(() => next.destroy()) + + test('without preload', async () => { + const html = await renderViaHTTP(next.url, '/no-preload') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(1) + expect($('link[rel="preconnect"]').get(0).attribs).toEqual({ + crossorigin: 'anonymous', + href: '/', + rel: 'preconnect', + }) + + // Preload + expect($('link[as="font"]').length).toBe(0) + }) + + test('without fonts', async () => { + const html = await renderViaHTTP(next.url, '/without-fonts') + const $ = cheerio.load(html) + + expect($('link[rel="preconnect"]').length).toBe(0) + expect($('link[as="font"]').length).toBe(0) + }) +}) + +describe('@next/font/google no preloads with _app', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + 'pages/_app.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/pages/_app.js') + ), + 'pages/no-preload.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/pages/no-preload.js') + ), + 'pages/without-fonts.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/pages/without-fonts.js') + ), + 'next.config.js': new FileRef( + join(__dirname, 'without-preloaded-fonts/next.config.js') + ), + }, + dependencies: { + '@next/font': '*', + }, + env: { + NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, + }, + }) + }) + afterAll(() => next.destroy()) + + test('without preload', async () => { + const html = await renderViaHTTP(next.url, '/no-preload') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(1) + expect($('link[rel="preconnect"]').get(0).attribs).toEqual({ + crossorigin: 'anonymous', + href: '/', + rel: 'preconnect', + }) + + // Preload + expect($('link[as="font"]').length).toBe(0) + }) + + test('without fonts', async () => { + const html = await renderViaHTTP(next.url, '/without-fonts') + const $ = cheerio.load(html) + + // Preconnect + expect($('link[rel="preconnect"]').length).toBe(1) + expect($('link[rel="preconnect"]').get(0).attribs).toEqual({ + crossorigin: 'anonymous', + href: '/', + rel: 'preconnect', + }) + + // Preload + expect($('link[as="font"]').length).toBe(0) + }) +}) diff --git a/test/e2e/next-font/without-preloaded-fonts/next.config.js b/test/e2e/next-font/without-preloaded-fonts/next.config.js new file mode 100644 index 0000000000000..6cd855478a746 --- /dev/null +++ b/test/e2e/next-font/without-preloaded-fonts/next.config.js @@ -0,0 +1,9 @@ +module.exports = { + experimental: { + fontLoaders: { + '@next/font/google': { + subsets: ['latin'], + }, + }, + }, +} diff --git a/test/e2e/next-font/without-preloaded-fonts/pages/_app.js b/test/e2e/next-font/without-preloaded-fonts/pages/_app.js new file mode 100644 index 0000000000000..86f596bdb327c --- /dev/null +++ b/test/e2e/next-font/without-preloaded-fonts/pages/_app.js @@ -0,0 +1,12 @@ +import { Abel } from '@next/font/google' +const abel = Abel({ variant: '400', display: 'optional', preload: false }) + +function MyApp({ Component, pageProps }) { + return ( +
+ +
+ ) +} + +export default MyApp diff --git a/test/e2e/next-font/without-preloaded-fonts/pages/no-preload.js b/test/e2e/next-font/without-preloaded-fonts/pages/no-preload.js new file mode 100644 index 0000000000000..accacef22204c --- /dev/null +++ b/test/e2e/next-font/without-preloaded-fonts/pages/no-preload.js @@ -0,0 +1,6 @@ +import { Abel } from '@next/font/google' +const abel = Abel({ variant: '400', display: 'optional', preload: false }) + +export default function NoPreload() { + return

Hello world

+} diff --git a/test/e2e/next-font/without-preloaded-fonts/pages/without-fonts.js b/test/e2e/next-font/without-preloaded-fonts/pages/without-fonts.js new file mode 100644 index 0000000000000..4e9a1aaafe12c --- /dev/null +++ b/test/e2e/next-font/without-preloaded-fonts/pages/without-fonts.js @@ -0,0 +1,3 @@ +export default function WithoutFonts() { + return

Hello world

+} diff --git a/test/unit/google-font-loader.test.ts b/test/unit/google-font-loader.test.ts new file mode 100644 index 0000000000000..8c73f84a49d25 --- /dev/null +++ b/test/unit/google-font-loader.test.ts @@ -0,0 +1,334 @@ +import loader from '@next/font/google/loader' +import fetch from 'next/dist/compiled/node-fetch' + +jest.mock('next/dist/compiled/node-fetch') + +describe('@next/font/google loader', () => { + afterEach(() => { + jest.resetAllMocks() + }) + + describe('URL from options', () => { + test.each([ + [ + 'Inter', + {}, + 'https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=optional', + ], + [ + 'Inter', + { variant: '400' }, + 'https://fonts.googleapis.com/css2?family=Inter:wght@400&display=optional', + ], + [ + 'Inter', + { variant: '900', display: 'block' }, + 'https://fonts.googleapis.com/css2?family=Inter:wght@900&display=block', + ], + [ + 'Source_Sans_Pro', + { variant: '900', display: 'auto' }, + 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&display=auto', + ], + [ + 'Source_Sans_Pro', + { variant: '200-italic' }, + 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@1,200&display=optional', + ], + [ + 'Roboto_Flex', + { display: 'swap' }, + 'https://fonts.googleapis.com/css2?family=Roboto+Flex:wght@100..1000&display=swap', + ], + [ + 'Roboto_Flex', + { display: 'fallback', variant: 'variable', axes: ['opsz'] }, + 'https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=fallback', + ], + [ + 'Roboto_Flex', + { + display: 'optional', + axes: ['YTUC', 'slnt', 'wdth', 'opsz', 'XTRA', 'YTAS'], + }, + 'https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,slnt,wdth,wght,XTRA,YTAS,YTUC@8..144,-10..0,25..151,100..1000,323..603,649..854,528..760&display=optional', + ], + [ + 'Oooh_Baby', + { variant: '400' }, + 'https://fonts.googleapis.com/css2?family=Oooh+Baby:wght@400&display=optional', + ], + [ + 'Albert_Sans', + { variant: 'variable-italic' }, + 'https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@1,100..900&display=optional', + ], + [ + 'Fraunces', + { variant: 'variable-italic', axes: ['WONK', 'opsz', 'SOFT'] }, + 'https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@1,9..144,100..900,0..100,0..1&display=optional', + ], + ])('%s', async (functionName: string, data: any, url: string) => { + fetch.mockResolvedValue({ + ok: true, + text: async () => 'OK', + }) + const { css } = await loader({ + functionName, + data: [{ adjustFontFallback: false, ...data }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + expect(css).toBe('OK') + expect(fetch).toHaveBeenCalledTimes(1) + expect(fetch).toHaveBeenCalledWith(url, expect.any(Object)) + }) + }) + + describe('Fallback fonts', () => { + test('Inter', async () => { + fetch.mockResolvedValue({ + ok: true, + text: async () => '', + }) + const { css, fallbackFonts } = await loader({ + functionName: 'Inter', + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + expect(css).toMatchInlineSnapshot(` +" + @font-face { + font-family: \\"inter-fallback\\"; + ascent-override: 96.88%; + descent-override: 24.15%; + line-gap-override: 0.00%; + src: local(\\"Arial\\"); + } + " +`) + expect(fallbackFonts).toBeUndefined() + }) + + test('Source Code Pro', async () => { + fetch.mockResolvedValue({ + ok: true, + text: async () => '', + }) + const { css, fallbackFonts } = await loader({ + functionName: 'Source_Code_Pro', + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + expect(css).toMatchInlineSnapshot(` +" + @font-face { + font-family: \\"source-code-pro-fallback\\"; + ascent-override: 98.40%; + descent-override: 27.30%; + line-gap-override: 0.00%; + src: local(\\"Arial\\"); + } + " +`) + expect(fallbackFonts).toBeUndefined() + }) + + test('Fraunces', async () => { + fetch.mockResolvedValue({ + ok: true, + text: async () => '', + }) + const { css, fallbackFonts } = await loader({ + functionName: 'Fraunces', + data: [{ fallback: ['Abc', 'Def'] }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + expect(css).toMatchInlineSnapshot(` +" + @font-face { + font-family: \\"fraunces-fallback\\"; + ascent-override: 97.80%; + descent-override: 25.50%; + line-gap-override: 0.00%; + src: local(\\"Times New Roman\\"); + } + " +`) + expect(fallbackFonts).toEqual(['Abc', 'Def']) + }) + + test('adjustFontFallback disabled', async () => { + fetch.mockResolvedValue({ + ok: true, + text: async () => '', + }) + const { css, fallbackFonts } = await loader({ + functionName: 'Inter', + data: [{ adjustFontFallback: false, fallback: ['system-ui', 'Arial'] }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + expect(css).toBe('') + expect(fallbackFonts).toEqual(['system-ui', 'Arial']) + }) + }) + + describe('Errors', () => { + test('Failed to fetch', async () => { + fetch.mockResolvedValue({ + ok: false, + }) + + await expect( + loader({ + functionName: 'Inter', + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Failed to fetch font \`Inter\`. + URL: https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=optional" + `) + }) + + test('Missing config with subsets', async () => { + await expect( + loader({ + functionName: 'Inter', + data: [], + config: undefined, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Please specify subsets for \`@next/font/google\` in your \`next.config.js\`"` + ) + }) + + test('Missing function name', async () => { + await expect( + loader({ + functionName: '', // default import + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"@next/font/google has no default export"` + ) + }) + + test('Unknown font', async () => { + await expect( + loader({ + functionName: 'Unknown_Font', + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unknown font \`Unknown Font\`"` + ) + }) + + test('Unknown variant', async () => { + await expect( + loader({ + functionName: 'Inter', + data: [{ variant: '123' }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Unknown variant \`123\` for font \`Inter\`. + Available variants: \`100\`, \`200\`, \`300\`, \`400\`, \`500\`, \`600\`, \`700\`, \`800\`, \`900\`, \`variable\`" + `) + }) + + test('Missing variant for non variable font', async () => { + await expect( + loader({ + functionName: 'Abel', + data: [], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Missing variant for font \`Abel\`. + Available variants: \`400\`" + `) + }) + + test('Invalid display value', async () => { + await expect( + loader({ + functionName: 'Inter', + data: [{ display: 'invalid' }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Invalid display value \`invalid\` for font \`Inter\`. + Available display values: \`auto\`, \`block\`, \`swap\`, \`fallback\`, \`optional\`" + `) + }) + + test('Setting axes on non variable font', async () => { + await expect( + loader({ + functionName: 'Abel', + data: [{ variant: '400', axes: [] }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Axes can only be defined for variable fonts"` + ) + }) + + test('Setting axes on font without definable axes', async () => { + await expect( + loader({ + functionName: 'Lora', + data: [{ axes: [] }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Font \`Lora\` has no definable \`axes\`"` + ) + }) + + test('Invalid axes value', async () => { + await expect( + loader({ + functionName: 'Inter', + data: [{ axes: true }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Invalid axes value for font \`Inter\`, expected an array of axes. + Available axes: \`slnt\`" + `) + }) + + test('Invalid value in axes array', async () => { + await expect( + loader({ + functionName: 'Roboto_Flex', + data: [{ axes: ['INVALID'] }], + config: { subsets: [] }, + emitFontFile: jest.fn(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(` + "Invalid axes value \`INVALID\` for font \`Roboto Flex\`. + Available axes: \`GRAD\`, \`XTRA\`, \`YOPQ\`, \`YTAS\`, \`YTDE\`, \`YTFI\`, \`YTLC\`, \`YTUC\`, \`opsz\`, \`slnt\`, \`wdth\`" + `) + }) + }) +}) From 1b5679a73dfafec5f4492148196dd1d98e56a4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 14:26:54 +0200 Subject: [PATCH 08/13] temp add font package --- package.json | 1 + packages/font/google/index.d.ts | 1 + packages/font/google/index.js | 1 + packages/font/google/loader.d.ts | 1 + packages/font/google/loader.js | 1 + packages/font/package.json | 19 + packages/font/src/google/font-data.json | 10208 +++++++++++++++++ packages/font/src/google/index.ts | 13243 ++++++++++++++++++++++ packages/font/src/google/loader.ts | 121 + packages/font/src/google/utils.ts | 189 + packages/font/tsconfig.json | 13 + packages/next/server/font-utils.ts | 2 +- pnpm-lock.yaml | 8 +- scripts/update-google-fonts.js | 74 + 14 files changed, 23878 insertions(+), 4 deletions(-) create mode 100644 packages/font/google/index.d.ts create mode 100644 packages/font/google/index.js create mode 100644 packages/font/google/loader.d.ts create mode 100644 packages/font/google/loader.js create mode 100644 packages/font/package.json create mode 100644 packages/font/src/google/font-data.json create mode 100644 packages/font/src/google/index.ts create mode 100644 packages/font/src/google/loader.ts create mode 100644 packages/font/src/google/utils.ts create mode 100644 packages/font/tsconfig.json create mode 100644 scripts/update-google-fonts.js diff --git a/package.json b/package.json index 51091d1b20cfa..d1c5ea07a022c 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "@next/bundle-analyzer": "workspace:*", "@next/env": "workspace:*", "@next/eslint-plugin-next": "workspace:*", + "@next/font": "workspace:*", "@next/mdx": "workspace:*", "@next/plugin-storybook": "workspace:*", "@next/polyfill-module": "workspace:*", diff --git a/packages/font/google/index.d.ts b/packages/font/google/index.d.ts new file mode 100644 index 0000000000000..f637355cefaef --- /dev/null +++ b/packages/font/google/index.d.ts @@ -0,0 +1 @@ +export * from '../dist/google' diff --git a/packages/font/google/index.js b/packages/font/google/index.js new file mode 100644 index 0000000000000..207253086b485 --- /dev/null +++ b/packages/font/google/index.js @@ -0,0 +1 @@ +throw new Error('@next/font/google is not correctly setup') diff --git a/packages/font/google/loader.d.ts b/packages/font/google/loader.d.ts new file mode 100644 index 0000000000000..4de1cb05c57cd --- /dev/null +++ b/packages/font/google/loader.d.ts @@ -0,0 +1 @@ +export { default } from '../dist/google/loader' diff --git a/packages/font/google/loader.js b/packages/font/google/loader.js new file mode 100644 index 0000000000000..87dd8ad728f24 --- /dev/null +++ b/packages/font/google/loader.js @@ -0,0 +1 @@ +module.exports = require('../dist/google/loader') diff --git a/packages/font/package.json b/packages/font/package.json new file mode 100644 index 0000000000000..8e811f6b72c43 --- /dev/null +++ b/packages/font/package.json @@ -0,0 +1,19 @@ +{ + "name": "@next/font", + "version": "12.2.6-canary.10", + "repository": { + "url": "vercel/next.js", + "directory": "packages/font" + }, + "files": [ + "dist", + "google" + ], + "license": "MIT", + "scripts": { + "build": "rm -rf dist && tsc -d -p tsconfig.json", + "prepublishOnly": "cd ../../ && turbo run build", + "dev": "tsc -d -w -p tsconfig.json", + "typescript": "tsec --noEmit -p tsconfig.json" + } +} diff --git a/packages/font/src/google/font-data.json b/packages/font/src/google/font-data.json new file mode 100644 index 0000000000000..619037601dd1e --- /dev/null +++ b/packages/font/src/google/font-data.json @@ -0,0 +1,10208 @@ +{ + "ABeeZee": { + "variants": ["400", "400-italic"] + }, + "Abel": { + "variants": ["400"] + }, + "Abhaya Libre": { + "variants": ["400", "500", "600", "700", "800"] + }, + "Aboreto": { + "variants": ["400"] + }, + "Abril Fatface": { + "variants": ["400"] + }, + "Aclonica": { + "variants": ["400"] + }, + "Acme": { + "variants": ["400"] + }, + "Actor": { + "variants": ["400"] + }, + "Adamina": { + "variants": ["400"] + }, + "Advent Pro": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "Aguafina Script": { + "variants": ["400"] + }, + "Akaya Kanadaka": { + "variants": ["400"] + }, + "Akaya Telivigala": { + "variants": ["400"] + }, + "Akronim": { + "variants": ["400"] + }, + "Akshar": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Aladin": { + "variants": ["400"] + }, + "Alata": { + "variants": ["400"] + }, + "Alatsi": { + "variants": ["400"] + }, + "Albert Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Aldrich": { + "variants": ["400"] + }, + "Alef": { + "variants": ["400", "700"] + }, + "Alegreya": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Alegreya SC": { + "variants": [ + "400", + "500", + "700", + "800", + "900", + "400-italic", + "500-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Alegreya Sans": { + "variants": [ + "100", + "300", + "400", + "500", + "700", + "800", + "900", + "100-italic", + "300-italic", + "400-italic", + "500-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Alegreya Sans SC": { + "variants": [ + "100", + "300", + "400", + "500", + "700", + "800", + "900", + "100-italic", + "300-italic", + "400-italic", + "500-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Aleo": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Alex Brush": { + "variants": ["400"] + }, + "Alfa Slab One": { + "variants": ["400"] + }, + "Alice": { + "variants": ["400"] + }, + "Alike": { + "variants": ["400"] + }, + "Alike Angular": { + "variants": ["400"] + }, + "Allan": { + "variants": ["400", "700"] + }, + "Allerta": { + "variants": ["400"] + }, + "Allerta Stencil": { + "variants": ["400"] + }, + "Allison": { + "variants": ["400"] + }, + "Allura": { + "variants": ["400"] + }, + "Almarai": { + "variants": ["300", "400", "700", "800"] + }, + "Almendra": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Almendra Display": { + "variants": ["400"] + }, + "Almendra SC": { + "variants": ["400"] + }, + "Alumni Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Alumni Sans Collegiate One": { + "variants": ["400", "400-italic"] + }, + "Alumni Sans Inline One": { + "variants": ["400", "400-italic"] + }, + "Alumni Sans Pinstripe": { + "variants": ["400", "400-italic"] + }, + "Amarante": { + "variants": ["400"] + }, + "Amaranth": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Amatic SC": { + "variants": ["400", "700"] + }, + "Amethysta": { + "variants": ["400"] + }, + "Amiko": { + "variants": ["400", "600", "700"] + }, + "Amiri": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Amiri Quran": { + "variants": ["400"] + }, + "Amita": { + "variants": ["400", "700"] + }, + "Anaheim": { + "variants": ["400"] + }, + "Andada Pro": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 840, + "defaultValue": 400 + } + ] + }, + "Andika": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Anek Bangla": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Devanagari": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Gujarati": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Gurmukhi": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Kannada": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Latin": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Malayalam": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Odia": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Tamil": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Anek Telugu": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Angkor": { + "variants": ["400"] + }, + "Annie Use Your Telescope": { + "variants": ["400"] + }, + "Anonymous Pro": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Antic": { + "variants": ["400"] + }, + "Antic Didone": { + "variants": ["400"] + }, + "Antic Slab": { + "variants": ["400"] + }, + "Anton": { + "variants": ["400"] + }, + "Antonio": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Anybody": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 50, + "max": 150, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Arapey": { + "variants": ["400", "400-italic"] + }, + "Arbutus": { + "variants": ["400"] + }, + "Arbutus Slab": { + "variants": ["400"] + }, + "Architects Daughter": { + "variants": ["400"] + }, + "Archivo": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 62, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Archivo Black": { + "variants": ["400"] + }, + "Archivo Narrow": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Are You Serious": { + "variants": ["400"] + }, + "Aref Ruqaa": { + "variants": ["400", "700"] + }, + "Aref Ruqaa Ink": { + "variants": ["400", "700"] + }, + "Arima": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Arima Madurai": { + "variants": ["100", "200", "300", "400", "500", "700", "800", "900"] + }, + "Arimo": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Arizonia": { + "variants": ["400"] + }, + "Armata": { + "variants": ["400"] + }, + "Arsenal": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Artifika": { + "variants": ["400"] + }, + "Arvo": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Arya": { + "variants": ["400", "700"] + }, + "Asap": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Asap Condensed": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Asar": { + "variants": ["400"] + }, + "Asset": { + "variants": ["400"] + }, + "Assistant": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Astloch": { + "variants": ["400", "700"] + }, + "Asul": { + "variants": ["400", "700"] + }, + "Athiti": { + "variants": ["200", "300", "400", "500", "600", "700"] + }, + "Atkinson Hyperlegible": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Atma": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Atomic Age": { + "variants": ["400"] + }, + "Aubrey": { + "variants": ["400"] + }, + "Audiowide": { + "variants": ["400"] + }, + "Autour One": { + "variants": ["400"] + }, + "Average": { + "variants": ["400"] + }, + "Average Sans": { + "variants": ["400"] + }, + "Averia Gruesa Libre": { + "variants": ["400"] + }, + "Averia Libre": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Averia Sans Libre": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Averia Serif Libre": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Azeret Mono": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "B612": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "B612 Mono": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "BIZ UDGothic": { + "variants": ["400", "700"] + }, + "BIZ UDMincho": { + "variants": ["400"] + }, + "BIZ UDPGothic": { + "variants": ["400", "700"] + }, + "BIZ UDPMincho": { + "variants": ["400"] + }, + "Babylonica": { + "variants": ["400"] + }, + "Bad Script": { + "variants": ["400"] + }, + "Bahiana": { + "variants": ["400"] + }, + "Bahianita": { + "variants": ["400"] + }, + "Bai Jamjuree": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Bakbak One": { + "variants": ["400"] + }, + "Ballet": { + "variants": ["400", "variable"], + "axes": [ + { + "tag": "opsz", + "min": 16, + "max": 72, + "defaultValue": 16 + } + ] + }, + "Baloo 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Bhai 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Bhaijaan 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Bhaina 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Chettan 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Da 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Paaji 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Tamma 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Tammudu 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Baloo Thambi 2": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Balsamiq Sans": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Balthazar": { + "variants": ["400"] + }, + "Bangers": { + "variants": ["400"] + }, + "Barlow": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Barlow Condensed": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Barlow Semi Condensed": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Barriecito": { + "variants": ["400"] + }, + "Barrio": { + "variants": ["400"] + }, + "Basic": { + "variants": ["400"] + }, + "Baskervville": { + "variants": ["400", "400-italic"] + }, + "Battambang": { + "variants": ["100", "300", "400", "700", "900"] + }, + "Baumans": { + "variants": ["400"] + }, + "Bayon": { + "variants": ["400"] + }, + "Be Vietnam Pro": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Beau Rivage": { + "variants": ["400"] + }, + "Bebas Neue": { + "variants": ["400"] + }, + "Belgrano": { + "variants": ["400"] + }, + "Bellefair": { + "variants": ["400"] + }, + "Belleza": { + "variants": ["400"] + }, + "Bellota": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Bellota Text": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "BenchNine": { + "variants": ["300", "400", "700"] + }, + "Benne": { + "variants": ["400"] + }, + "Bentham": { + "variants": ["400"] + }, + "Berkshire Swash": { + "variants": ["400"] + }, + "Besley": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Beth Ellen": { + "variants": ["400"] + }, + "Bevan": { + "variants": ["400", "400-italic"] + }, + "BhuTuka Expanded One": { + "variants": ["400"] + }, + "Big Shoulders Display": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Big Shoulders Inline Display": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Big Shoulders Inline Text": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Big Shoulders Stencil Display": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Big Shoulders Stencil Text": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Big Shoulders Text": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Bigelow Rules": { + "variants": ["400"] + }, + "Bigshot One": { + "variants": ["400"] + }, + "Bilbo": { + "variants": ["400"] + }, + "Bilbo Swash Caps": { + "variants": ["400"] + }, + "BioRhyme": { + "variants": ["200", "300", "400", "700", "800"] + }, + "BioRhyme Expanded": { + "variants": ["200", "300", "400", "700", "800"] + }, + "Birthstone": { + "variants": ["400"] + }, + "Birthstone Bounce": { + "variants": ["400", "500"] + }, + "Biryani": { + "variants": ["200", "300", "400", "600", "700", "800", "900"] + }, + "Bitter": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Black And White Picture": { + "variants": ["400"] + }, + "Black Han Sans": { + "variants": ["400"] + }, + "Black Ops One": { + "variants": ["400"] + }, + "Blaka": { + "variants": ["400"] + }, + "Blaka Hollow": { + "variants": ["400"] + }, + "Blaka Ink": { + "variants": ["400"] + }, + "Blinker": { + "variants": ["100", "200", "300", "400", "600", "700", "800", "900"] + }, + "Bodoni Moda": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 6, + "max": 96, + "defaultValue": 11 + }, + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Bokor": { + "variants": ["400"] + }, + "Bona Nova": { + "variants": ["400", "700", "400-italic"] + }, + "Bonbon": { + "variants": ["400"] + }, + "Bonheur Royale": { + "variants": ["400"] + }, + "Boogaloo": { + "variants": ["400"] + }, + "Bowlby One": { + "variants": ["400"] + }, + "Bowlby One SC": { + "variants": ["400"] + }, + "Brawler": { + "variants": ["400", "700"] + }, + "Bree Serif": { + "variants": ["400"] + }, + "Brygada 1918": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Bubblegum Sans": { + "variants": ["400"] + }, + "Bubbler One": { + "variants": ["400"] + }, + "Buda": { + "variants": ["300"] + }, + "Buenard": { + "variants": ["400", "700"] + }, + "Bungee": { + "variants": ["400"] + }, + "Bungee Hairline": { + "variants": ["400"] + }, + "Bungee Inline": { + "variants": ["400"] + }, + "Bungee Outline": { + "variants": ["400"] + }, + "Bungee Shade": { + "variants": ["400"] + }, + "Bungee Spice": { + "variants": ["400"] + }, + "Butcherman": { + "variants": ["400"] + }, + "Butterfly Kids": { + "variants": ["400"] + }, + "Cabin": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Cabin Condensed": { + "variants": ["400", "500", "600", "700"] + }, + "Cabin Sketch": { + "variants": ["400", "700"] + }, + "Caesar Dressing": { + "variants": ["400"] + }, + "Cagliostro": { + "variants": ["400"] + }, + "Cairo": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Cairo Play": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "slnt", + "min": -11, + "max": 11, + "defaultValue": 0 + }, + { + "tag": "wght", + "min": 200, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Caladea": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Calistoga": { + "variants": ["400"] + }, + "Calligraffitti": { + "variants": ["400"] + }, + "Cambay": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Cambo": { + "variants": ["400"] + }, + "Candal": { + "variants": ["400"] + }, + "Cantarell": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Cantata One": { + "variants": ["400"] + }, + "Cantora One": { + "variants": ["400"] + }, + "Capriola": { + "variants": ["400"] + }, + "Caramel": { + "variants": ["400"] + }, + "Carattere": { + "variants": ["400"] + }, + "Cardo": { + "variants": ["400", "700", "400-italic"] + }, + "Carme": { + "variants": ["400"] + }, + "Carrois Gothic": { + "variants": ["400"] + }, + "Carrois Gothic SC": { + "variants": ["400"] + }, + "Carter One": { + "variants": ["400"] + }, + "Castoro": { + "variants": ["400", "400-italic"] + }, + "Catamaran": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Caudex": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Caveat": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Caveat Brush": { + "variants": ["400"] + }, + "Cedarville Cursive": { + "variants": ["400"] + }, + "Ceviche One": { + "variants": ["400"] + }, + "Chakra Petch": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Changa": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Changa One": { + "variants": ["400", "400-italic"] + }, + "Chango": { + "variants": ["400"] + }, + "Charis SIL": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Charm": { + "variants": ["400", "700"] + }, + "Charmonman": { + "variants": ["400", "700"] + }, + "Chathura": { + "variants": ["100", "300", "400", "700", "800"] + }, + "Chau Philomene One": { + "variants": ["400", "400-italic"] + }, + "Chela One": { + "variants": ["400"] + }, + "Chelsea Market": { + "variants": ["400"] + }, + "Chenla": { + "variants": ["400"] + }, + "Cherish": { + "variants": ["400"] + }, + "Cherry Cream Soda": { + "variants": ["400"] + }, + "Cherry Swash": { + "variants": ["400", "700"] + }, + "Chewy": { + "variants": ["400"] + }, + "Chicle": { + "variants": ["400"] + }, + "Chilanka": { + "variants": ["400"] + }, + "Chivo": { + "variants": [ + "300", + "400", + "700", + "900", + "300-italic", + "400-italic", + "700-italic", + "900-italic" + ] + }, + "Chonburi": { + "variants": ["400"] + }, + "Cinzel": { + "variants": ["400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Cinzel Decorative": { + "variants": ["400", "700", "900"] + }, + "Clicker Script": { + "variants": ["400"] + }, + "Coda": { + "variants": ["400", "800"] + }, + "Coda Caption": { + "variants": ["800"] + }, + "Codystar": { + "variants": ["300", "400"] + }, + "Coiny": { + "variants": ["400"] + }, + "Combo": { + "variants": ["400"] + }, + "Comfortaa": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Comforter": { + "variants": ["400"] + }, + "Comforter Brush": { + "variants": ["400"] + }, + "Comic Neue": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Coming Soon": { + "variants": ["400"] + }, + "Commissioner": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Concert One": { + "variants": ["400"] + }, + "Condiment": { + "variants": ["400"] + }, + "Content": { + "variants": ["400", "700"] + }, + "Contrail One": { + "variants": ["400"] + }, + "Convergence": { + "variants": ["400"] + }, + "Cookie": { + "variants": ["400"] + }, + "Copse": { + "variants": ["400"] + }, + "Corben": { + "variants": ["400", "700"] + }, + "Corinthia": { + "variants": ["400", "700"] + }, + "Cormorant": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Cormorant Garamond": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Cormorant Infant": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Cormorant SC": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Cormorant Unicase": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Cormorant Upright": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Courgette": { + "variants": ["400"] + }, + "Courier Prime": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Cousine": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Coustard": { + "variants": ["400", "900"] + }, + "Covered By Your Grace": { + "variants": ["400"] + }, + "Crafty Girls": { + "variants": ["400"] + }, + "Creepster": { + "variants": ["400"] + }, + "Crete Round": { + "variants": ["400", "400-italic"] + }, + "Crimson Pro": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Crimson Text": { + "variants": ["400", "600", "700", "400-italic", "600-italic", "700-italic"] + }, + "Croissant One": { + "variants": ["400"] + }, + "Crushed": { + "variants": ["400"] + }, + "Cuprum": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Cute Font": { + "variants": ["400"] + }, + "Cutive": { + "variants": ["400"] + }, + "Cutive Mono": { + "variants": ["400"] + }, + "DM Mono": { + "variants": ["300", "400", "500", "300-italic", "400-italic", "500-italic"] + }, + "DM Sans": { + "variants": ["400", "500", "700", "400-italic", "500-italic", "700-italic"] + }, + "DM Serif Display": { + "variants": ["400", "400-italic"] + }, + "DM Serif Text": { + "variants": ["400", "400-italic"] + }, + "Damion": { + "variants": ["400"] + }, + "Dancing Script": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Dangrek": { + "variants": ["400"] + }, + "Darker Grotesque": { + "variants": ["300", "400", "500", "600", "700", "800", "900"] + }, + "David Libre": { + "variants": ["400", "500", "700"] + }, + "Dawning of a New Day": { + "variants": ["400"] + }, + "Days One": { + "variants": ["400"] + }, + "Dekko": { + "variants": ["400"] + }, + "Dela Gothic One": { + "variants": ["400"] + }, + "Delius": { + "variants": ["400"] + }, + "Delius Swash Caps": { + "variants": ["400"] + }, + "Delius Unicase": { + "variants": ["400", "700"] + }, + "Della Respira": { + "variants": ["400"] + }, + "Denk One": { + "variants": ["400"] + }, + "Devonshire": { + "variants": ["400"] + }, + "Dhurjati": { + "variants": ["400"] + }, + "Didact Gothic": { + "variants": ["400"] + }, + "Diplomata": { + "variants": ["400"] + }, + "Diplomata SC": { + "variants": ["400"] + }, + "Do Hyeon": { + "variants": ["400"] + }, + "Dokdo": { + "variants": ["400"] + }, + "Domine": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Donegal One": { + "variants": ["400"] + }, + "Dongle": { + "variants": ["300", "400", "700"] + }, + "Doppio One": { + "variants": ["400"] + }, + "Dorsa": { + "variants": ["400"] + }, + "Dosis": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "DotGothic16": { + "variants": ["400"] + }, + "Dr Sugiyama": { + "variants": ["400"] + }, + "Duru Sans": { + "variants": ["400"] + }, + "DynaPuff": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Dynalight": { + "variants": ["400"] + }, + "EB Garamond": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Eagle Lake": { + "variants": ["400"] + }, + "East Sea Dokdo": { + "variants": ["400"] + }, + "Eater": { + "variants": ["400"] + }, + "Economica": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Eczar": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Edu NSW ACT Foundation": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Edu QLD Beginner": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Edu SA Beginner": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Edu TAS Beginner": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Edu VIC WA NT Beginner": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "El Messiri": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Electrolize": { + "variants": ["400"] + }, + "Elsie": { + "variants": ["400", "900"] + }, + "Elsie Swash Caps": { + "variants": ["400", "900"] + }, + "Emblema One": { + "variants": ["400"] + }, + "Emilys Candy": { + "variants": ["400"] + }, + "Encode Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Encode Sans Condensed": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Encode Sans Expanded": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Encode Sans SC": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Encode Sans Semi Condensed": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Encode Sans Semi Expanded": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Engagement": { + "variants": ["400"] + }, + "Englebert": { + "variants": ["400"] + }, + "Enriqueta": { + "variants": ["400", "500", "600", "700"] + }, + "Ephesis": { + "variants": ["400"] + }, + "Epilogue": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Erica One": { + "variants": ["400"] + }, + "Esteban": { + "variants": ["400"] + }, + "Estonia": { + "variants": ["400"] + }, + "Euphoria Script": { + "variants": ["400"] + }, + "Ewert": { + "variants": ["400"] + }, + "Exo": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Exo 2": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Expletus Sans": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Explora": { + "variants": ["400"] + }, + "Fahkwang": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Familjen Grotesk": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Fanwood Text": { + "variants": ["400", "400-italic"] + }, + "Farro": { + "variants": ["300", "400", "500", "700"] + }, + "Farsan": { + "variants": ["400"] + }, + "Fascinate": { + "variants": ["400"] + }, + "Fascinate Inline": { + "variants": ["400"] + }, + "Faster One": { + "variants": ["400"] + }, + "Fasthand": { + "variants": ["400"] + }, + "Fauna One": { + "variants": ["400"] + }, + "Faustina": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Federant": { + "variants": ["400"] + }, + "Federo": { + "variants": ["400"] + }, + "Felipa": { + "variants": ["400"] + }, + "Fenix": { + "variants": ["400"] + }, + "Festive": { + "variants": ["400"] + }, + "Figtree": { + "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Finger Paint": { + "variants": ["400"] + }, + "Finlandica": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Fira Code": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Fira Mono": { + "variants": ["400", "500", "700"] + }, + "Fira Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Fira Sans Condensed": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Fira Sans Extra Condensed": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Fjalla One": { + "variants": ["400"] + }, + "Fjord One": { + "variants": ["400"] + }, + "Flamenco": { + "variants": ["300", "400"] + }, + "Flavors": { + "variants": ["400"] + }, + "Fleur De Leah": { + "variants": ["400"] + }, + "Flow Block": { + "variants": ["400"] + }, + "Flow Circular": { + "variants": ["400"] + }, + "Flow Rounded": { + "variants": ["400"] + }, + "Fondamento": { + "variants": ["400", "400-italic"] + }, + "Fontdiner Swanky": { + "variants": ["400"] + }, + "Forum": { + "variants": ["400"] + }, + "Francois One": { + "variants": ["400"] + }, + "Frank Ruhl Libre": { + "variants": ["300", "400", "500", "700", "900"] + }, + "Fraunces": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "SOFT", + "min": 0, + "max": 100, + "defaultValue": 0 + }, + { + "tag": "WONK", + "min": 0, + "max": 1, + "defaultValue": 0 + }, + { + "tag": "opsz", + "min": 9, + "max": 144, + "defaultValue": 14 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Freckle Face": { + "variants": ["400"] + }, + "Fredericka the Great": { + "variants": ["400"] + }, + "Fredoka": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Fredoka One": { + "variants": ["400"] + }, + "Freehand": { + "variants": ["400"] + }, + "Fresca": { + "variants": ["400"] + }, + "Frijole": { + "variants": ["400"] + }, + "Fruktur": { + "variants": ["400", "400-italic"] + }, + "Fugaz One": { + "variants": ["400"] + }, + "Fuggles": { + "variants": ["400"] + }, + "Fuzzy Bubbles": { + "variants": ["400", "700"] + }, + "GFS Didot": { + "variants": ["400"] + }, + "GFS Neohellenic": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Gabriela": { + "variants": ["400"] + }, + "Gaegu": { + "variants": ["300", "400", "700"] + }, + "Gafata": { + "variants": ["400"] + }, + "Galada": { + "variants": ["400"] + }, + "Galdeano": { + "variants": ["400"] + }, + "Galindo": { + "variants": ["400"] + }, + "Gamja Flower": { + "variants": ["400"] + }, + "Gantari": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Gayathri": { + "variants": ["100", "400", "700"] + }, + "Gelasio": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Gemunu Libre": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Genos": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Gentium Book Basic": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Gentium Book Plus": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Gentium Plus": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Geo": { + "variants": ["400", "400-italic"] + }, + "Georama": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 150, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Geostar": { + "variants": ["400"] + }, + "Geostar Fill": { + "variants": ["400"] + }, + "Germania One": { + "variants": ["400"] + }, + "Gideon Roman": { + "variants": ["400"] + }, + "Gidugu": { + "variants": ["400"] + }, + "Gilda Display": { + "variants": ["400"] + }, + "Girassol": { + "variants": ["400"] + }, + "Give You Glory": { + "variants": ["400"] + }, + "Glass Antiqua": { + "variants": ["400"] + }, + "Glegoo": { + "variants": ["400", "700"] + }, + "Gloria Hallelujah": { + "variants": ["400"] + }, + "Glory": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Gluten": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "slnt", + "min": -13, + "max": 13, + "defaultValue": 0 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Goblin One": { + "variants": ["400"] + }, + "Gochi Hand": { + "variants": ["400"] + }, + "Goldman": { + "variants": ["400", "700"] + }, + "Gorditas": { + "variants": ["400", "700"] + }, + "Gothic A1": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Gotu": { + "variants": ["400"] + }, + "Goudy Bookletter 1911": { + "variants": ["400"] + }, + "Gowun Batang": { + "variants": ["400", "700"] + }, + "Gowun Dodum": { + "variants": ["400"] + }, + "Graduate": { + "variants": ["400"] + }, + "Grand Hotel": { + "variants": ["400"] + }, + "Grandstander": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Grape Nuts": { + "variants": ["400"] + }, + "Gravitas One": { + "variants": ["400"] + }, + "Great Vibes": { + "variants": ["400"] + }, + "Grechen Fuemen": { + "variants": ["400"] + }, + "Grenze": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Grenze Gotisch": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Grey Qo": { + "variants": ["400"] + }, + "Griffy": { + "variants": ["400"] + }, + "Gruppo": { + "variants": ["400"] + }, + "Gudea": { + "variants": ["400", "700", "400-italic"] + }, + "Gugi": { + "variants": ["400"] + }, + "Gulzar": { + "variants": ["400"] + }, + "Gupter": { + "variants": ["400", "500", "700"] + }, + "Gurajada": { + "variants": ["400"] + }, + "Gwendolyn": { + "variants": ["400", "700"] + }, + "Habibi": { + "variants": ["400"] + }, + "Hachi Maru Pop": { + "variants": ["400"] + }, + "Hahmlet": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Halant": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Hammersmith One": { + "variants": ["400"] + }, + "Hanalei": { + "variants": ["400"] + }, + "Hanalei Fill": { + "variants": ["400"] + }, + "Handlee": { + "variants": ["400"] + }, + "Hanuman": { + "variants": ["100", "300", "400", "700", "900"] + }, + "Happy Monkey": { + "variants": ["400"] + }, + "Harmattan": { + "variants": ["400", "700"] + }, + "Headland One": { + "variants": ["400"] + }, + "Heebo": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Henny Penny": { + "variants": ["400"] + }, + "Hepta Slab": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 1, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Herr Von Muellerhoff": { + "variants": ["400"] + }, + "Hi Melody": { + "variants": ["400"] + }, + "Hina Mincho": { + "variants": ["400"] + }, + "Hind": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Hind Guntur": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Hind Madurai": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Hind Siliguri": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Hind Vadodara": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Holtwood One SC": { + "variants": ["400"] + }, + "Homemade Apple": { + "variants": ["400"] + }, + "Homenaje": { + "variants": ["400"] + }, + "Hubballi": { + "variants": ["400"] + }, + "Hurricane": { + "variants": ["400"] + }, + "IBM Plex Mono": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "IBM Plex Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "IBM Plex Sans Arabic": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Sans Condensed": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "IBM Plex Sans Devanagari": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Sans Hebrew": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Sans KR": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Sans Thai": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Sans Thai Looped": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "IBM Plex Serif": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "IM Fell DW Pica": { + "variants": ["400", "400-italic"] + }, + "IM Fell DW Pica SC": { + "variants": ["400"] + }, + "IM Fell Double Pica": { + "variants": ["400", "400-italic"] + }, + "IM Fell Double Pica SC": { + "variants": ["400"] + }, + "IM Fell English": { + "variants": ["400", "400-italic"] + }, + "IM Fell English SC": { + "variants": ["400"] + }, + "IM Fell French Canon": { + "variants": ["400", "400-italic"] + }, + "IM Fell French Canon SC": { + "variants": ["400"] + }, + "IM Fell Great Primer": { + "variants": ["400", "400-italic"] + }, + "IM Fell Great Primer SC": { + "variants": ["400"] + }, + "Ibarra Real Nova": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Iceberg": { + "variants": ["400"] + }, + "Iceland": { + "variants": ["400"] + }, + "Imbue": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "opsz", + "min": 10, + "max": 100, + "defaultValue": 10 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Imperial Script": { + "variants": ["400"] + }, + "Imprima": { + "variants": ["400"] + }, + "Inconsolata": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 50, + "max": 200, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Inder": { + "variants": ["400"] + }, + "Indie Flower": { + "variants": ["400"] + }, + "Ingrid Darling": { + "variants": ["400"] + }, + "Inika": { + "variants": ["400", "700"] + }, + "Inknut Antiqua": { + "variants": ["300", "400", "500", "600", "700", "800", "900"] + }, + "Inria Sans": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Inria Serif": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Inspiration": { + "variants": ["400"] + }, + "Inter": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "slnt", + "min": -10, + "max": 0, + "defaultValue": 0 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Irish Grover": { + "variants": ["400"] + }, + "Island Moments": { + "variants": ["400"] + }, + "Istok Web": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Italiana": { + "variants": ["400"] + }, + "Italianno": { + "variants": ["400"] + }, + "Itim": { + "variants": ["400"] + }, + "Jacques Francois": { + "variants": ["400"] + }, + "Jacques Francois Shadow": { + "variants": ["400"] + }, + "Jaldi": { + "variants": ["400", "700"] + }, + "JetBrains Mono": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Jim Nightshade": { + "variants": ["400"] + }, + "Joan": { + "variants": ["400"] + }, + "Jockey One": { + "variants": ["400"] + }, + "Jolly Lodger": { + "variants": ["400"] + }, + "Jomhuria": { + "variants": ["400"] + }, + "Jomolhari": { + "variants": ["400"] + }, + "Josefin Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Josefin Slab": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Jost": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Joti One": { + "variants": ["400"] + }, + "Jua": { + "variants": ["400"] + }, + "Judson": { + "variants": ["400", "700", "400-italic"] + }, + "Julee": { + "variants": ["400"] + }, + "Julius Sans One": { + "variants": ["400"] + }, + "Junge": { + "variants": ["400"] + }, + "Jura": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Just Another Hand": { + "variants": ["400"] + }, + "Just Me Again Down Here": { + "variants": ["400"] + }, + "K2D": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic" + ] + }, + "Kadwa": { + "variants": ["400", "700"] + }, + "Kaisei Decol": { + "variants": ["400", "500", "700"] + }, + "Kaisei HarunoUmi": { + "variants": ["400", "500", "700"] + }, + "Kaisei Opti": { + "variants": ["400", "500", "700"] + }, + "Kaisei Tokumin": { + "variants": ["400", "500", "700", "800"] + }, + "Kalam": { + "variants": ["300", "400", "700"] + }, + "Kameron": { + "variants": ["400", "700"] + }, + "Kanit": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Kantumruy": { + "variants": ["300", "400", "700"] + }, + "Kantumruy Pro": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Karantina": { + "variants": ["300", "400", "700"] + }, + "Karla": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Karma": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Katibeh": { + "variants": ["400"] + }, + "Kaushan Script": { + "variants": ["400"] + }, + "Kavivanar": { + "variants": ["400"] + }, + "Kavoon": { + "variants": ["400"] + }, + "Kdam Thmor Pro": { + "variants": ["400"] + }, + "Keania One": { + "variants": ["400"] + }, + "Kelly Slab": { + "variants": ["400"] + }, + "Kenia": { + "variants": ["400"] + }, + "Khand": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Khmer": { + "variants": ["400"] + }, + "Khula": { + "variants": ["300", "400", "600", "700", "800"] + }, + "Kings": { + "variants": ["400"] + }, + "Kirang Haerang": { + "variants": ["400"] + }, + "Kite One": { + "variants": ["400"] + }, + "Kiwi Maru": { + "variants": ["300", "400", "500"] + }, + "Klee One": { + "variants": ["400", "600"] + }, + "Knewave": { + "variants": ["400"] + }, + "KoHo": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Kodchasan": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Koh Santepheap": { + "variants": ["100", "300", "400", "700", "900"] + }, + "Kolker Brush": { + "variants": ["400"] + }, + "Kosugi": { + "variants": ["400"] + }, + "Kosugi Maru": { + "variants": ["400"] + }, + "Kotta One": { + "variants": ["400"] + }, + "Koulen": { + "variants": ["400"] + }, + "Kranky": { + "variants": ["400"] + }, + "Kreon": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Kristi": { + "variants": ["400"] + }, + "Krona One": { + "variants": ["400"] + }, + "Krub": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Kufam": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Kulim Park": { + "variants": [ + "200", + "300", + "400", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "600-italic", + "700-italic" + ] + }, + "Kumar One": { + "variants": ["400"] + }, + "Kumar One Outline": { + "variants": ["400"] + }, + "Kumbh Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Kurale": { + "variants": ["400"] + }, + "La Belle Aurore": { + "variants": ["400"] + }, + "Lacquer": { + "variants": ["400"] + }, + "Laila": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Lakki Reddy": { + "variants": ["400"] + }, + "Lalezar": { + "variants": ["400"] + }, + "Lancelot": { + "variants": ["400"] + }, + "Langar": { + "variants": ["400"] + }, + "Lateef": { + "variants": ["400"] + }, + "Lato": { + "variants": [ + "100", + "300", + "400", + "700", + "900", + "100-italic", + "300-italic", + "400-italic", + "700-italic", + "900-italic" + ] + }, + "Lavishly Yours": { + "variants": ["400"] + }, + "League Gothic": { + "variants": ["400", "variable"], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 100, + "defaultValue": 100 + } + ] + }, + "League Script": { + "variants": ["400"] + }, + "League Spartan": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Leckerli One": { + "variants": ["400"] + }, + "Ledger": { + "variants": ["400"] + }, + "Lekton": { + "variants": ["400", "700", "400-italic"] + }, + "Lemon": { + "variants": ["400"] + }, + "Lemonada": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Lexend": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Deca": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Exa": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Giga": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Mega": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Peta": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Tera": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Lexend Zetta": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Libre Barcode 128": { + "variants": ["400"] + }, + "Libre Barcode 128 Text": { + "variants": ["400"] + }, + "Libre Barcode 39": { + "variants": ["400"] + }, + "Libre Barcode 39 Extended": { + "variants": ["400"] + }, + "Libre Barcode 39 Extended Text": { + "variants": ["400"] + }, + "Libre Barcode 39 Text": { + "variants": ["400"] + }, + "Libre Barcode EAN13 Text": { + "variants": ["400"] + }, + "Libre Baskerville": { + "variants": ["400", "700", "400-italic"] + }, + "Libre Bodoni": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Libre Caslon Display": { + "variants": ["400"] + }, + "Libre Caslon Text": { + "variants": ["400", "700", "400-italic"] + }, + "Libre Franklin": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Licorice": { + "variants": ["400"] + }, + "Life Savers": { + "variants": ["400", "700", "800"] + }, + "Lilita One": { + "variants": ["400"] + }, + "Lily Script One": { + "variants": ["400"] + }, + "Limelight": { + "variants": ["400"] + }, + "Linden Hill": { + "variants": ["400", "400-italic"] + }, + "Literata": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 7, + "max": 72, + "defaultValue": 14 + }, + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Liu Jian Mao Cao": { + "variants": ["400"] + }, + "Livvic": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "900-italic" + ] + }, + "Lobster": { + "variants": ["400"] + }, + "Lobster Two": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Londrina Outline": { + "variants": ["400"] + }, + "Londrina Shadow": { + "variants": ["400"] + }, + "Londrina Sketch": { + "variants": ["400"] + }, + "Londrina Solid": { + "variants": ["100", "300", "400", "900"] + }, + "Long Cang": { + "variants": ["400"] + }, + "Lora": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Love Light": { + "variants": ["400"] + }, + "Love Ya Like A Sister": { + "variants": ["400"] + }, + "Loved by the King": { + "variants": ["400"] + }, + "Lovers Quarrel": { + "variants": ["400"] + }, + "Luckiest Guy": { + "variants": ["400"] + }, + "Lusitana": { + "variants": ["400", "700"] + }, + "Lustria": { + "variants": ["400"] + }, + "Luxurious Roman": { + "variants": ["400"] + }, + "Luxurious Script": { + "variants": ["400"] + }, + "M PLUS 1": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "M PLUS 1 Code": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "M PLUS 1p": { + "variants": ["100", "300", "400", "500", "700", "800", "900"] + }, + "M PLUS 2": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "M PLUS Code Latin": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wdth", + "min": 100, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "M PLUS Rounded 1c": { + "variants": ["100", "300", "400", "500", "700", "800", "900"] + }, + "Ma Shan Zheng": { + "variants": ["400"] + }, + "Macondo": { + "variants": ["400"] + }, + "Macondo Swash Caps": { + "variants": ["400"] + }, + "Mada": { + "variants": ["200", "300", "400", "500", "600", "700", "900"] + }, + "Magra": { + "variants": ["400", "700"] + }, + "Maiden Orange": { + "variants": ["400"] + }, + "Maitree": { + "variants": ["200", "300", "400", "500", "600", "700"] + }, + "Major Mono Display": { + "variants": ["400"] + }, + "Mako": { + "variants": ["400"] + }, + "Mali": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Mallanna": { + "variants": ["400"] + }, + "Mandali": { + "variants": ["400"] + }, + "Manjari": { + "variants": ["100", "400", "700"] + }, + "Manrope": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Mansalva": { + "variants": ["400"] + }, + "Manuale": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Marcellus": { + "variants": ["400"] + }, + "Marcellus SC": { + "variants": ["400"] + }, + "Marck Script": { + "variants": ["400"] + }, + "Margarine": { + "variants": ["400"] + }, + "Markazi Text": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Marko One": { + "variants": ["400"] + }, + "Marmelad": { + "variants": ["400"] + }, + "Martel": { + "variants": ["200", "300", "400", "600", "700", "800", "900"] + }, + "Martel Sans": { + "variants": ["200", "300", "400", "600", "700", "800", "900"] + }, + "Marvel": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Mate": { + "variants": ["400", "400-italic"] + }, + "Mate SC": { + "variants": ["400"] + }, + "Maven Pro": { + "variants": ["400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "McLaren": { + "variants": ["400"] + }, + "Mea Culpa": { + "variants": ["400"] + }, + "Meddon": { + "variants": ["400"] + }, + "MedievalSharp": { + "variants": ["400"] + }, + "Medula One": { + "variants": ["400"] + }, + "Meera Inimai": { + "variants": ["400"] + }, + "Megrim": { + "variants": ["400"] + }, + "Meie Script": { + "variants": ["400"] + }, + "Meow Script": { + "variants": ["400"] + }, + "Merienda": { + "variants": ["400", "700"] + }, + "Merienda One": { + "variants": ["400"] + }, + "Merriweather": { + "variants": [ + "300", + "400", + "700", + "900", + "300-italic", + "400-italic", + "700-italic", + "900-italic" + ] + }, + "Merriweather Sans": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Metal": { + "variants": ["400"] + }, + "Metal Mania": { + "variants": ["400"] + }, + "Metamorphous": { + "variants": ["400"] + }, + "Metrophobic": { + "variants": ["400"] + }, + "Michroma": { + "variants": ["400"] + }, + "Milonga": { + "variants": ["400"] + }, + "Miltonian": { + "variants": ["400"] + }, + "Miltonian Tattoo": { + "variants": ["400"] + }, + "Mina": { + "variants": ["400", "700"] + }, + "Mingzat": { + "variants": ["400"] + }, + "Miniver": { + "variants": ["400"] + }, + "Miriam Libre": { + "variants": ["400", "700"] + }, + "Mirza": { + "variants": ["400", "500", "600", "700"] + }, + "Miss Fajardose": { + "variants": ["400"] + }, + "Mitr": { + "variants": ["200", "300", "400", "500", "600", "700"] + }, + "Mochiy Pop One": { + "variants": ["400"] + }, + "Mochiy Pop P One": { + "variants": ["400"] + }, + "Modak": { + "variants": ["400"] + }, + "Modern Antiqua": { + "variants": ["400"] + }, + "Mogra": { + "variants": ["400"] + }, + "Mohave": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Molengo": { + "variants": ["400"] + }, + "Molle": { + "variants": ["400-italic"] + }, + "Monda": { + "variants": ["400", "700"] + }, + "Monofett": { + "variants": ["400"] + }, + "Monoton": { + "variants": ["400"] + }, + "Monsieur La Doulaise": { + "variants": ["400"] + }, + "Montaga": { + "variants": ["400"] + }, + "Montagu Slab": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "opsz", + "min": 16, + "max": 144, + "defaultValue": 144 + }, + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "MonteCarlo": { + "variants": ["400"] + }, + "Montez": { + "variants": ["400"] + }, + "Montserrat": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Montserrat Alternates": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Montserrat Subrayada": { + "variants": ["400", "700"] + }, + "Moo Lah Lah": { + "variants": ["400"] + }, + "Moon Dance": { + "variants": ["400"] + }, + "Moul": { + "variants": ["400"] + }, + "Moulpali": { + "variants": ["400"] + }, + "Mountains of Christmas": { + "variants": ["400", "700"] + }, + "Mouse Memoirs": { + "variants": ["400"] + }, + "Mr Bedfort": { + "variants": ["400"] + }, + "Mr Dafoe": { + "variants": ["400"] + }, + "Mr De Haviland": { + "variants": ["400"] + }, + "Mrs Saint Delafield": { + "variants": ["400"] + }, + "Mrs Sheppards": { + "variants": ["400"] + }, + "Ms Madi": { + "variants": ["400"] + }, + "Mukta": { + "variants": ["200", "300", "400", "500", "600", "700", "800"] + }, + "Mukta Mahee": { + "variants": ["200", "300", "400", "500", "600", "700", "800"] + }, + "Mukta Malar": { + "variants": ["200", "300", "400", "500", "600", "700", "800"] + }, + "Mukta Vaani": { + "variants": ["200", "300", "400", "500", "600", "700", "800"] + }, + "Mulish": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Murecho": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "MuseoModerno": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "My Soul": { + "variants": ["400"] + }, + "Mystery Quest": { + "variants": ["400"] + }, + "NTR": { + "variants": ["400"] + }, + "Nabla": { + "variants": ["400", "variable"], + "axes": [ + { + "tag": "EDPT", + "min": 0, + "max": 200, + "defaultValue": 100 + }, + { + "tag": "EHLT", + "min": 0, + "max": 24, + "defaultValue": 12 + } + ] + }, + "Nanum Brush Script": { + "variants": ["400"] + }, + "Nanum Gothic": { + "variants": ["400", "700", "800"] + }, + "Nanum Gothic Coding": { + "variants": ["400", "700"] + }, + "Nanum Myeongjo": { + "variants": ["400", "700", "800"] + }, + "Nanum Pen Script": { + "variants": ["400"] + }, + "Neonderthaw": { + "variants": ["400"] + }, + "Nerko One": { + "variants": ["400"] + }, + "Neucha": { + "variants": ["400"] + }, + "Neuton": { + "variants": ["200", "300", "400", "700", "800", "400-italic"] + }, + "New Rocker": { + "variants": ["400"] + }, + "New Tegomin": { + "variants": ["400"] + }, + "News Cycle": { + "variants": ["400", "700"] + }, + "Newsreader": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 6, + "max": 72, + "defaultValue": 16 + }, + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Niconne": { + "variants": ["400"] + }, + "Niramit": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Nixie One": { + "variants": ["400"] + }, + "Nobile": { + "variants": ["400", "500", "700", "400-italic", "500-italic", "700-italic"] + }, + "Nokora": { + "variants": ["100", "300", "400", "700", "900"] + }, + "Norican": { + "variants": ["400"] + }, + "Nosifer": { + "variants": ["400"] + }, + "Notable": { + "variants": ["400"] + }, + "Nothing You Could Do": { + "variants": ["400"] + }, + "Noticia Text": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Noto Color Emoji": { + "variants": ["400"] + }, + "Noto Emoji": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Kufi Arabic": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Music": { + "variants": ["400"] + }, + "Noto Naskh Arabic": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Nastaliq Urdu": { + "variants": ["400", "700"] + }, + "Noto Rashi Hebrew": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Noto Sans Adlam": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Adlam Unjoined": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Anatolian Hieroglyphs": { + "variants": ["400"] + }, + "Noto Sans Arabic": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Armenian": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Avestan": { + "variants": ["400"] + }, + "Noto Sans Balinese": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Bamum": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Bassa Vah": { + "variants": ["400"] + }, + "Noto Sans Batak": { + "variants": ["400"] + }, + "Noto Sans Bengali": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Bhaiksuki": { + "variants": ["400"] + }, + "Noto Sans Brahmi": { + "variants": ["400"] + }, + "Noto Sans Buginese": { + "variants": ["400"] + }, + "Noto Sans Buhid": { + "variants": ["400"] + }, + "Noto Sans Canadian Aboriginal": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Carian": { + "variants": ["400"] + }, + "Noto Sans Caucasian Albanian": { + "variants": ["400"] + }, + "Noto Sans Chakma": { + "variants": ["400"] + }, + "Noto Sans Cham": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Cherokee": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Coptic": { + "variants": ["400"] + }, + "Noto Sans Cuneiform": { + "variants": ["400"] + }, + "Noto Sans Cypriot": { + "variants": ["400"] + }, + "Noto Sans Deseret": { + "variants": ["400"] + }, + "Noto Sans Devanagari": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Display": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Duployan": { + "variants": ["400"] + }, + "Noto Sans Egyptian Hieroglyphs": { + "variants": ["400"] + }, + "Noto Sans Elbasan": { + "variants": ["400"] + }, + "Noto Sans Elymaic": { + "variants": ["400"] + }, + "Noto Sans Georgian": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Glagolitic": { + "variants": ["400"] + }, + "Noto Sans Gothic": { + "variants": ["400"] + }, + "Noto Sans Grantha": { + "variants": ["400"] + }, + "Noto Sans Gujarati": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Gunjala Gondi": { + "variants": ["400"] + }, + "Noto Sans Gurmukhi": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans HK": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Noto Sans Hanifi Rohingya": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Hanunoo": { + "variants": ["400"] + }, + "Noto Sans Hatran": { + "variants": ["400"] + }, + "Noto Sans Hebrew": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Imperial Aramaic": { + "variants": ["400"] + }, + "Noto Sans Indic Siyaq Numbers": { + "variants": ["400"] + }, + "Noto Sans Inscriptional Pahlavi": { + "variants": ["400"] + }, + "Noto Sans Inscriptional Parthian": { + "variants": ["400"] + }, + "Noto Sans JP": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Noto Sans Javanese": { + "variants": ["400", "700"] + }, + "Noto Sans KR": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Noto Sans Kaithi": { + "variants": ["400"] + }, + "Noto Sans Kannada": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Kayah Li": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Kharoshthi": { + "variants": ["400"] + }, + "Noto Sans Khmer": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Khojki": { + "variants": ["400"] + }, + "Noto Sans Khudawadi": { + "variants": ["400"] + }, + "Noto Sans Lao": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Lepcha": { + "variants": ["400"] + }, + "Noto Sans Limbu": { + "variants": ["400"] + }, + "Noto Sans Linear A": { + "variants": ["400"] + }, + "Noto Sans Linear B": { + "variants": ["400"] + }, + "Noto Sans Lisu": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Lycian": { + "variants": ["400"] + }, + "Noto Sans Lydian": { + "variants": ["400"] + }, + "Noto Sans Mahajani": { + "variants": ["400"] + }, + "Noto Sans Malayalam": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Mandaic": { + "variants": ["400"] + }, + "Noto Sans Manichaean": { + "variants": ["400"] + }, + "Noto Sans Marchen": { + "variants": ["400"] + }, + "Noto Sans Masaram Gondi": { + "variants": ["400"] + }, + "Noto Sans Math": { + "variants": ["400"] + }, + "Noto Sans Mayan Numerals": { + "variants": ["400"] + }, + "Noto Sans Medefaidrin": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Meetei Mayek": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Meroitic": { + "variants": ["400"] + }, + "Noto Sans Miao": { + "variants": ["400"] + }, + "Noto Sans Modi": { + "variants": ["400"] + }, + "Noto Sans Mongolian": { + "variants": ["400"] + }, + "Noto Sans Mono": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Mro": { + "variants": ["400"] + }, + "Noto Sans Multani": { + "variants": ["400"] + }, + "Noto Sans Myanmar": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Noto Sans N Ko": { + "variants": ["400"] + }, + "Noto Sans Nabataean": { + "variants": ["400"] + }, + "Noto Sans New Tai Lue": { + "variants": ["400"] + }, + "Noto Sans Newa": { + "variants": ["400"] + }, + "Noto Sans Nushu": { + "variants": ["400"] + }, + "Noto Sans Ogham": { + "variants": ["400"] + }, + "Noto Sans Ol Chiki": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Old Hungarian": { + "variants": ["400"] + }, + "Noto Sans Old Italic": { + "variants": ["400"] + }, + "Noto Sans Old North Arabian": { + "variants": ["400"] + }, + "Noto Sans Old Permic": { + "variants": ["400"] + }, + "Noto Sans Old Persian": { + "variants": ["400"] + }, + "Noto Sans Old Sogdian": { + "variants": ["400"] + }, + "Noto Sans Old South Arabian": { + "variants": ["400"] + }, + "Noto Sans Old Turkic": { + "variants": ["400"] + }, + "Noto Sans Oriya": { + "variants": ["100", "400", "700", "900"] + }, + "Noto Sans Osage": { + "variants": ["400"] + }, + "Noto Sans Osmanya": { + "variants": ["400"] + }, + "Noto Sans Pahawh Hmong": { + "variants": ["400"] + }, + "Noto Sans Palmyrene": { + "variants": ["400"] + }, + "Noto Sans Pau Cin Hau": { + "variants": ["400"] + }, + "Noto Sans Phags Pa": { + "variants": ["400"] + }, + "Noto Sans Phoenician": { + "variants": ["400"] + }, + "Noto Sans Psalter Pahlavi": { + "variants": ["400"] + }, + "Noto Sans Rejang": { + "variants": ["400"] + }, + "Noto Sans Runic": { + "variants": ["400"] + }, + "Noto Sans SC": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Noto Sans Samaritan": { + "variants": ["400"] + }, + "Noto Sans Saurashtra": { + "variants": ["400"] + }, + "Noto Sans Sharada": { + "variants": ["400"] + }, + "Noto Sans Shavian": { + "variants": ["400"] + }, + "Noto Sans Siddham": { + "variants": ["400"] + }, + "Noto Sans Sinhala": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Sogdian": { + "variants": ["400"] + }, + "Noto Sans Sora Sompeng": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Soyombo": { + "variants": ["400"] + }, + "Noto Sans Sundanese": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Syloti Nagri": { + "variants": ["400"] + }, + "Noto Sans Symbols": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Symbols 2": { + "variants": ["400"] + }, + "Noto Sans Syriac": { + "variants": ["100", "400", "900"] + }, + "Noto Sans TC": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Noto Sans Tagalog": { + "variants": ["400"] + }, + "Noto Sans Tagbanwa": { + "variants": ["400"] + }, + "Noto Sans Tai Le": { + "variants": ["400"] + }, + "Noto Sans Tai Tham": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Sans Tai Viet": { + "variants": ["400"] + }, + "Noto Sans Takri": { + "variants": ["400"] + }, + "Noto Sans Tamil": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Tamil Supplement": { + "variants": ["400"] + }, + "Noto Sans Telugu": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Thaana": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Thai": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Sans Thai Looped": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Noto Sans Tifinagh": { + "variants": ["400"] + }, + "Noto Sans Tirhuta": { + "variants": ["400"] + }, + "Noto Sans Ugaritic": { + "variants": ["400"] + }, + "Noto Sans Vai": { + "variants": ["400"] + }, + "Noto Sans Wancho": { + "variants": ["400"] + }, + "Noto Sans Warang Citi": { + "variants": ["400"] + }, + "Noto Sans Yi": { + "variants": ["400"] + }, + "Noto Sans Zanabazar Square": { + "variants": ["400"] + }, + "Noto Serif": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Noto Serif Ahom": { + "variants": ["400"] + }, + "Noto Serif Armenian": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Balinese": { + "variants": ["400"] + }, + "Noto Serif Bengali": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Devanagari": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Display": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Dogra": { + "variants": ["400"] + }, + "Noto Serif Ethiopic": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Georgian": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Grantha": { + "variants": ["400"] + }, + "Noto Serif Gujarati": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Gurmukhi": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif HK": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Hebrew": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif JP": { + "variants": ["200", "300", "400", "500", "600", "700", "900"] + }, + "Noto Serif KR": { + "variants": ["200", "300", "400", "500", "600", "700", "900"] + }, + "Noto Serif Kannada": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Khmer": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Lao": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Malayalam": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Myanmar": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Noto Serif Nyiakeng Puachue Hmong": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Serif SC": { + "variants": ["200", "300", "400", "500", "600", "700", "900"] + }, + "Noto Serif Sinhala": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif TC": { + "variants": ["200", "300", "400", "500", "600", "700", "900"] + }, + "Noto Serif Tamil": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Tangut": { + "variants": ["400"] + }, + "Noto Serif Telugu": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Thai": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 62.5, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Tibetan": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Noto Serif Yezidi": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Noto Traditional Nushu": { + "variants": ["400"] + }, + "Nova Cut": { + "variants": ["400"] + }, + "Nova Flat": { + "variants": ["400"] + }, + "Nova Mono": { + "variants": ["400"] + }, + "Nova Oval": { + "variants": ["400"] + }, + "Nova Round": { + "variants": ["400"] + }, + "Nova Script": { + "variants": ["400"] + }, + "Nova Slim": { + "variants": ["400"] + }, + "Nova Square": { + "variants": ["400"] + }, + "Numans": { + "variants": ["400"] + }, + "Nunito": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Nunito Sans": { + "variants": [ + "200", + "300", + "400", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Nuosu SIL": { + "variants": ["400"] + }, + "Odibee Sans": { + "variants": ["400"] + }, + "Odor Mean Chey": { + "variants": ["400"] + }, + "Offside": { + "variants": ["400"] + }, + "Oi": { + "variants": ["400"] + }, + "Old Standard TT": { + "variants": ["400", "700", "400-italic"] + }, + "Oldenburg": { + "variants": ["400"] + }, + "Ole": { + "variants": ["400"] + }, + "Oleo Script": { + "variants": ["400", "700"] + }, + "Oleo Script Swash Caps": { + "variants": ["400", "700"] + }, + "Oooh Baby": { + "variants": ["400"] + }, + "Open Sans": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 300, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Oranienbaum": { + "variants": ["400"] + }, + "Orbitron": { + "variants": ["400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Oregano": { + "variants": ["400", "400-italic"] + }, + "Orelega One": { + "variants": ["400"] + }, + "Orienta": { + "variants": ["400"] + }, + "Original Surfer": { + "variants": ["400"] + }, + "Oswald": { + "variants": ["200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Outfit": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Over the Rainbow": { + "variants": ["400"] + }, + "Overlock": { + "variants": ["400", "700", "900", "400-italic", "700-italic", "900-italic"] + }, + "Overlock SC": { + "variants": ["400"] + }, + "Overpass": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Overpass Mono": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Ovo": { + "variants": ["400"] + }, + "Oxanium": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Oxygen": { + "variants": ["300", "400", "700"] + }, + "Oxygen Mono": { + "variants": ["400"] + }, + "PT Mono": { + "variants": ["400"] + }, + "PT Sans": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "PT Sans Caption": { + "variants": ["400", "700"] + }, + "PT Sans Narrow": { + "variants": ["400", "700"] + }, + "PT Serif": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "PT Serif Caption": { + "variants": ["400", "400-italic"] + }, + "Pacifico": { + "variants": ["400"] + }, + "Padauk": { + "variants": ["400", "700"] + }, + "Palanquin": { + "variants": ["100", "200", "300", "400", "500", "600", "700"] + }, + "Palanquin Dark": { + "variants": ["400", "500", "600", "700"] + }, + "Pangolin": { + "variants": ["400"] + }, + "Paprika": { + "variants": ["400"] + }, + "Parisienne": { + "variants": ["400"] + }, + "Passero One": { + "variants": ["400"] + }, + "Passion One": { + "variants": ["400", "700", "900"] + }, + "Passions Conflict": { + "variants": ["400"] + }, + "Pathway Gothic One": { + "variants": ["400"] + }, + "Patrick Hand": { + "variants": ["400"] + }, + "Patrick Hand SC": { + "variants": ["400"] + }, + "Pattaya": { + "variants": ["400"] + }, + "Patua One": { + "variants": ["400"] + }, + "Pavanam": { + "variants": ["400"] + }, + "Paytone One": { + "variants": ["400"] + }, + "Peddana": { + "variants": ["400"] + }, + "Peralta": { + "variants": ["400"] + }, + "Permanent Marker": { + "variants": ["400"] + }, + "Petemoss": { + "variants": ["400"] + }, + "Petit Formal Script": { + "variants": ["400"] + }, + "Petrona": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Philosopher": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Piazzolla": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 8, + "max": 30, + "defaultValue": 14 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Piedra": { + "variants": ["400"] + }, + "Pinyon Script": { + "variants": ["400"] + }, + "Pirata One": { + "variants": ["400"] + }, + "Plaster": { + "variants": ["400"] + }, + "Play": { + "variants": ["400", "700"] + }, + "Playball": { + "variants": ["400"] + }, + "Playfair Display": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Playfair Display SC": { + "variants": ["400", "700", "900", "400-italic", "700-italic", "900-italic"] + }, + "Plus Jakarta Sans": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Podkova": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Poiret One": { + "variants": ["400"] + }, + "Poller One": { + "variants": ["400"] + }, + "Poly": { + "variants": ["400", "400-italic"] + }, + "Pompiere": { + "variants": ["400"] + }, + "Pontano Sans": { + "variants": ["400"] + }, + "Poor Story": { + "variants": ["400"] + }, + "Poppins": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Port Lligat Sans": { + "variants": ["400"] + }, + "Port Lligat Slab": { + "variants": ["400"] + }, + "Potta One": { + "variants": ["400"] + }, + "Pragati Narrow": { + "variants": ["400", "700"] + }, + "Praise": { + "variants": ["400"] + }, + "Prata": { + "variants": ["400"] + }, + "Preahvihear": { + "variants": ["400"] + }, + "Press Start 2P": { + "variants": ["400"] + }, + "Pridi": { + "variants": ["200", "300", "400", "500", "600", "700"] + }, + "Princess Sofia": { + "variants": ["400"] + }, + "Prociono": { + "variants": ["400"] + }, + "Prompt": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Prosto One": { + "variants": ["400"] + }, + "Proza Libre": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic" + ] + }, + "Public Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Puppies Play": { + "variants": ["400"] + }, + "Puritan": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Purple Purse": { + "variants": ["400"] + }, + "Qahiri": { + "variants": ["400"] + }, + "Quando": { + "variants": ["400"] + }, + "Quantico": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Quattrocento": { + "variants": ["400", "700"] + }, + "Quattrocento Sans": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Questrial": { + "variants": ["400"] + }, + "Quicksand": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Quintessential": { + "variants": ["400"] + }, + "Qwigley": { + "variants": ["400"] + }, + "Qwitcher Grypen": { + "variants": ["400", "700"] + }, + "Racing Sans One": { + "variants": ["400"] + }, + "Radio Canada": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 100, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Radley": { + "variants": ["400", "400-italic"] + }, + "Rajdhani": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Rakkas": { + "variants": ["400"] + }, + "Raleway": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Raleway Dots": { + "variants": ["400"] + }, + "Ramabhadra": { + "variants": ["400"] + }, + "Ramaraja": { + "variants": ["400"] + }, + "Rambla": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Rammetto One": { + "variants": ["400"] + }, + "Rampart One": { + "variants": ["400"] + }, + "Ranchers": { + "variants": ["400"] + }, + "Rancho": { + "variants": ["400"] + }, + "Ranga": { + "variants": ["400", "700"] + }, + "Rasa": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Rationale": { + "variants": ["400"] + }, + "Ravi Prakash": { + "variants": ["400"] + }, + "Readex Pro": { + "variants": ["200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 160, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Recursive": { + "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "CASL", + "min": 0, + "max": 1, + "defaultValue": 0 + }, + { + "tag": "CRSV", + "min": 0, + "max": 1, + "defaultValue": 0.5 + }, + { + "tag": "MONO", + "min": 0, + "max": 1, + "defaultValue": 0 + }, + { + "tag": "slnt", + "min": -15, + "max": 0, + "defaultValue": 0 + }, + { + "tag": "wght", + "min": 300, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Red Hat Display": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Red Hat Mono": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Red Hat Text": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Red Rose": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Redacted": { + "variants": ["400"] + }, + "Redacted Script": { + "variants": ["300", "400", "700"] + }, + "Redressed": { + "variants": ["400"] + }, + "Reem Kufi": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Reem Kufi Fun": { + "variants": ["400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Reem Kufi Ink": { + "variants": ["400"] + }, + "Reenie Beanie": { + "variants": ["400"] + }, + "Reggae One": { + "variants": ["400"] + }, + "Revalia": { + "variants": ["400"] + }, + "Rhodium Libre": { + "variants": ["400"] + }, + "Ribeye": { + "variants": ["400"] + }, + "Ribeye Marrow": { + "variants": ["400"] + }, + "Righteous": { + "variants": ["400"] + }, + "Risque": { + "variants": ["400"] + }, + "Road Rage": { + "variants": ["400"] + }, + "Roboto": { + "variants": [ + "100", + "300", + "400", + "500", + "700", + "900", + "100-italic", + "300-italic", + "400-italic", + "500-italic", + "700-italic", + "900-italic" + ] + }, + "Roboto Condensed": { + "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] + }, + "Roboto Flex": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "1000", + "variable" + ], + "axes": [ + { + "tag": "GRAD", + "min": -200, + "max": 150, + "defaultValue": 0 + }, + { + "tag": "XTRA", + "min": 323, + "max": 603, + "defaultValue": 468 + }, + { + "tag": "YOPQ", + "min": 25, + "max": 135, + "defaultValue": 79 + }, + { + "tag": "YTAS", + "min": 649, + "max": 854, + "defaultValue": 750 + }, + { + "tag": "YTDE", + "min": -305, + "max": -98, + "defaultValue": -203 + }, + { + "tag": "YTFI", + "min": 560, + "max": 788, + "defaultValue": 738 + }, + { + "tag": "YTLC", + "min": 416, + "max": 570, + "defaultValue": 514 + }, + { + "tag": "YTUC", + "min": 528, + "max": 760, + "defaultValue": 712 + }, + { + "tag": "opsz", + "min": 8, + "max": 144, + "defaultValue": 14 + }, + { + "tag": "slnt", + "min": -10, + "max": 0, + "defaultValue": 0 + }, + { + "tag": "wdth", + "min": 25, + "max": 151, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 1000, + "defaultValue": 400 + } + ] + }, + "Roboto Mono": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Roboto Serif": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "GRAD", + "min": -50, + "max": 100, + "defaultValue": 0 + }, + { + "tag": "opsz", + "min": 8, + "max": 144, + "defaultValue": 14 + }, + { + "tag": "wdth", + "min": 50, + "max": 150, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Roboto Slab": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Rochester": { + "variants": ["400"] + }, + "Rock Salt": { + "variants": ["400"] + }, + "RocknRoll One": { + "variants": ["400"] + }, + "Rokkitt": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Romanesco": { + "variants": ["400"] + }, + "Ropa Sans": { + "variants": ["400", "400-italic"] + }, + "Rosario": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Rosarivo": { + "variants": ["400", "400-italic"] + }, + "Rouge Script": { + "variants": ["400"] + }, + "Rowdies": { + "variants": ["300", "400", "700"] + }, + "Rozha One": { + "variants": ["400"] + }, + "Rubik": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Rubik Beastly": { + "variants": ["400"] + }, + "Rubik Bubbles": { + "variants": ["400"] + }, + "Rubik Burned": { + "variants": ["400"] + }, + "Rubik Dirt": { + "variants": ["400"] + }, + "Rubik Distressed": { + "variants": ["400"] + }, + "Rubik Glitch": { + "variants": ["400"] + }, + "Rubik Iso": { + "variants": ["400"] + }, + "Rubik Marker Hatch": { + "variants": ["400"] + }, + "Rubik Maze": { + "variants": ["400"] + }, + "Rubik Microbe": { + "variants": ["400"] + }, + "Rubik Mono One": { + "variants": ["400"] + }, + "Rubik Moonrocks": { + "variants": ["400"] + }, + "Rubik Puddles": { + "variants": ["400"] + }, + "Rubik Wet Paint": { + "variants": ["400"] + }, + "Ruda": { + "variants": ["400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Rufina": { + "variants": ["400", "700"] + }, + "Ruge Boogie": { + "variants": ["400"] + }, + "Ruluko": { + "variants": ["400"] + }, + "Rum Raisin": { + "variants": ["400"] + }, + "Ruslan Display": { + "variants": ["400"] + }, + "Russo One": { + "variants": ["400"] + }, + "Ruthie": { + "variants": ["400"] + }, + "Rye": { + "variants": ["400"] + }, + "STIX Two Text": { + "variants": [ + "400", + "500", + "600", + "700", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Sacramento": { + "variants": ["400"] + }, + "Sahitya": { + "variants": ["400", "700"] + }, + "Sail": { + "variants": ["400"] + }, + "Saira": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 50, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Saira Condensed": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Saira Extra Condensed": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Saira Semi Condensed": { + "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] + }, + "Saira Stencil One": { + "variants": ["400"] + }, + "Salsa": { + "variants": ["400"] + }, + "Sanchez": { + "variants": ["400", "400-italic"] + }, + "Sancreek": { + "variants": ["400"] + }, + "Sansita": { + "variants": [ + "400", + "700", + "800", + "900", + "400-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Sansita Swashed": { + "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Sarabun": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic" + ] + }, + "Sarala": { + "variants": ["400", "700"] + }, + "Sarina": { + "variants": ["400"] + }, + "Sarpanch": { + "variants": ["400", "500", "600", "700", "800", "900"] + }, + "Sassy Frass": { + "variants": ["400"] + }, + "Satisfy": { + "variants": ["400"] + }, + "Sawarabi Gothic": { + "variants": ["400"] + }, + "Sawarabi Mincho": { + "variants": ["400"] + }, + "Scada": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Scheherazade New": { + "variants": ["400", "700"] + }, + "Schoolbell": { + "variants": ["400"] + }, + "Scope One": { + "variants": ["400"] + }, + "Seaweed Script": { + "variants": ["400"] + }, + "Secular One": { + "variants": ["400"] + }, + "Sedgwick Ave": { + "variants": ["400"] + }, + "Sedgwick Ave Display": { + "variants": ["400"] + }, + "Sen": { + "variants": ["400", "700", "800"] + }, + "Send Flowers": { + "variants": ["400"] + }, + "Sevillana": { + "variants": ["400"] + }, + "Seymour One": { + "variants": ["400"] + }, + "Shadows Into Light": { + "variants": ["400"] + }, + "Shadows Into Light Two": { + "variants": ["400"] + }, + "Shalimar": { + "variants": ["400"] + }, + "Shanti": { + "variants": ["400"] + }, + "Share": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Share Tech": { + "variants": ["400"] + }, + "Share Tech Mono": { + "variants": ["400"] + }, + "Shippori Antique": { + "variants": ["400"] + }, + "Shippori Antique B1": { + "variants": ["400"] + }, + "Shippori Mincho": { + "variants": ["400", "500", "600", "700", "800"] + }, + "Shippori Mincho B1": { + "variants": ["400", "500", "600", "700", "800"] + }, + "Shojumaru": { + "variants": ["400"] + }, + "Short Stack": { + "variants": ["400"] + }, + "Shrikhand": { + "variants": ["400"] + }, + "Siemreap": { + "variants": ["400"] + }, + "Sigmar One": { + "variants": ["400"] + }, + "Signika": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Signika Negative": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Silkscreen": { + "variants": ["400", "700"] + }, + "Simonetta": { + "variants": ["400", "900", "400-italic", "900-italic"] + }, + "Single Day": { + "variants": ["400"] + }, + "Sintony": { + "variants": ["400", "700"] + }, + "Sirin Stencil": { + "variants": ["400"] + }, + "Six Caps": { + "variants": ["400"] + }, + "Skranji": { + "variants": ["400", "700"] + }, + "Slabo 13px": { + "variants": ["400"] + }, + "Slabo 27px": { + "variants": ["400"] + }, + "Slackey": { + "variants": ["400"] + }, + "Smokum": { + "variants": ["400"] + }, + "Smooch": { + "variants": ["400"] + }, + "Smooch Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Smythe": { + "variants": ["400"] + }, + "Sniglet": { + "variants": ["400", "800"] + }, + "Snippet": { + "variants": ["400"] + }, + "Snowburst One": { + "variants": ["400"] + }, + "Sofadi One": { + "variants": ["400"] + }, + "Sofia": { + "variants": ["400"] + }, + "Solway": { + "variants": ["300", "400", "500", "700", "800"] + }, + "Song Myung": { + "variants": ["400"] + }, + "Sonsie One": { + "variants": ["400"] + }, + "Sora": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Sorts Mill Goudy": { + "variants": ["400", "400-italic"] + }, + "Source Code Pro": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Source Sans 3": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Source Sans Pro": { + "variants": [ + "200", + "300", + "400", + "600", + "700", + "900", + "200-italic", + "300-italic", + "400-italic", + "600-italic", + "700-italic", + "900-italic" + ] + }, + "Source Serif 4": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 8, + "max": 60, + "defaultValue": 14 + }, + { + "tag": "wght", + "min": 200, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Source Serif Pro": { + "variants": [ + "200", + "300", + "400", + "600", + "700", + "900", + "200-italic", + "300-italic", + "400-italic", + "600-italic", + "700-italic", + "900-italic" + ] + }, + "Space Grotesk": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Space Mono": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Special Elite": { + "variants": ["400"] + }, + "Spectral": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic" + ] + }, + "Spectral SC": { + "variants": [ + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic" + ] + }, + "Spicy Rice": { + "variants": ["400"] + }, + "Spinnaker": { + "variants": ["400"] + }, + "Spirax": { + "variants": ["400"] + }, + "Splash": { + "variants": ["400"] + }, + "Spline Sans": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Spline Sans Mono": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Squada One": { + "variants": ["400"] + }, + "Square Peg": { + "variants": ["400"] + }, + "Sree Krushnadevaraya": { + "variants": ["400"] + }, + "Sriracha": { + "variants": ["400"] + }, + "Srisakdi": { + "variants": ["400", "700"] + }, + "Staatliches": { + "variants": ["400"] + }, + "Stalemate": { + "variants": ["400"] + }, + "Stalinist One": { + "variants": ["400"] + }, + "Stardos Stencil": { + "variants": ["400", "700"] + }, + "Stick": { + "variants": ["400"] + }, + "Stick No Bills": { + "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Stint Ultra Condensed": { + "variants": ["400"] + }, + "Stint Ultra Expanded": { + "variants": ["400"] + }, + "Stoke": { + "variants": ["300", "400"] + }, + "Strait": { + "variants": ["400"] + }, + "Style Script": { + "variants": ["400"] + }, + "Stylish": { + "variants": ["400"] + }, + "Sue Ellen Francisco": { + "variants": ["400"] + }, + "Suez One": { + "variants": ["400"] + }, + "Sulphur Point": { + "variants": ["300", "400", "700"] + }, + "Sumana": { + "variants": ["400", "700"] + }, + "Sunflower": { + "variants": ["300", "500", "700"] + }, + "Sunshiney": { + "variants": ["400"] + }, + "Supermercado One": { + "variants": ["400"] + }, + "Sura": { + "variants": ["400", "700"] + }, + "Suranna": { + "variants": ["400"] + }, + "Suravaram": { + "variants": ["400"] + }, + "Suwannaphum": { + "variants": ["100", "300", "400", "700", "900"] + }, + "Swanky and Moo Moo": { + "variants": ["400"] + }, + "Syncopate": { + "variants": ["400", "700"] + }, + "Syne": { + "variants": ["400", "500", "600", "700", "800", "variable"], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Syne Mono": { + "variants": ["400"] + }, + "Syne Tactile": { + "variants": ["400"] + }, + "Tai Heritage Pro": { + "variants": ["400", "700"] + }, + "Tajawal": { + "variants": ["200", "300", "400", "500", "700", "800", "900"] + }, + "Tangerine": { + "variants": ["400", "700"] + }, + "Tapestry": { + "variants": ["400"] + }, + "Taprom": { + "variants": ["400"] + }, + "Tauri": { + "variants": ["400"] + }, + "Taviraj": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Teko": { + "variants": ["300", "400", "500", "600", "700"] + }, + "Telex": { + "variants": ["400"] + }, + "Tenali Ramakrishna": { + "variants": ["400"] + }, + "Tenor Sans": { + "variants": ["400"] + }, + "Text Me One": { + "variants": ["400"] + }, + "Texturina": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "opsz", + "min": 12, + "max": 72, + "defaultValue": 12 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Thasadith": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "The Girl Next Door": { + "variants": ["400"] + }, + "The Nautigal": { + "variants": ["400", "700"] + }, + "Tienne": { + "variants": ["400", "700", "900"] + }, + "Tillana": { + "variants": ["400", "500", "600", "700", "800"] + }, + "Timmana": { + "variants": ["400"] + }, + "Tinos": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Tiro Bangla": { + "variants": ["400", "400-italic"] + }, + "Tiro Devanagari Hindi": { + "variants": ["400", "400-italic"] + }, + "Tiro Devanagari Marathi": { + "variants": ["400", "400-italic"] + }, + "Tiro Devanagari Sanskrit": { + "variants": ["400", "400-italic"] + }, + "Tiro Gurmukhi": { + "variants": ["400", "400-italic"] + }, + "Tiro Kannada": { + "variants": ["400", "400-italic"] + }, + "Tiro Tamil": { + "variants": ["400", "400-italic"] + }, + "Tiro Telugu": { + "variants": ["400", "400-italic"] + }, + "Titan One": { + "variants": ["400"] + }, + "Titillium Web": { + "variants": [ + "200", + "300", + "400", + "600", + "700", + "900", + "200-italic", + "300-italic", + "400-italic", + "600-italic", + "700-italic" + ] + }, + "Tomorrow": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Tourney": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Trade Winds": { + "variants": ["400"] + }, + "Train One": { + "variants": ["400"] + }, + "Trirong": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic" + ] + }, + "Trispace": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "variable" + ], + "axes": [ + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 800, + "defaultValue": 400 + } + ] + }, + "Trocchi": { + "variants": ["400"] + }, + "Trochut": { + "variants": ["400", "700", "400-italic"] + }, + "Truculenta": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "opsz", + "min": 12, + "max": 72, + "defaultValue": 14 + }, + { + "tag": "wdth", + "min": 75, + "max": 125, + "defaultValue": 100 + }, + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Trykker": { + "variants": ["400"] + }, + "Tulpen One": { + "variants": ["400"] + }, + "Turret Road": { + "variants": ["200", "300", "400", "500", "700", "800"] + }, + "Twinkle Star": { + "variants": ["400"] + }, + "Ubuntu": { + "variants": [ + "300", + "400", + "500", + "700", + "300-italic", + "400-italic", + "500-italic", + "700-italic" + ] + }, + "Ubuntu Condensed": { + "variants": ["400"] + }, + "Ubuntu Mono": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Uchen": { + "variants": ["400"] + }, + "Ultra": { + "variants": ["400"] + }, + "Uncial Antiqua": { + "variants": ["400"] + }, + "Underdog": { + "variants": ["400"] + }, + "Unica One": { + "variants": ["400"] + }, + "UnifrakturCook": { + "variants": ["700"] + }, + "UnifrakturMaguntia": { + "variants": ["400"] + }, + "Unkempt": { + "variants": ["400", "700"] + }, + "Unlock": { + "variants": ["400"] + }, + "Unna": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Updock": { + "variants": ["400"] + }, + "Urbanist": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "VT323": { + "variants": ["400"] + }, + "Vampiro One": { + "variants": ["400"] + }, + "Varela": { + "variants": ["400"] + }, + "Varela Round": { + "variants": ["400"] + }, + "Varta": { + "variants": ["300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Vast Shadow": { + "variants": ["400"] + }, + "Vazirmatn": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "variable" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Vesper Libre": { + "variants": ["400", "500", "700", "900"] + }, + "Viaoda Libre": { + "variants": ["400"] + }, + "Vibes": { + "variants": ["400"] + }, + "Vibur": { + "variants": ["400"] + }, + "Vidaloka": { + "variants": ["400"] + }, + "Viga": { + "variants": ["400"] + }, + "Voces": { + "variants": ["400"] + }, + "Volkhov": { + "variants": ["400", "700", "400-italic", "700-italic"] + }, + "Vollkorn": { + "variants": [ + "400", + "500", + "600", + "700", + "800", + "900", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 400, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Vollkorn SC": { + "variants": ["400", "600", "700", "900"] + }, + "Voltaire": { + "variants": ["400"] + }, + "Vujahday Script": { + "variants": ["400"] + }, + "Waiting for the Sunrise": { + "variants": ["400"] + }, + "Wallpoet": { + "variants": ["400"] + }, + "Walter Turncoat": { + "variants": ["400"] + }, + "Warnes": { + "variants": ["400"] + }, + "Water Brush": { + "variants": ["400"] + }, + "Waterfall": { + "variants": ["400"] + }, + "Wellfleet": { + "variants": ["400"] + }, + "Wendy One": { + "variants": ["400"] + }, + "Whisper": { + "variants": ["400"] + }, + "WindSong": { + "variants": ["400", "500"] + }, + "Wire One": { + "variants": ["400"] + }, + "Work Sans": { + "variants": [ + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + "100-italic", + "200-italic", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "800-italic", + "900-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 100, + "max": 900, + "defaultValue": 400 + } + ] + }, + "Xanh Mono": { + "variants": ["400", "400-italic"] + }, + "Yaldevi": { + "variants": ["200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Yanone Kaffeesatz": { + "variants": ["200", "300", "400", "500", "600", "700", "variable"], + "axes": [ + { + "tag": "wght", + "min": 200, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Yantramanav": { + "variants": ["100", "300", "400", "500", "700", "900"] + }, + "Yatra One": { + "variants": ["400"] + }, + "Yellowtail": { + "variants": ["400"] + }, + "Yeon Sung": { + "variants": ["400"] + }, + "Yeseva One": { + "variants": ["400"] + }, + "Yesteryear": { + "variants": ["400"] + }, + "Yomogi": { + "variants": ["400"] + }, + "Yrsa": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic", + "variable", + "variable-italic" + ], + "axes": [ + { + "tag": "wght", + "min": 300, + "max": 700, + "defaultValue": 400 + } + ] + }, + "Yuji Boku": { + "variants": ["400"] + }, + "Yuji Mai": { + "variants": ["400"] + }, + "Yuji Syuku": { + "variants": ["400"] + }, + "Yusei Magic": { + "variants": ["400"] + }, + "ZCOOL KuaiLe": { + "variants": ["400"] + }, + "ZCOOL QingKe HuangYou": { + "variants": ["400"] + }, + "ZCOOL XiaoWei": { + "variants": ["400"] + }, + "Zen Antique": { + "variants": ["400"] + }, + "Zen Antique Soft": { + "variants": ["400"] + }, + "Zen Dots": { + "variants": ["400"] + }, + "Zen Kaku Gothic Antique": { + "variants": ["300", "400", "500", "700", "900"] + }, + "Zen Kaku Gothic New": { + "variants": ["300", "400", "500", "700", "900"] + }, + "Zen Kurenaido": { + "variants": ["400"] + }, + "Zen Loop": { + "variants": ["400", "400-italic"] + }, + "Zen Maru Gothic": { + "variants": ["300", "400", "500", "700", "900"] + }, + "Zen Old Mincho": { + "variants": ["400", "700", "900"] + }, + "Zen Tokyo Zoo": { + "variants": ["400"] + }, + "Zeyada": { + "variants": ["400"] + }, + "Zhi Mang Xing": { + "variants": ["400"] + }, + "Zilla Slab": { + "variants": [ + "300", + "400", + "500", + "600", + "700", + "300-italic", + "400-italic", + "500-italic", + "600-italic", + "700-italic" + ] + }, + "Zilla Slab Highlight": { + "variants": ["400", "700"] + } +} diff --git a/packages/font/src/google/index.ts b/packages/font/src/google/index.ts new file mode 100644 index 0000000000000..83921541286c8 --- /dev/null +++ b/packages/font/src/google/index.ts @@ -0,0 +1,13243 @@ +type Display = 'auto' | 'block' | 'swap' | 'fallback' | 'optional' +type FontModule = { + className: string + variable: string + style: { fontFamily: string; fontWeight?: number; fontStyle?: string } +} +export declare function ABeeZee(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Abel(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Abhaya_Libre(options: { + variant: '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aboreto(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Abril_Fatface(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aclonica(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Acme(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Actor(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Adamina(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Advent_Pro(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aguafina_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Akaya_Kanadaka(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Akaya_Telivigala(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Akronim(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Akshar(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aladin(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alata(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alatsi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Albert_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aldrich(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alef(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alegreya(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alegreya_SC(options: { + variant: + | '400' + | '500' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alegreya_Sans(options: { + variant: + | '100' + | '300' + | '400' + | '500' + | '700' + | '800' + | '900' + | '100-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alegreya_Sans_SC(options: { + variant: + | '100' + | '300' + | '400' + | '500' + | '700' + | '800' + | '900' + | '100-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aleo(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alex_Brush(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alfa_Slab_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alice(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alike(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alike_Angular(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Allan(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Allerta(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Allerta_Stencil(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Allison(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Allura(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Almarai(options: { + variant: '300' | '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Almendra(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Almendra_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Almendra_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alumni_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alumni_Sans_Collegiate_One(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alumni_Sans_Inline_One(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Alumni_Sans_Pinstripe(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amarante(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amaranth(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amatic_SC(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amethysta(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amiko(options: { + variant: '400' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amiri(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amiri_Quran(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Amita(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Anaheim(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Andada_Pro(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Andika(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Anek_Bangla(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Devanagari(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Gujarati(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Gurmukhi(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Kannada(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Latin(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Malayalam(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Odia(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Tamil(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Anek_Telugu(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Angkor(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Annie_Use_Your_Telescope(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Anonymous_Pro(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Antic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Antic_Didone(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Antic_Slab(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Anton(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Antonio(options?: { + variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Anybody(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Arapey(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arbutus(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arbutus_Slab(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Architects_Daughter(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Archivo(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Archivo_Black(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Archivo_Narrow(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Are_You_Serious(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aref_Ruqaa(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aref_Ruqaa_Ink(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arima(options?: { + variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arima_Madurai(options: { + variant: '100' | '200' | '300' | '400' | '500' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arimo(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arizonia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Armata(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arsenal(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Artifika(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arvo(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Arya(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Asap(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Asap_Condensed(options: { + variant: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Asar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Asset(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Assistant(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Astloch(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Asul(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Athiti(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Atkinson_Hyperlegible(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Atma(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Atomic_Age(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Aubrey(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Audiowide(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Autour_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Average(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Average_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Averia_Gruesa_Libre(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Averia_Libre(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Averia_Sans_Libre(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Averia_Serif_Libre(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Azeret_Mono(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function B612(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function B612_Mono(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BIZ_UDGothic(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BIZ_UDMincho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BIZ_UDPGothic(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BIZ_UDPMincho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Babylonica(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bad_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bahiana(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bahianita(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bai_Jamjuree(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bakbak_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ballet(options?: { + variant?: '400' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Baloo_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Bhai_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Bhaijaan_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Bhaina_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Chettan_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Da_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Paaji_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Tamma_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Tammudu_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baloo_Thambi_2(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Balsamiq_Sans(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Balthazar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bangers(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Barlow(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Barlow_Condensed(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Barlow_Semi_Condensed(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Barriecito(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Barrio(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Basic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baskervville(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Battambang(options: { + variant: '100' | '300' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Baumans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bayon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Be_Vietnam_Pro(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Beau_Rivage(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bebas_Neue(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Belgrano(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bellefair(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Belleza(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bellota(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bellota_Text(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BenchNine(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Benne(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bentham(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Berkshire_Swash(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Besley(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Beth_Ellen(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bevan(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BhuTuka_Expanded_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Display(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Inline_Display(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Inline_Text(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Stencil_Display(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Stencil_Text(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Big_Shoulders_Text(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bigelow_Rules(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bigshot_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bilbo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bilbo_Swash_Caps(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BioRhyme(options: { + variant: '200' | '300' | '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function BioRhyme_Expanded(options: { + variant: '200' | '300' | '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Birthstone(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Birthstone_Bounce(options: { + variant: '400' | '500' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Biryani(options: { + variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bitter(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Black_And_White_Picture(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Black_Han_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Black_Ops_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Blaka(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Blaka_Hollow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Blaka_Ink(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Blinker(options: { + variant: '100' | '200' | '300' | '400' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bodoni_Moda(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Bokor(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bona_Nova(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bonbon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bonheur_Royale(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Boogaloo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bowlby_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bowlby_One_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Brawler(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bree_Serif(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Brygada_1918(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bubblegum_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bubbler_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Buda(options: { + variant: '300' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Buenard(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee_Hairline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee_Inline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee_Outline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee_Shade(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Bungee_Spice(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Butcherman(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Butterfly_Kids(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cabin(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Cabin_Condensed(options: { + variant: '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cabin_Sketch(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Caesar_Dressing(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cagliostro(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cairo(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cairo_Play(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'slnt'[] +}): FontModule +export declare function Caladea(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Calistoga(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Calligraffitti(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cambay(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cambo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Candal(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cantarell(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cantata_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cantora_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Capriola(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Caramel(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Carattere(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cardo(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Carme(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Carrois_Gothic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Carrois_Gothic_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Carter_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Castoro(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Catamaran(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Caudex(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Caveat(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Caveat_Brush(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cedarville_Cursive(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ceviche_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chakra_Petch(options: { + variant: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Changa(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Changa_One(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chango(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Charis_SIL(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Charm(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Charmonman(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chathura(options: { + variant: '100' | '300' | '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chau_Philomene_One(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chela_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chelsea_Market(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chenla(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cherish(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cherry_Cream_Soda(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cherry_Swash(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chewy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chicle(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chilanka(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chivo(options: { + variant: + | '300' + | '400' + | '700' + | '900' + | '300-italic' + | '400-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Chonburi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cinzel(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cinzel_Decorative(options: { + variant: '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Clicker_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Coda(options: { + variant: '400' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Coda_Caption(options: { + variant: '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Codystar(options: { + variant: '300' | '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Coiny(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Combo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Comfortaa(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Comforter(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Comforter_Brush(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Comic_Neue(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Coming_Soon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Commissioner(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Concert_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Condiment(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Content(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Contrail_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Convergence(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cookie(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Copse(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Corben(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Corinthia(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant_Garamond(options: { + variant: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant_Infant(options: { + variant: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant_SC(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant_Unicase(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cormorant_Upright(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Courgette(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Courier_Prime(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cousine(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Coustard(options: { + variant: '400' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Covered_By_Your_Grace(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Crafty_Girls(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Creepster(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Crete_Round(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Crimson_Pro(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Crimson_Text(options: { + variant: '400' | '600' | '700' | '400-italic' | '600-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Croissant_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Crushed(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cuprum(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cute_Font(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cutive(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Cutive_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DM_Mono(options: { + variant: '300' | '400' | '500' | '300-italic' | '400-italic' | '500-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DM_Sans(options: { + variant: '400' | '500' | '700' | '400-italic' | '500-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DM_Serif_Display(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DM_Serif_Text(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Damion(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dancing_Script(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dangrek(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Darker_Grotesque(options: { + variant: '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function David_Libre(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dawning_of_a_New_Day(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Days_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dekko(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dela_Gothic_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Delius(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Delius_Swash_Caps(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Delius_Unicase(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Della_Respira(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Denk_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Devonshire(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dhurjati(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Didact_Gothic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Diplomata(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Diplomata_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Do_Hyeon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dokdo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Domine(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Donegal_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dongle(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Doppio_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dorsa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dosis(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DotGothic16(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Dr_Sugiyama(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Duru_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function DynaPuff(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Dynalight(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function EB_Garamond(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Eagle_Lake(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function East_Sea_Dokdo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Eater(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Economica(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Eczar(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Edu_NSW_ACT_Foundation(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Edu_QLD_Beginner(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Edu_SA_Beginner(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Edu_TAS_Beginner(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Edu_VIC_WA_NT_Beginner(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function El_Messiri(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Electrolize(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Elsie(options: { + variant: '400' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Elsie_Swash_Caps(options: { + variant: '400' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Emblema_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Emilys_Candy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Encode_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Encode_Sans_Condensed(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Encode_Sans_Expanded(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Encode_Sans_SC(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Encode_Sans_Semi_Condensed(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Encode_Sans_Semi_Expanded(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Engagement(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Englebert(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Enriqueta(options: { + variant: '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ephesis(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Epilogue(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Erica_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Esteban(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Estonia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Euphoria_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ewert(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Exo(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Exo_2(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Expletus_Sans(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Explora(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fahkwang(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Familjen_Grotesk(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fanwood_Text(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Farro(options: { + variant: '300' | '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Farsan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fascinate(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fascinate_Inline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Faster_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fasthand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fauna_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Faustina(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Federant(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Federo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Felipa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fenix(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Festive(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Figtree(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Finger_Paint(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Finlandica(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fira_Code(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fira_Mono(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fira_Sans(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fira_Sans_Condensed(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fira_Sans_Extra_Condensed(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fjalla_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fjord_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Flamenco(options: { + variant: '300' | '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Flavors(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fleur_De_Leah(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Flow_Block(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Flow_Circular(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Flow_Rounded(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fondamento(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fontdiner_Swanky(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Forum(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Francois_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Frank_Ruhl_Libre(options: { + variant: '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fraunces(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ('SOFT' | 'WONK' | 'opsz')[] +}): FontModule +export declare function Freckle_Face(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fredericka_the_Great(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fredoka(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Fredoka_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Freehand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fresca(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Frijole(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fruktur(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fugaz_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fuggles(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Fuzzy_Bubbles(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function GFS_Didot(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function GFS_Neohellenic(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gabriela(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gaegu(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gafata(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Galada(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Galdeano(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Galindo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gamja_Flower(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gantari(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gayathri(options: { + variant: '100' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gelasio(options: { + variant: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gemunu_Libre(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Genos(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gentium_Book_Basic(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gentium_Book_Plus(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gentium_Plus(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Geo(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Georama(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Geostar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Geostar_Fill(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Germania_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gideon_Roman(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gidugu(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gilda_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Girassol(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Give_You_Glory(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Glass_Antiqua(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Glegoo(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gloria_Hallelujah(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Glory(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gluten(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'slnt'[] +}): FontModule +export declare function Goblin_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gochi_Hand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Goldman(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gorditas(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gothic_A1(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gotu(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Goudy_Bookletter_1911(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gowun_Batang(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gowun_Dodum(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Graduate(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grand_Hotel(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grandstander(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grape_Nuts(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gravitas_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Great_Vibes(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grechen_Fuemen(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grenze(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grenze_Gotisch(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Grey_Qo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Griffy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gruppo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gudea(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gugi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gulzar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gupter(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gurajada(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Gwendolyn(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Habibi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hachi_Maru_Pop(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hahmlet(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Halant(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hammersmith_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hanalei(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hanalei_Fill(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Handlee(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hanuman(options: { + variant: '100' | '300' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Happy_Monkey(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Harmattan(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Headland_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Heebo(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Henny_Penny(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hepta_Slab(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Herr_Von_Muellerhoff(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hi_Melody(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hina_Mincho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hind(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hind_Guntur(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hind_Madurai(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hind_Siliguri(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hind_Vadodara(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Holtwood_One_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Homemade_Apple(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Homenaje(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hubballi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Hurricane(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Mono(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Arabic(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Condensed(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Devanagari(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Hebrew(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_KR(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Thai(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Sans_Thai_Looped(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IBM_Plex_Serif(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_DW_Pica(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_DW_Pica_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_Double_Pica(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_Double_Pica_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_English(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_English_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_French_Canon(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_French_Canon_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_Great_Primer(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function IM_Fell_Great_Primer_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ibarra_Real_Nova(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Iceberg(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Iceland(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Imbue(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Imperial_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Imprima(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inconsolata(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Inder(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Indie_Flower(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ingrid_Darling(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inika(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inknut_Antiqua(options: { + variant: '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inria_Sans(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inria_Serif(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inspiration(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Inter(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'slnt'[] +}): FontModule +export declare function Irish_Grover(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Island_Moments(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Istok_Web(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Italiana(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Italianno(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Itim(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jacques_Francois(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jacques_Francois_Shadow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jaldi(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function JetBrains_Mono(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jim_Nightshade(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Joan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jockey_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jolly_Lodger(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jomhuria(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jomolhari(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Josefin_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Josefin_Slab(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jost(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Joti_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jua(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Judson(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Julee(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Julius_Sans_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Junge(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Jura(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Just_Another_Hand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Just_Me_Again_Down_Here(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function K2D(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kadwa(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kaisei_Decol(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kaisei_HarunoUmi(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kaisei_Opti(options: { + variant: '400' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kaisei_Tokumin(options: { + variant: '400' | '500' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kalam(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kameron(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kanit(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kantumruy(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kantumruy_Pro(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Karantina(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Karla(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Karma(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Katibeh(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kaushan_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kavivanar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kavoon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kdam_Thmor_Pro(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Keania_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kelly_Slab(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kenia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Khand(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Khmer(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Khula(options: { + variant: '300' | '400' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kings(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kirang_Haerang(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kite_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kiwi_Maru(options: { + variant: '300' | '400' | '500' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Klee_One(options: { + variant: '400' | '600' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Knewave(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function KoHo(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kodchasan(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Koh_Santepheap(options: { + variant: '100' | '300' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kolker_Brush(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kosugi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kosugi_Maru(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kotta_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Koulen(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kranky(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kreon(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kristi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Krona_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Krub(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kufam(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kulim_Park(options: { + variant: + | '200' + | '300' + | '400' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kumar_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kumar_One_Outline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kumbh_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Kurale(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function La_Belle_Aurore(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lacquer(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Laila(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lakki_Reddy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lalezar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lancelot(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Langar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lateef(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lato(options: { + variant: + | '100' + | '300' + | '400' + | '700' + | '900' + | '100-italic' + | '300-italic' + | '400-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lavishly_Yours(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function League_Gothic(options?: { + variant?: '400' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function League_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function League_Spartan(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Leckerli_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ledger(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lekton(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lemon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lemonada(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Deca(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Exa(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Giga(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Mega(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Peta(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Tera(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lexend_Zetta(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_128(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_128_Text(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_39(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_39_Extended(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_39_Extended_Text(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_39_Text(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Barcode_EAN13_Text(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Baskerville(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Bodoni(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Caslon_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Caslon_Text(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Libre_Franklin(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Licorice(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Life_Savers(options: { + variant: '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lilita_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lily_Script_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Limelight(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Linden_Hill(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Literata(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Liu_Jian_Mao_Cao(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Livvic(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lobster(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lobster_Two(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Londrina_Outline(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Londrina_Shadow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Londrina_Sketch(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Londrina_Solid(options: { + variant: '100' | '300' | '400' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Long_Cang(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lora(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Love_Light(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Love_Ya_Like_A_Sister(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Loved_by_the_King(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lovers_Quarrel(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Luckiest_Guy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lusitana(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Lustria(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Luxurious_Roman(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Luxurious_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function M_PLUS_1(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function M_PLUS_1_Code(options?: { + variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function M_PLUS_1p(options: { + variant: '100' | '300' | '400' | '500' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function M_PLUS_2(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function M_PLUS_Code_Latin(options?: { + variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function M_PLUS_Rounded_1c(options: { + variant: '100' | '300' | '400' | '500' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ma_Shan_Zheng(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Macondo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Macondo_Swash_Caps(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mada(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Magra(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Maiden_Orange(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Maitree(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Major_Mono_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mako(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mali(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mallanna(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mandali(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Manjari(options: { + variant: '100' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Manrope(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mansalva(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Manuale(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marcellus(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marcellus_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marck_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Margarine(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Markazi_Text(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marko_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marmelad(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Martel(options: { + variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Martel_Sans(options: { + variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Marvel(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mate(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mate_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Maven_Pro(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function McLaren(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mea_Culpa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Meddon(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function MedievalSharp(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Medula_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Meera_Inimai(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Megrim(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Meie_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Meow_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Merienda(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Merienda_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Merriweather(options: { + variant: + | '300' + | '400' + | '700' + | '900' + | '300-italic' + | '400-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Merriweather_Sans(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Metal(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Metal_Mania(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Metamorphous(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Metrophobic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Michroma(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Milonga(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Miltonian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Miltonian_Tattoo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mina(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mingzat(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Miniver(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Miriam_Libre(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mirza(options: { + variant: '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Miss_Fajardose(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mitr(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mochiy_Pop_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mochiy_Pop_P_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Modak(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Modern_Antiqua(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mogra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mohave(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Molengo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Molle(options: { + variant: '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Monda(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Monofett(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Monoton(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Monsieur_La_Doulaise(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montaga(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montagu_Slab(options?: { + variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function MonteCarlo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montez(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montserrat(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montserrat_Alternates(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Montserrat_Subrayada(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Moo_Lah_Lah(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Moon_Dance(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Moul(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Moulpali(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mountains_of_Christmas(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mouse_Memoirs(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mr_Bedfort(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mr_Dafoe(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mr_De_Haviland(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mrs_Saint_Delafield(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mrs_Sheppards(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ms_Madi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mukta(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mukta_Mahee(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mukta_Malar(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mukta_Vaani(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mulish(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Murecho(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function MuseoModerno(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function My_Soul(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Mystery_Quest(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function NTR(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nabla(options?: { + variant?: '400' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ('EDPT' | 'EHLT')[] +}): FontModule +export declare function Nanum_Brush_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nanum_Gothic(options: { + variant: '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nanum_Gothic_Coding(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nanum_Myeongjo(options: { + variant: '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nanum_Pen_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Neonderthaw(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nerko_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Neucha(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Neuton(options: { + variant: '200' | '300' | '400' | '700' | '800' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function New_Rocker(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function New_Tegomin(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function News_Cycle(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Newsreader(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Niconne(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Niramit(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nixie_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nobile(options: { + variant: '400' | '500' | '700' | '400-italic' | '500-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nokora(options: { + variant: '100' | '300' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Norican(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nosifer(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Notable(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nothing_You_Could_Do(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noticia_Text(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Color_Emoji(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Emoji(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Kufi_Arabic(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Music(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Naskh_Arabic(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Nastaliq_Urdu(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Rashi_Hebrew(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Adlam(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Adlam_Unjoined(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Anatolian_Hieroglyphs(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Arabic(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Armenian(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Avestan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Balinese(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Bamum(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Bassa_Vah(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Batak(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Bengali(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Bhaiksuki(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Brahmi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Buginese(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Buhid(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Canadian_Aboriginal(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Carian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Caucasian_Albanian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Chakma(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Cham(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Cherokee(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Coptic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Cuneiform(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Cypriot(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Deseret(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Devanagari(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Display(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Duployan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Egyptian_Hieroglyphs(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Elbasan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Elymaic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Georgian(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Glagolitic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Gothic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Grantha(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Gujarati(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Gunjala_Gondi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Gurmukhi(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_HK(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Hanifi_Rohingya(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Hanunoo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Hatran(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Hebrew(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Imperial_Aramaic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Indic_Siyaq_Numbers(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Inscriptional_Pahlavi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Inscriptional_Parthian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_JP(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Javanese(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_KR(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Kaithi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Kannada(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Kayah_Li(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Kharoshthi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Khmer(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Khojki(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Khudawadi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Lao(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Lepcha(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Limbu(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Linear_A(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Linear_B(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Lisu(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Lycian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Lydian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Mahajani(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Malayalam(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Mandaic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Manichaean(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Marchen(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Masaram_Gondi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Math(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Mayan_Numerals(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Medefaidrin(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Meetei_Mayek(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Meroitic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Miao(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Modi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Mongolian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Mono(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Mro(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Multani(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Myanmar(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_N_Ko(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Nabataean(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_New_Tai_Lue(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Newa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Nushu(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Ogham(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Ol_Chiki(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Hungarian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Italic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_North_Arabian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Permic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Persian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Sogdian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_South_Arabian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Old_Turkic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Oriya(options: { + variant: '100' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Osage(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Osmanya(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Pahawh_Hmong(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Palmyrene(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Pau_Cin_Hau(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Phags_Pa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Phoenician(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Psalter_Pahlavi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Rejang(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Runic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_SC(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Samaritan(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Saurashtra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Sharada(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Shavian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Siddham(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Sinhala(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Sogdian(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Sora_Sompeng(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Soyombo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Sundanese(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Syloti_Nagri(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Symbols(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Symbols_2(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Syriac(options: { + variant: '100' | '400' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_TC(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tagalog(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tagbanwa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tai_Le(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tai_Tham(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tai_Viet(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Takri(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tamil(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Tamil_Supplement(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Telugu(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Thaana(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Thai(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Sans_Thai_Looped(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tifinagh(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Tirhuta(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Ugaritic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Vai(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Wancho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Warang_Citi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Yi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Sans_Zanabazar_Square(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Ahom(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Armenian(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Balinese(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Bengali(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Devanagari(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Display(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Dogra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Ethiopic(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Georgian(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Grantha(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Gujarati(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Gurmukhi(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_HK(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Hebrew(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_JP(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_KR(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Kannada(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Khmer(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Lao(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Malayalam(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Myanmar(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Nyiakeng_Puachue_Hmong(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_SC(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Sinhala(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_TC(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Tamil(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Tangut(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Telugu(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Thai(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Noto_Serif_Tibetan(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Serif_Yezidi(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Noto_Traditional_Nushu(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Cut(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Flat(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Oval(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Round(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Slim(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nova_Square(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Numans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nunito(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nunito_Sans(options: { + variant: + | '200' + | '300' + | '400' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Nuosu_SIL(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Odibee_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Odor_Mean_Chey(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Offside(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Old_Standard_TT(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oldenburg(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ole(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oleo_Script(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oleo_Script_Swash_Caps(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oooh_Baby(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Open_Sans(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Oranienbaum(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Orbitron(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oregano(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Orelega_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Orienta(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Original_Surfer(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oswald(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Outfit(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Over_the_Rainbow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Overlock(options: { + variant: '400' | '700' | '900' | '400-italic' | '700-italic' | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Overlock_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Overpass(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Overpass_Mono(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ovo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oxanium(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oxygen(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Oxygen_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Sans(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Sans_Caption(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Sans_Narrow(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Serif(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function PT_Serif_Caption(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pacifico(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Padauk(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Palanquin(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Palanquin_Dark(options: { + variant: '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pangolin(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Paprika(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Parisienne(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Passero_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Passion_One(options: { + variant: '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Passions_Conflict(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pathway_Gothic_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Patrick_Hand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Patrick_Hand_SC(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pattaya(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Patua_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pavanam(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Paytone_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Peddana(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Peralta(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Permanent_Marker(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Petemoss(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Petit_Formal_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Petrona(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Philosopher(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Piazzolla(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Piedra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pinyon_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pirata_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Plaster(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Play(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Playball(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Playfair_Display(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Playfair_Display_SC(options: { + variant: '400' | '700' | '900' | '400-italic' | '700-italic' | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Plus_Jakarta_Sans(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Podkova(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Poiret_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Poller_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Poly(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pompiere(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pontano_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Poor_Story(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Poppins(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Port_Lligat_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Port_Lligat_Slab(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Potta_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pragati_Narrow(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Praise(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Prata(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Preahvihear(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Press_Start_2P(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Pridi(options: { + variant: '200' | '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Princess_Sofia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Prociono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Prompt(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Prosto_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Proza_Libre(options: { + variant: + | '400' + | '500' + | '600' + | '700' + | '800' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Public_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Puppies_Play(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Puritan(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Purple_Purse(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Qahiri(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quando(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quantico(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quattrocento(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quattrocento_Sans(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Questrial(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quicksand(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Quintessential(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Qwigley(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Qwitcher_Grypen(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Racing_Sans_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Radio_Canada(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Radley(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rajdhani(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rakkas(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Raleway(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Raleway_Dots(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ramabhadra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ramaraja(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rambla(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rammetto_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rampart_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ranchers(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rancho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ranga(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rasa(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rationale(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ravi_Prakash(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Readex_Pro(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Recursive(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ('CASL' | 'CRSV' | 'MONO' | 'slnt')[] +}): FontModule +export declare function Red_Hat_Display(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Red_Hat_Mono(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Red_Hat_Text(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Red_Rose(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Redacted(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Redacted_Script(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Redressed(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Reem_Kufi(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Reem_Kufi_Fun(options?: { + variant?: '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Reem_Kufi_Ink(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Reenie_Beanie(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Reggae_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Revalia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rhodium_Libre(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ribeye(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ribeye_Marrow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Righteous(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Risque(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Road_Rage(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Roboto(options: { + variant: + | '100' + | '300' + | '400' + | '500' + | '700' + | '900' + | '100-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Roboto_Condensed(options: { + variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Roboto_Flex(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '1000' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ( + | 'GRAD' + | 'XTRA' + | 'YOPQ' + | 'YTAS' + | 'YTDE' + | 'YTFI' + | 'YTLC' + | 'YTUC' + | 'opsz' + | 'slnt' + | 'wdth' + )[] +}): FontModule +export declare function Roboto_Mono(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Roboto_Serif(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ('GRAD' | 'opsz' | 'wdth')[] +}): FontModule +export declare function Roboto_Slab(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rochester(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rock_Salt(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function RocknRoll_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rokkitt(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Romanesco(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ropa_Sans(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rosario(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rosarivo(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rouge_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rowdies(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rozha_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Beastly(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Bubbles(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Burned(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Dirt(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Distressed(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Glitch(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Iso(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Marker_Hatch(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Maze(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Microbe(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Mono_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Moonrocks(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Puddles(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rubik_Wet_Paint(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ruda(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rufina(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ruge_Boogie(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ruluko(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rum_Raisin(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ruslan_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Russo_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ruthie(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Rye(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function STIX_Two_Text(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sacramento(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sahitya(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sail(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Saira(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Saira_Condensed(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Saira_Extra_Condensed(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Saira_Semi_Condensed(options: { + variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Saira_Stencil_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Salsa(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sanchez(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sancreek(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sansita(options: { + variant: + | '400' + | '700' + | '800' + | '900' + | '400-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sansita_Swashed(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sarabun(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sarala(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sarina(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sarpanch(options: { + variant: '400' | '500' | '600' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sassy_Frass(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Satisfy(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sawarabi_Gothic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sawarabi_Mincho(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Scada(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Scheherazade_New(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Schoolbell(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Scope_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Seaweed_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Secular_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sedgwick_Ave(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sedgwick_Ave_Display(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sen(options: { + variant: '400' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Send_Flowers(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sevillana(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Seymour_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shadows_Into_Light(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shadows_Into_Light_Two(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shalimar(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shanti(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Share(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Share_Tech(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Share_Tech_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shippori_Antique(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shippori_Antique_B1(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shippori_Mincho(options: { + variant: '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shippori_Mincho_B1(options: { + variant: '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shojumaru(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Short_Stack(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Shrikhand(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Siemreap(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sigmar_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Signika(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Signika_Negative(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Silkscreen(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Simonetta(options: { + variant: '400' | '900' | '400-italic' | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Single_Day(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sintony(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sirin_Stencil(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Six_Caps(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Skranji(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Slabo_13px(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Slabo_27px(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Slackey(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Smokum(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Smooch(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Smooch_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Smythe(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sniglet(options: { + variant: '400' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Snippet(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Snowburst_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sofadi_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sofia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Solway(options: { + variant: '300' | '400' | '500' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Song_Myung(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sonsie_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sora(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sorts_Mill_Goudy(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Source_Code_Pro(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Source_Sans_3(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Source_Sans_Pro(options: { + variant: + | '200' + | '300' + | '400' + | '600' + | '700' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '600-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Source_Serif_4(options?: { + variant?: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Source_Serif_Pro(options: { + variant: + | '200' + | '300' + | '400' + | '600' + | '700' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '600-italic' + | '700-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Space_Grotesk(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Space_Mono(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Special_Elite(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spectral(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spectral_SC(options: { + variant: + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spicy_Rice(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spinnaker(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spirax(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Splash(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spline_Sans(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Spline_Sans_Mono(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Squada_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Square_Peg(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sree_Krushnadevaraya(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sriracha(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Srisakdi(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Staatliches(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stalemate(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stalinist_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stardos_Stencil(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stick(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stick_No_Bills(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stint_Ultra_Condensed(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stint_Ultra_Expanded(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stoke(options: { + variant: '300' | '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Strait(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Style_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Stylish(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sue_Ellen_Francisco(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Suez_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sulphur_Point(options: { + variant: '300' | '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sumana(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sunflower(options: { + variant: '300' | '500' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sunshiney(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Supermercado_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Sura(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Suranna(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Suravaram(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Suwannaphum(options: { + variant: '100' | '300' | '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Swanky_and_Moo_Moo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Syncopate(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Syne(options?: { + variant?: '400' | '500' | '600' | '700' | '800' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Syne_Mono(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Syne_Tactile(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tai_Heritage_Pro(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tajawal(options: { + variant: '200' | '300' | '400' | '500' | '700' | '800' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tangerine(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tapestry(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Taprom(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tauri(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Taviraj(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Teko(options: { + variant: '300' | '400' | '500' | '600' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Telex(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tenali_Ramakrishna(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tenor_Sans(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Text_Me_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Texturina(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'opsz'[] +}): FontModule +export declare function Thasadith(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function The_Girl_Next_Door(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function The_Nautigal(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tienne(options: { + variant: '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tillana(options: { + variant: '400' | '500' | '600' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Timmana(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tinos(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Bangla(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Devanagari_Hindi(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Devanagari_Marathi(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Devanagari_Sanskrit(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Gurmukhi(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Kannada(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Tamil(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tiro_Telugu(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Titan_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Titillium_Web(options: { + variant: + | '200' + | '300' + | '400' + | '600' + | '700' + | '900' + | '200-italic' + | '300-italic' + | '400-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tomorrow(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tourney(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Trade_Winds(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Train_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Trirong(options: { + variant: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Trispace(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: 'wdth'[] +}): FontModule +export declare function Trocchi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Trochut(options: { + variant: '400' | '700' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Truculenta(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean + axes?: ('opsz' | 'wdth')[] +}): FontModule +export declare function Trykker(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Tulpen_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Turret_Road(options: { + variant: '200' | '300' | '400' | '500' | '700' | '800' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Twinkle_Star(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ubuntu(options: { + variant: + | '300' + | '400' + | '500' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ubuntu_Condensed(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ubuntu_Mono(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Uchen(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Ultra(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Uncial_Antiqua(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Underdog(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Unica_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function UnifrakturCook(options: { + variant: '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function UnifrakturMaguntia(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Unkempt(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Unlock(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Unna(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Updock(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Urbanist(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function VT323(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vampiro_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Varela(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Varela_Round(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Varta(options?: { + variant?: '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vast_Shadow(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vazirmatn(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vesper_Libre(options: { + variant: '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Viaoda_Libre(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vibes(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vibur(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vidaloka(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Viga(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Voces(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Volkhov(options: { + variant: '400' | '700' | '400-italic' | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vollkorn(options?: { + variant?: + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vollkorn_SC(options: { + variant: '400' | '600' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Voltaire(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Vujahday_Script(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Waiting_for_the_Sunrise(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Wallpoet(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Walter_Turncoat(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Warnes(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Water_Brush(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Waterfall(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Wellfleet(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Wendy_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Whisper(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function WindSong(options: { + variant: '400' | '500' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Wire_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Work_Sans(options?: { + variant?: + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + | '100-italic' + | '200-italic' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | '800-italic' + | '900-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Xanh_Mono(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yaldevi(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yanone_Kaffeesatz(options?: { + variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yantramanav(options: { + variant: '100' | '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yatra_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yellowtail(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yeon_Sung(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yeseva_One(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yesteryear(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yomogi(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yrsa(options?: { + variant?: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + | 'variable' + | 'variable-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yuji_Boku(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yuji_Mai(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yuji_Syuku(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Yusei_Magic(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function ZCOOL_KuaiLe(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function ZCOOL_QingKe_HuangYou(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function ZCOOL_XiaoWei(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Antique(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Antique_Soft(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Dots(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Kaku_Gothic_Antique(options: { + variant: '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Kaku_Gothic_New(options: { + variant: '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Kurenaido(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Loop(options: { + variant: '400' | '400-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Maru_Gothic(options: { + variant: '300' | '400' | '500' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Old_Mincho(options: { + variant: '400' | '700' | '900' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zen_Tokyo_Zoo(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zeyada(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zhi_Mang_Xing(options: { + variant: '400' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zilla_Slab(options: { + variant: + | '300' + | '400' + | '500' + | '600' + | '700' + | '300-italic' + | '400-italic' + | '500-italic' + | '600-italic' + | '700-italic' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule +export declare function Zilla_Slab_Highlight(options: { + variant: '400' | '700' + display?: Display + preload?: boolean + fallback?: string[] + adjustFontFallback?: boolean +}): FontModule diff --git a/packages/font/src/google/loader.ts b/packages/font/src/google/loader.ts new file mode 100644 index 0000000000000..1985e6111d551 --- /dev/null +++ b/packages/font/src/google/loader.ts @@ -0,0 +1,121 @@ +// @ts-ignore +import fetch from 'next/dist/compiled/node-fetch' +// @ts-ignore +import { calculateOverrideCSS } from 'next/dist/server/font-utils' +import { + fetchCSSFromGoogleFonts, + getFontAxes, + getUrl, + validateData, +} from './utils' + +type FontLoaderOptions = { + functionName: string + data: any[] + config: any + emitFontFile: (content: Buffer, ext: string, preload: boolean) => string +} + +export default async function downloadGoogleFonts({ + functionName, + data, + config, + emitFontFile, +}: FontLoaderOptions) { + if (!config?.subsets) { + throw new Error( + 'Please specify subsets for `@next/font/google` in your `next.config.js`' + ) + } + + const { + fontFamily, + weight, + style, + display, + preload, + selectedVariableAxes, + fallback, + adjustFontFallback, + } = validateData(functionName, data) + const fontAxes = getFontAxes(fontFamily, weight, style, selectedVariableAxes) + const url = getUrl(fontFamily, fontAxes, display) + + const fontFaceDeclarations = await fetchCSSFromGoogleFonts(url, fontFamily) + + // Find font files to download + const fontFiles: Array<{ + googleFontFileUrl: string + preloadFontFile: boolean + }> = [] + let currentSubset = '' + for (const line of fontFaceDeclarations.split('\n')) { + // Each @font-face has the subset above it in a comment + const newSubset = /\/\* (.+?) \*\//.exec(line)?.[1] + if (newSubset) { + currentSubset = newSubset + } else { + const googleFontFileUrl = /src: url\((.+?)\)/.exec(line)?.[1] + if (googleFontFileUrl) { + fontFiles.push({ + googleFontFileUrl, + preloadFontFile: !!preload && config.subsets.includes(currentSubset), + }) + } + } + } + + // Download font files + const downloadedFiles = await Promise.all( + fontFiles.map(async ({ googleFontFileUrl, preloadFontFile }) => { + let fontFileBuffer: Buffer + if (process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) { + fontFileBuffer = Buffer.from(googleFontFileUrl) + } else { + const arrayBuffer = await fetch(googleFontFileUrl).then((r: any) => + r.arrayBuffer() + ) + fontFileBuffer = Buffer.from(arrayBuffer) + } + + const ext = /\.(woff|woff2|eot|ttf|otf)$/.exec(googleFontFileUrl)![1] + // Emit font file to .next/static/fonts + const selfHostedFileUrl = emitFontFile( + fontFileBuffer, + ext, + preloadFontFile + ) + + return { + googleFontFileUrl, + selfHostedFileUrl, + } + }) + ) + + // Replace @font-face sources with self-hosted files + let updatedCssResponse = fontFaceDeclarations + for (const { googleFontFileUrl, selfHostedFileUrl } of downloadedFiles) { + updatedCssResponse = updatedCssResponse.replace( + googleFontFileUrl, + selfHostedFileUrl + ) + } + + // Add fallback font + if (adjustFontFallback) { + try { + updatedCssResponse += calculateOverrideCSS( + fontFamily, + require('next/dist/server/google-font-metrics.json') + ) + } catch (e) { + console.log('Error getting font override values - ', e) + } + } + + return { + css: updatedCssResponse, + fallbackFonts: fallback, + } +} diff --git a/packages/font/src/google/utils.ts b/packages/font/src/google/utils.ts new file mode 100644 index 0000000000000..af525a7a493b0 --- /dev/null +++ b/packages/font/src/google/utils.ts @@ -0,0 +1,189 @@ +// @ts-ignore +import fetch from 'next/dist/compiled/node-fetch' +import fontData from './font-data.json' +const allowedDisplayValues = ['auto', 'block', 'swap', 'fallback', 'optional'] + +const formatValues = (values: string[]) => + values.map((val) => `\`${val}\``).join(', ') + +type FontOptions = { + fontFamily: string + weight: string + style: string + display: string + preload: boolean + selectedVariableAxes?: string[] + fallback?: string[] + adjustFontFallback: boolean +} +export function validateData(functionName: string, data: any): FontOptions { + let { + variant, + display = 'optional', + preload = true, + axes, + fallback, + adjustFontFallback = true, + } = data[0] || ({} as any) + if (functionName === '') { + throw new Error(`@next/font/google has no default export`) + } + + const fontFamily = functionName.replace(/_/g, ' ') + + const fontVariants = (fontData as any)[fontFamily]?.variants + if (!fontVariants) { + throw new Error(`Unknown font \`${fontFamily}\``) + } + + // Set variable as default, throw if not available + if (!variant) { + if (fontVariants.includes('variable')) { + variant = 'variable' + } else { + throw new Error( + `Missing variant for font \`${fontFamily}\`.\nAvailable variants: ${formatValues( + fontVariants + )}` + ) + } + } + + if (!fontVariants.includes(variant)) { + throw new Error( + `Unknown variant \`${variant}\` for font \`${fontFamily}\`.\nAvailable variants: ${formatValues( + fontVariants + )}` + ) + } + + if (!allowedDisplayValues.includes(display)) { + throw new Error( + `Invalid display value \`${display}\` for font \`${fontFamily}\`.\nAvailable display values: ${formatValues( + allowedDisplayValues + )}` + ) + } + + const [weight, style] = variant.split('-') + + if (weight !== 'variable' && axes) { + throw new Error('Axes can only be defined for variable fonts') + } + + return { + fontFamily, + weight, + style, + display, + preload, + selectedVariableAxes: axes, + fallback, + adjustFontFallback, + } +} + +export function getUrl( + fontFamily: string, + axes: [string, string][], + display: string +) { + // Google api requires the axes to be sorted, starting with lowercase words + axes.sort(([a], [b]) => { + const aIsLowercase = a.charCodeAt(0) > 96 + const bIsLowercase = b.charCodeAt(0) > 96 + if (aIsLowercase && !bIsLowercase) return -1 + if (bIsLowercase && !aIsLowercase) return 1 + + return a > b ? 1 : -1 + }) + + return `https://fonts.googleapis.com/css2?family=${fontFamily.replace( + / /g, + '+' + )}:${axes.map(([key]) => key).join(',')}@${axes + .map(([, val]) => val) + .join(',')}&display=${display}` +} + +export async function fetchCSSFromGoogleFonts(url: string, fontFamily: string) { + let mockedResponse: string | undefined + if (process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) { + const mockFile = require(process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) + mockedResponse = mockFile[url] + if (!mockedResponse) { + throw new Error('Missing mocked response for URL: ' + url) + } + } + + let cssResponse + if (mockedResponse) { + cssResponse = mockedResponse + } else { + const res = await fetch(url, { + headers: { + // The file format is based off of the user agent, make sure woff2 files are fetched + 'user-agent': + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', + }, + }) + + if (!res.ok) { + throw new Error(`Failed to fetch font \`${fontFamily}\`.\nURL: ${url}`) + } + + cssResponse = await res.text() + } + + return cssResponse +} + +export function getFontAxes( + fontFamily: string, + weight: string, + style: string, + selectedVariableAxes?: string[] +): [string, string][] { + const allAxes: Array<{ tag: string; min: number; max: number }> = ( + fontData as any + )[fontFamily].axes + const italicAxis: [string, string][] = + style === 'italic' ? [['ital', '1']] : [] + + if (weight === 'variable') { + if (selectedVariableAxes) { + const defineAbleAxes: string[] = allAxes + .map(({ tag }) => tag) + .filter((tag) => tag !== 'wght') + if (defineAbleAxes.length === 0) { + throw new Error(`Font \`${fontFamily}\` has no definable \`axes\``) + } + if (!Array.isArray(selectedVariableAxes)) { + throw new Error( + `Invalid axes value for font \`${fontFamily}\`, expected an array of axes.\nAvailable axes: ${formatValues( + defineAbleAxes + )}` + ) + } + selectedVariableAxes.forEach((key) => { + if (!defineAbleAxes.some((tag) => tag === key)) { + throw new Error( + `Invalid axes value \`${key}\` for font \`${fontFamily}\`.\nAvailable axes: ${formatValues( + defineAbleAxes + )}` + ) + } + }) + } + + const variableAxes: [string, string][] = allAxes + .filter( + ({ tag }) => tag === 'wght' || selectedVariableAxes?.includes(tag) + ) + .map(({ tag, min, max }) => [tag, `${min}..${max}`]) + + return [...italicAxis, ...variableAxes] + } else { + return [...italicAxis, ['wght', weight]] + } +} diff --git a/packages/font/tsconfig.json b/packages/font/tsconfig.json new file mode 100644 index 0000000000000..7834550630a18 --- /dev/null +++ b/packages/font/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "strict": true, + "resolveJsonModule": true, + "module": "commonjs", + "esModuleInterop": true, + "target": "es2019", + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/packages/next/server/font-utils.ts b/packages/next/server/font-utils.ts index c505bbbb55028..557d47b17612a 100644 --- a/packages/next/server/font-utils.ts +++ b/packages/next/server/font-utils.ts @@ -98,7 +98,7 @@ function parseGoogleFontName(css: string): Array { return [...fontNames] } -function calculateOverrideCSS(font: string, fontMetrics: any) { +export function calculateOverrideCSS(font: string, fontMetrics: any) { const fontName = font.toLowerCase().trim().replace(/ /g, '-') const fontKey = font.toLowerCase().trim().replace(/ /g, '') const { category, ascentOverride, descentOverride, lineGapOverride } = diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aee0111858f5a..a1a6a25b2847a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,6 +24,7 @@ importers: '@next/bundle-analyzer': workspace:* '@next/env': workspace:* '@next/eslint-plugin-next': workspace:* + '@next/font': workspace:* '@next/mdx': workspace:* '@next/plugin-storybook': workspace:* '@next/polyfill-module': workspace:* @@ -180,6 +181,7 @@ importers: '@next/bundle-analyzer': link:packages/next-bundle-analyzer '@next/env': link:packages/next-env '@next/eslint-plugin-next': link:packages/eslint-plugin-next + '@next/font': link:packages/font '@next/mdx': link:packages/next-mdx '@next/plugin-storybook': link:packages/next-plugin-storybook '@next/polyfill-module': link:packages/next-polyfill-module @@ -561,8 +563,8 @@ importers: source-map: 0.6.1 stream-browserify: 3.0.0 stream-http: 3.1.1 - string_decoder: 1.3.0 string-hash: 1.1.3 + string_decoder: 1.3.0 strip-ansi: 6.0.0 styled-jsx: 5.0.7 tar: 6.1.11 @@ -750,8 +752,8 @@ importers: source-map: 0.6.1 stream-browserify: 3.0.0 stream-http: 3.1.1 - string_decoder: 1.3.0 string-hash: 1.1.3 + string_decoder: 1.3.0 strip-ansi: 6.0.0 tar: 6.1.11 taskr: 1.1.0 @@ -11224,8 +11226,8 @@ packages: engines: { node: '>=10' } hasBin: true dependencies: - is-text-path: 1.0.1 JSONStream: 1.3.5 + is-text-path: 1.0.1 lodash: 4.17.21 meow: 8.1.2 split2: 2.2.0 diff --git a/scripts/update-google-fonts.js b/scripts/update-google-fonts.js new file mode 100644 index 0000000000000..c8d808dc8b768 --- /dev/null +++ b/scripts/update-google-fonts.js @@ -0,0 +1,74 @@ +const fs = require('fs/promises') +const path = require('path') +const fetch = require('node-fetch') + +;(async () => { + const { familyMetadataList } = await fetch( + 'https://fonts.google.com/metadata/fonts' + ).then((r) => r.json()) + + let fontFunctions = `type Display = 'auto'|'block'|'swap'|'fallback'|'optional' +type FontModule = { className: string, variable: string, style: { fontFamily: string, fontWeight?: number, fontStyle?: string } } + ` + const fontData = {} + for (let { family, fonts, axes } of familyMetadataList) { + let hasItalic = false + const variants = Object.keys(fonts).map((variant) => { + if (variant.endsWith('i')) { + hasItalic = true + return `${variant.slice(0, 3)}-italic` + } + return variant + }) + + const hasVariableFont = axes.length > 0 + + let optionalAxes + if (hasVariableFont) { + variants.push('variable') + if (hasItalic) { + variants.push('variable-italic') + } + + const nonWeightAxes = axes.filter(({ tag }) => tag !== 'wght') + if (nonWeightAxes.length > 0) { + optionalAxes = nonWeightAxes + } + } + + fontData[family] = { + variants, + axes: hasVariableFont ? axes : undefined, + } + const optionalIfVariableFont = hasVariableFont ? '?' : '' + fontFunctions += `export declare function ${family.replaceAll( + ' ', + '_' + )}(options${optionalIfVariableFont}: { + variant${optionalIfVariableFont}:${variants + .map((variant) => `"${variant}"`) + .join('|')} + display?:Display, + preload?:boolean, + fallback?: string[] + adjustFontFallback?: boolean + ${ + optionalAxes + ? `axes?:(${optionalAxes.map(({ tag }) => `'${tag}'`).join('|')})[]` + : '' + } + }):FontModule + ` + } + + await Promise.all([ + fs.writeFile( + path.join(__dirname, '../packages/font/src/google/index.ts'), + fontFunctions + ), + fs.writeFile( + path.join(__dirname, '../packages/font/src/google/font-data.json'), + JSON.stringify(fontData, null, 2) + ), + ]) +})() From d85f7b10775e3db67a2170f6e6fa956a6e6e8724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 14:30:29 +0200 Subject: [PATCH 09/13] temp add swc plugin --- packages/next-swc/crates/core/src/lib.rs | 10 + .../find_functions_outside_module_scope.rs | 31 +++ .../font_functions_collector.rs | 68 ++++++ .../font_imports_generator.rs | 220 ++++++++++++++++++ .../crates/core/src/next_font_loaders/mod.rs | 77 ++++++ packages/next-swc/crates/core/tests/errors.rs | 14 +- .../next-font-loaders/import-all/input.js | 1 + .../next-font-loaders/import-all/output.js | 0 .../import-all/output.stderr | 6 + .../next-font-loaders/not-const/input.js | 11 + .../next-font-loaders/not-const/output.js | 4 + .../next-font-loaders/not-const/output.stderr | 14 ++ .../next-font-loaders/not-ident/input.js | 11 + .../next-font-loaders/not-ident/output.js | 1 + .../next-font-loaders/not-ident/output.stderr | 12 + .../next-font-loaders/options-object/input.js | 13 ++ .../options-object/output.js | 18 ++ .../options-object/output.stderr | 24 ++ .../next-font-loaders/spread-arg/input.js | 4 + .../next-font-loaders/spread-arg/output.js | 2 + .../spread-arg/output.stderr | 12 + .../next-font-loaders/wrong-scope/input.js | 24 ++ .../next-font-loaders/wrong-scope/output.js | 20 ++ .../wrong-scope/output.stderr | 30 +++ .../next-swc/crates/core/tests/fixture.rs | 12 + .../next-font-loaders/default-import/input.js | 3 + .../default-import/output.js | 1 + .../next-font-loaders/exports/input.js | 8 + .../next-font-loaders/exports/output.js | 5 + .../next-font-loaders/font-options/input.js | 11 + .../next-font-loaders/font-options/output.js | 3 + .../next-font-loaders/import-as/input.js | 6 + .../next-font-loaders/import-as/output.js | 2 + .../next-font-loaders/many-args/input.js | 3 + .../next-font-loaders/many-args/output.js | 1 + .../next-font-loaders/multiple-calls/input.js | 12 + .../multiple-calls/output.js | 3 + .../multiple-font-downloaders/input.js | 12 + .../multiple-font-downloaders/output.js | 3 + .../next-font-loaders/multiple-fonts/input.js | 11 + .../multiple-fonts/output.js | 3 + .../multiple-imports/input.js | 12 + .../multiple-imports/output.js | 3 + .../next-font-loaders/no-args/input.js | 3 + .../next-font-loaders/no-args/output.js | 1 + packages/next-swc/crates/core/tests/full.rs | 1 + 46 files changed, 745 insertions(+), 1 deletion(-) create mode 100644 packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs create mode 100644 packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs create mode 100644 packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs create mode 100644 packages/next-swc/crates/core/src/next_font_loaders/mod.rs create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js create mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js create mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js diff --git a/packages/next-swc/crates/core/src/lib.rs b/packages/next-swc/crates/core/src/lib.rs index 4ebe788b24e1b..3d3bca8aca192 100644 --- a/packages/next-swc/crates/core/src/lib.rs +++ b/packages/next-swc/crates/core/src/lib.rs @@ -36,6 +36,7 @@ use serde::Deserialize; use std::cell::RefCell; use std::rc::Rc; use std::{path::PathBuf, sync::Arc}; +use swc_core::ecma::atoms::JsWord; use swc_core::{ base::config::ModuleConfig, @@ -51,6 +52,7 @@ mod auto_cjs; pub mod disallow_re_export_all_in_page; pub mod hook_optimizer; pub mod next_dynamic; +pub mod next_font_loaders; pub mod next_ssg; pub mod page_config; pub mod react_remove_properties; @@ -109,6 +111,9 @@ pub struct TransformOptions { #[serde(default)] pub modularize_imports: Option, + + #[serde(default)] + pub font_loaders: Option>, } pub fn custom_before_pass<'a, C: Comments + 'a>( @@ -211,6 +216,11 @@ where match &opts.modularize_imports { Some(config) => Either::Left(modularize_imports::modularize_imports(config.clone())), None => Either::Right(noop()), + }, + match &opts.font_loaders { + Some(font_loaders) => + Either::Left(next_font_loaders::next_font_loaders(font_loaders.clone())), + None => Either::Right(noop()), } ) } diff --git a/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs b/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs new file mode 100644 index 0000000000000..f83742d205436 --- /dev/null +++ b/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs @@ -0,0 +1,31 @@ +use swc_core::common::errors::HANDLER; +use swc_core::ecma::ast::*; +use swc_core::ecma::visit::noop_visit_type; +use swc_core::ecma::visit::Visit; + +pub struct FindFunctionsOutsideModuleScope<'a> { + pub state: &'a super::State, +} + +impl<'a> Visit for FindFunctionsOutsideModuleScope<'a> { + noop_visit_type!(); + + fn visit_ident(&mut self, ident: &Ident) { + if self.state.font_functions.get(&ident.to_id()).is_some() + && self + .state + .font_functions_in_allowed_scope + .get(&ident.span.lo) + .is_none() + { + HANDLER.with(|handler| { + handler + .struct_span_err( + ident.span, + "Font loaders must be called and assigned to a const in the module scope", + ) + .emit() + }); + } + } +} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs b/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs new file mode 100644 index 0000000000000..e8fdfce66f0e6 --- /dev/null +++ b/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs @@ -0,0 +1,68 @@ +use swc_core::common::errors::HANDLER; +use swc_core::ecma::ast::*; +use swc_core::ecma::atoms::JsWord; +use swc_core::ecma::visit::noop_visit_type; +use swc_core::ecma::visit::Visit; + +pub struct FontFunctionsCollector<'a> { + pub font_loaders: &'a [JsWord], + pub state: &'a mut super::State, +} + +impl<'a> Visit for FontFunctionsCollector<'a> { + noop_visit_type!(); + + fn visit_import_decl(&mut self, import_decl: &ImportDecl) { + if self.font_loaders.contains(&import_decl.src.value) { + self.state + .removeable_module_items + .insert(import_decl.span.lo); + for specifier in &import_decl.specifiers { + match specifier { + ImportSpecifier::Named(ImportNamedSpecifier { + local, imported, .. + }) => { + self.state + .font_functions_in_allowed_scope + .insert(local.span.lo); + + let function_name = if let Some(ModuleExportName::Ident(ident)) = imported { + ident.sym.clone() + } else { + local.sym.clone() + }; + self.state.font_functions.insert( + local.to_id(), + super::FontFunction { + loader: import_decl.src.value.clone(), + function_name: Some(function_name), + }, + ); + } + ImportSpecifier::Default(ImportDefaultSpecifier { local, .. }) => { + self.state + .font_functions_in_allowed_scope + .insert(local.span.lo); + self.state.font_functions.insert( + local.to_id(), + super::FontFunction { + loader: import_decl.src.value.clone(), + function_name: None, + }, + ); + } + ImportSpecifier::Namespace(_) => { + HANDLER.with(|handler| { + handler + .struct_span_err( + import_decl.span, + "Font loaders can't have namespace imports", + ) + .emit() + }); + } + } + } + } + } +} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs b/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs new file mode 100644 index 0000000000000..6f8e3bb340712 --- /dev/null +++ b/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs @@ -0,0 +1,220 @@ +use serde_json::Value; +use swc_core::common::errors::HANDLER; +use swc_core::common::{Spanned, DUMMY_SP}; +use swc_core::ecma::ast::*; +use swc_core::ecma::atoms::JsWord; +use swc_core::ecma::visit::{noop_visit_type, Visit}; + +pub struct FontImportsGenerator<'a> { + pub state: &'a mut super::State, +} + +impl<'a> FontImportsGenerator<'a> { + fn check_call_expr(&mut self, call_expr: &CallExpr) -> Option { + if let Callee::Expr(callee_expr) = &call_expr.callee { + if let Expr::Ident(ident) = &**callee_expr { + if let Some(font_function) = self.state.font_functions.get(&ident.to_id()) { + self.state + .font_functions_in_allowed_scope + .insert(ident.span.lo); + + let json: Result, ()> = call_expr + .args + .iter() + .map(|expr_or_spread| { + if let Some(span) = expr_or_spread.spread { + HANDLER.with(|handler| { + handler + .struct_span_err(span, "Font loaders don't accept spreads") + .emit() + }); + } + + expr_to_json(&*expr_or_spread.expr) + }) + .collect(); + + if let Ok(json) = json { + let mut json_values: Vec = + json.iter().map(|value| value.to_string()).collect(); + let function_name = match &font_function.function_name { + Some(function) => String::from(&**function), + None => String::new(), + }; + let mut values = vec![function_name]; + values.append(&mut json_values); + + return Some(ImportDecl { + src: Str { + value: JsWord::from(format!( + "{}?{}", + font_function.loader, + values.join(";") + )), + raw: None, + span: DUMMY_SP, + }, + specifiers: vec![], + type_only: false, + asserts: None, + span: DUMMY_SP, + }); + } + } + } + } + + None + } + + fn check_var_decl(&mut self, var_decl: &VarDecl) { + if let Some(decl) = var_decl.decls.get(0) { + let ident = match &decl.name { + Pat::Ident(ident) => Ok(ident.id.clone()), + pattern => Err(pattern), + }; + if let Some(expr) = &decl.init { + if let Expr::Call(call_expr) = &**expr { + let import_decl = self.check_call_expr(call_expr); + + if let Some(mut import_decl) = import_decl { + self.state.removeable_module_items.insert(var_decl.span.lo); + + match var_decl.kind { + VarDeclKind::Const => {} + _ => { + HANDLER.with(|handler| { + handler + .struct_span_err( + var_decl.span, + "Font loader calls must be assigned to a const", + ) + .emit() + }); + } + } + + match ident { + Ok(ident) => { + import_decl.specifiers = + vec![ImportSpecifier::Default(ImportDefaultSpecifier { + span: DUMMY_SP, + local: ident, + })]; + + self.state + .font_imports + .push(ModuleItem::ModuleDecl(ModuleDecl::Import(import_decl))); + } + Err(pattern) => { + HANDLER.with(|handler| { + handler + .struct_span_err( + pattern.span(), + "Font loader calls must be assigned to an identifier", + ) + .emit() + }); + } + } + } + } + } + } + } +} + +impl<'a> Visit for FontImportsGenerator<'a> { + noop_visit_type!(); + + fn visit_module_item(&mut self, item: &ModuleItem) { + if let ModuleItem::Stmt(Stmt::Decl(Decl::Var(var_decl))) = item { + self.check_var_decl(var_decl); + } + } +} + +fn object_lit_to_json(object_lit: &ObjectLit) -> Value { + let mut values = serde_json::Map::new(); + for prop in &object_lit.props { + match prop { + PropOrSpread::Prop(prop) => match &**prop { + Prop::KeyValue(key_val) => { + let key = match &key_val.key { + PropName::Ident(ident) => Ok(String::from(&*ident.sym)), + key => { + HANDLER.with(|handler| { + handler + .struct_span_err(key.span(), "Unexpected object key type") + .emit() + }); + Err(()) + } + }; + let val = expr_to_json(&*key_val.value); + if let (Ok(key), Ok(val)) = (key, val) { + values.insert(key, val); + } + } + key => HANDLER.with(|handler| { + handler.struct_span_err(key.span(), "Unexpected key").emit(); + }), + }, + PropOrSpread::Spread(spread_span) => HANDLER.with(|handler| { + handler + .struct_span_err(spread_span.dot3_token, "Unexpected spread") + .emit(); + }), + } + } + + Value::Object(values) +} + +fn expr_to_json(expr: &Expr) -> Result { + match expr { + Expr::Lit(Lit::Str(str)) => Ok(Value::String(String::from(&*str.value))), + Expr::Lit(Lit::Bool(Bool { value, .. })) => Ok(Value::Bool(*value)), + Expr::Lit(Lit::Num(Number { value, .. })) => { + Ok(Value::Number(serde_json::Number::from_f64(*value).unwrap())) + } + Expr::Object(object_lit) => Ok(object_lit_to_json(object_lit)), + Expr::Array(ArrayLit { + elems, + span: array_span, + .. + }) => { + let elements: Result, ()> = elems + .iter() + .map(|e| { + if let Some(expr) = e { + match expr.spread { + Some(spread_span) => HANDLER.with(|handler| { + handler + .struct_span_err(spread_span, "Unexpected spread") + .emit(); + Err(()) + }), + None => expr_to_json(&*expr.expr), + } + } else { + HANDLER.with(|handler| { + handler + .struct_span_err(*array_span, "Unexpected empty value in array") + .emit(); + Err(()) + }) + } + }) + .collect(); + + elements.map(Value::Array) + } + lit => HANDLER.with(|handler| { + handler + .struct_span_err(lit.span(), "Unexpected value") + .emit(); + Err(()) + }), + } +} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/mod.rs b/packages/next-swc/crates/core/src/next_font_loaders/mod.rs new file mode 100644 index 0000000000000..4acf0c9ab2a44 --- /dev/null +++ b/packages/next-swc/crates/core/src/next_font_loaders/mod.rs @@ -0,0 +1,77 @@ +use fxhash::FxHashSet; +use swc_core::{ + common::{collections::AHashMap, BytePos, Spanned}, + ecma::{ + ast::Id, + visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitWith}, + }, + ecma::{ast::ModuleItem, atoms::JsWord}, +}; + +mod find_functions_outside_module_scope; +mod font_functions_collector; +mod font_imports_generator; + +pub fn next_font_loaders(font_loaders: Vec) -> impl Fold + VisitMut { + as_folder(NextFontLoaders { + font_loaders, + state: State { + ..Default::default() + }, + }) +} + +#[derive(Debug)] +pub struct FontFunction { + loader: JsWord, + function_name: Option, +} +#[derive(Debug, Default)] +pub struct State { + font_functions: AHashMap, + removeable_module_items: FxHashSet, + font_imports: Vec, + font_functions_in_allowed_scope: FxHashSet, +} + +struct NextFontLoaders { + font_loaders: Vec, + state: State, +} + +impl VisitMut for NextFontLoaders { + noop_visit_mut_type!(); + + fn visit_mut_module_items(&mut self, items: &mut Vec) { + // Find imported functions from font loaders + let mut functions_collector = font_functions_collector::FontFunctionsCollector { + font_loaders: &self.font_loaders, + state: &mut self.state, + }; + items.visit_with(&mut functions_collector); + + if !self.state.removeable_module_items.is_empty() { + // Generate imports from font function calls + let mut import_generator = font_imports_generator::FontImportsGenerator { + state: &mut self.state, + }; + items.visit_with(&mut import_generator); + + // Find font function refs in wrong scope + let mut wrong_scope = + find_functions_outside_module_scope::FindFunctionsOutsideModuleScope { + state: &self.state, + }; + items.visit_with(&mut wrong_scope); + + // Remove marked module items + items.retain(|item| !self.state.removeable_module_items.contains(&item.span_lo())); + + // Add font imports + let mut new_items = Vec::new(); + new_items.append(&mut self.state.font_imports); + new_items.append(items); + *items = new_items; + } + } +} diff --git a/packages/next-swc/crates/core/tests/errors.rs b/packages/next-swc/crates/core/tests/errors.rs index 5571406e6a22b..83df8f2851280 100644 --- a/packages/next-swc/crates/core/tests/errors.rs +++ b/packages/next-swc/crates/core/tests/errors.rs @@ -1,6 +1,7 @@ use next_swc::{ disallow_re_export_all_in_page::disallow_re_export_all_in_page, next_dynamic::next_dynamic, - next_ssg::next_ssg, react_server_components::server_components, + next_font_loaders::next_font_loaders, next_ssg::next_ssg, + react_server_components::server_components, }; use std::path::PathBuf; use swc_core::{ @@ -94,3 +95,14 @@ fn react_server_components_client_graph_errors(input: PathBuf) { &output, ); } + +#[fixture("tests/errors/next-font-loaders/**/input.js")] +fn next_font_loaders_errors(input: PathBuf) { + let output = input.parent().unwrap().join("output.js"); + test_fixture_allowing_error( + syntax(), + &|_tr| next_font_loaders(vec!["@next/font/google".into(), "cool-fonts".into()]), + &input, + &output, + ); +} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js new file mode 100644 index 0000000000000..27cc0a2526ce1 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js @@ -0,0 +1 @@ +import * as googleFonts from '@next/font/google' diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr new file mode 100644 index 0000000000000..c9d0e143c7c65 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr @@ -0,0 +1,6 @@ + + x Font loaders can't have namespace imports + ,-[input.js:1:1] + 1 | import * as googleFonts from '@next/font/google' + : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js new file mode 100644 index 0000000000000..11316faab0959 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js @@ -0,0 +1,11 @@ +import { Inter } from '@next/font/google' + +var i = 10 +var inter1 = Inter({ + variant: '400', +}) + +var i2 = 20 +let inter2 = Inter({ + variant: '400', +}) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js new file mode 100644 index 0000000000000..7048782e0b9d9 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js @@ -0,0 +1,4 @@ +import inter1 from '@next/font/google?Inter;{"variant":"400"}'; +import inter2 from '@next/font/google?Inter;{"variant":"400"}'; +var i = 10; +var i2 = 20; diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr new file mode 100644 index 0000000000000..f1ca698810bc9 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr @@ -0,0 +1,14 @@ + + x Font loader calls must be assigned to a const + ,-[input.js:4:1] + 4 | ,-> var inter1 = Inter({ + 5 | | variant: '400', + 6 | `-> }) + `---- + + x Font loader calls must be assigned to a const + ,-[input.js:9:1] + 9 | ,-> let inter2 = Inter({ + 10 | | variant: '400', + 11 | `-> }) + `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js new file mode 100644 index 0000000000000..835fb846f93c1 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js @@ -0,0 +1,11 @@ +import { Inter } from '@next/font/google' + +const { a } = Inter({ + variant: '400', +}) + +const [b] = Inter({ + variant: '400', +}) + +const { e } = {} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js new file mode 100644 index 0000000000000..ac0e441683cdc --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js @@ -0,0 +1 @@ +const { e } = {}; diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr new file mode 100644 index 0000000000000..f8e4344e9c441 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr @@ -0,0 +1,12 @@ + + x Font loader calls must be assigned to an identifier + ,-[input.js:3:1] + 3 | const { a } = Inter({ + : ^^^^^ + `---- + + x Font loader calls must be assigned to an identifier + ,-[input.js:7:1] + 7 | const [b] = Inter({ + : ^^^ + `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js new file mode 100644 index 0000000000000..98c18015f2293 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js @@ -0,0 +1,13 @@ +import { ABeeZee } from '@next/font/google' + +const a = fn({ 10: 'hello' }) +const a = ABeeZee({ 10: 'hello' }) + +const a = fn({ variant: [i1] }) +const a = ABeeZee({ variant: [i1] }) + +const a = fn({ variant: () => {} }) +const a = ABeeZee({ variant: () => {} }) + +const a = fn({ ...{} }) +const a = ABeeZee({ ...{} }) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js new file mode 100644 index 0000000000000..073b736199d28 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js @@ -0,0 +1,18 @@ +import a from "@next/font/google?ABeeZee;{}"; +import a from "@next/font/google?ABeeZee;{}"; +import a from "@next/font/google?ABeeZee;{}"; +import a from "@next/font/google?ABeeZee;{}"; +const a = fn({ + 10: 'hello' +}); +const a = fn({ + variant: [ + i1 + ] +}); +const a = fn({ + variant: ()=>{} +}); +const a = fn({ + ...{} +}); diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr new file mode 100644 index 0000000000000..ec93d2affb8c1 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr @@ -0,0 +1,24 @@ + + x Unexpected object key type + ,-[input.js:4:1] + 4 | const a = ABeeZee({ 10: 'hello' }) + : ^^ + `---- + + x Unexpected value + ,-[input.js:7:1] + 7 | const a = ABeeZee({ variant: [i1] }) + : ^^ + `---- + + x Unexpected value + ,-[input.js:10:1] + 10 | const a = ABeeZee({ variant: () => {} }) + : ^^^^^^^^ + `---- + + x Unexpected spread + ,-[input.js:13:1] + 13 | const a = ABeeZee({ ...{} }) + : ^^^ + `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js new file mode 100644 index 0000000000000..2f16f3375aedc --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js @@ -0,0 +1,4 @@ +import { Inter } from '@next/font/google' + +const a = fn(...{}, ...[]) +const inter = Inter(...{}, ...[]) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js new file mode 100644 index 0000000000000..786e60366018d --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js @@ -0,0 +1,2 @@ +import inter from "@next/font/google?Inter;{};[]"; +const a = fn(...{}, ...[]); diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr new file mode 100644 index 0000000000000..29b46cdfe6061 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr @@ -0,0 +1,12 @@ + + x Font loaders don't accept spreads + ,-[input.js:4:1] + 4 | const inter = Inter(...{}, ...[]) + : ^^^ + `---- + + x Font loaders don't accept spreads + ,-[input.js:4:1] + 4 | const inter = Inter(...{}, ...[]) + : ^^^ + `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js new file mode 100644 index 0000000000000..ee86a223e6409 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js @@ -0,0 +1,24 @@ +import { Aladin } from '@next/font/google' + +Aladin({}) + +let b +const a = (b = Aladin({ variant: '400' })) + +function Hello() { + const a = Aladin({ + variant: '400', + }) +} + +class C { + constructor() { + Aladin({ + variant: '400', + }) + } +} + +{ + Aladin({}) +} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js new file mode 100644 index 0000000000000..4ed290cf5baa1 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js @@ -0,0 +1,20 @@ +Aladin({}); +let b; +const a = b = Aladin({ + variant: '400' +}); +function Hello() { + const a = Aladin({ + variant: '400' + }); +} +class C { + constructor(){ + Aladin({ + variant: '400' + }); + } +} +{ + Aladin({}); +} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr new file mode 100644 index 0000000000000..120dbbad406c2 --- /dev/null +++ b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr @@ -0,0 +1,30 @@ + + x Font loaders must be called and assigned to a const in the module scope + ,-[input.js:3:1] + 3 | Aladin({}) + : ^^^^^^ + `---- + + x Font loaders must be called and assigned to a const in the module scope + ,-[input.js:6:1] + 6 | const a = (b = Aladin({ variant: '400' })) + : ^^^^^^ + `---- + + x Font loaders must be called and assigned to a const in the module scope + ,-[input.js:9:3] + 9 | const a = Aladin({ + : ^^^^^^ + `---- + + x Font loaders must be called and assigned to a const in the module scope + ,-[input.js:16:5] + 16 | Aladin({ + : ^^^^^^ + `---- + + x Font loaders must be called and assigned to a const in the module scope + ,-[input.js:23:3] + 23 | Aladin({}) + : ^^^^^^ + `---- diff --git a/packages/next-swc/crates/core/tests/fixture.rs b/packages/next-swc/crates/core/tests/fixture.rs index ff6b8a230f13c..2df79b9a0002e 100644 --- a/packages/next-swc/crates/core/tests/fixture.rs +++ b/packages/next-swc/crates/core/tests/fixture.rs @@ -1,6 +1,7 @@ use next_swc::{ amp_attributes::amp_attributes, next_dynamic::next_dynamic, + next_font_loaders::next_font_loaders, next_ssg::next_ssg, page_config::page_config_test, react_remove_properties::remove_properties, @@ -248,3 +249,14 @@ fn react_server_components_client_graph_fixture(input: PathBuf) { &output, ); } + +#[fixture("tests/fixture/next-font-loaders/**/input.js")] +fn next_font_loaders_fixture(input: PathBuf) { + let output = input.parent().unwrap().join("output.js"); + test_fixture( + syntax(), + &|_tr| next_font_loaders(vec!["@next/font/google".into(), "cool-fonts".into()]), + &input, + &output, + ); +} diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js new file mode 100644 index 0000000000000..d1673816d856c --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js @@ -0,0 +1,3 @@ +import cool from 'cool-fonts' + +const font = cool({ prop: true }) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js new file mode 100644 index 0000000000000..dddf305e87bc5 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js @@ -0,0 +1 @@ +import font from 'cool-fonts?;{"prop":true}'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js new file mode 100644 index 0000000000000..dfaf75ad16bf9 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js @@ -0,0 +1,8 @@ +import React from 'react' +import { Abel, Inter } from '@next/font/google' + +const firaCode = Abel() +const inter = Inter() + +export { firaCode } +export default inter diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js new file mode 100644 index 0000000000000..c852f5621a5cb --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js @@ -0,0 +1,5 @@ +import firaCode from "@next/font/google?Abel"; +import inter from "@next/font/google?Inter"; +import React from 'react'; +export { firaCode }; +export default inter; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js new file mode 100644 index 0000000000000..6506b7c4ab879 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js @@ -0,0 +1,11 @@ +import React from 'react' +import { Fira_Code } from '@next/font/google' + +const firaCode = Fira_Code({ + variant: '400', + fallback: ['system-ui', { key: false }, []], + preload: true, + key: { key2: {} }, +}) + +console.log(firaCode) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js new file mode 100644 index 0000000000000..3e921aeb54bf0 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js @@ -0,0 +1,3 @@ +import firaCode from '@next/font/google?Fira_Code;{"fallback":["system-ui",{"key":false},[]],"key":{"key2":{}},"preload":true,"variant":"400"}'; +import React from 'react'; +console.log(firaCode); diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js new file mode 100644 index 0000000000000..98a23c5752cbc --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js @@ -0,0 +1,6 @@ +import React from 'react' +import { Acme as a } from 'cool-fonts' + +const acme1 = a({ + variant: '400', +}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js new file mode 100644 index 0000000000000..a1e93892abaa6 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js @@ -0,0 +1,2 @@ +import acme1 from 'cool-fonts?Acme;{"variant":"400"}'; +import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js new file mode 100644 index 0000000000000..9745fd807b4a9 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js @@ -0,0 +1,3 @@ +import { Geo } from '@next/font/google' + +const geo = Geo('test', [1], { a: 2 }, 3) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js new file mode 100644 index 0000000000000..fb4b3804ff6eb --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js @@ -0,0 +1 @@ +import geo from '@next/font/google?Geo;"test";[1.0];{"a":2.0};3.0'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js new file mode 100644 index 0000000000000..91f5be7cb56d9 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js @@ -0,0 +1,12 @@ +import React from 'react' +import { Inter } from '@next/font/google' + +const inter = Inter({ + variant: '900', + display: 'swap', +}) + +const inter = Inter({ + variant: '900', + display: 'swap', +}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js new file mode 100644 index 0000000000000..32af21eb3d17d --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js @@ -0,0 +1,3 @@ +import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; +import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; +import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js new file mode 100644 index 0000000000000..3fc947f12667a --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js @@ -0,0 +1,12 @@ +import React from 'react' +import { Inter } from '@next/font/google' +import { Fira_Code } from 'cool-fonts' + +const inter = Inter({ + variant: '900', +}) + +const fira = Fira_Code({ + variant: '400', + display: 'swap', +}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js new file mode 100644 index 0000000000000..b85bbd333f678 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js @@ -0,0 +1,3 @@ +import inter from '@next/font/google?Inter;{"variant":"900"}'; +import fira from 'cool-fonts?Fira_Code;{"display":"swap","variant":"400"}'; +import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js new file mode 100644 index 0000000000000..14b5cd6c716f2 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js @@ -0,0 +1,11 @@ +import React from 'react' +import { Fira_Code, Inter } from '@next/font/google' + +const firaCode = Fira_Code({ + variant: '400', + fallback: ['system-ui'], +}) +const inter = Inter({ + variant: '900', + display: 'swap', +}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js new file mode 100644 index 0000000000000..88a0f1bb6b416 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js @@ -0,0 +1,3 @@ +import firaCode from '@next/font/google?Fira_Code;{"fallback":["system-ui"],"variant":"400"}'; +import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; +import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js new file mode 100644 index 0000000000000..61a434bde7c5f --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js @@ -0,0 +1,12 @@ +import React from 'react' +import { Inter } from '@next/font/google' +import { Fira_Code } from '@next/font/google' + +const inter = Inter({ + variant: '900', +}) + +const fira = Fira_Code({ + variant: '400', + display: 'swap', +}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js new file mode 100644 index 0000000000000..2c68623d1119e --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js @@ -0,0 +1,3 @@ +import inter from '@next/font/google?Inter;{"variant":"900"}'; +import fira from '@next/font/google?Fira_Code;{"display":"swap","variant":"400"}'; +import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js new file mode 100644 index 0000000000000..cc7d2326b91a3 --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js @@ -0,0 +1,3 @@ +import { Fira_Code } from '@next/font/google' + +const fira = Fira_Code() diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js new file mode 100644 index 0000000000000..f371ef0ea53cf --- /dev/null +++ b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js @@ -0,0 +1 @@ +import fira from "@next/font/google?Fira_Code"; diff --git a/packages/next-swc/crates/core/tests/full.rs b/packages/next-swc/crates/core/tests/full.rs index 01d081f570177..964eac330067e 100644 --- a/packages/next-swc/crates/core/tests/full.rs +++ b/packages/next-swc/crates/core/tests/full.rs @@ -65,6 +65,7 @@ fn test(input: &Path, minify: bool) { shake_exports: None, emotion: Some(assert_json("{}")), modularize_imports: None, + font_loaders: None, }; let options = options.patch(&fm); From cbd7c8fdb9edc0db1a8477f729972267b5e5f4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 22:56:02 +0200 Subject: [PATCH 10/13] Revert "temp add swc plugin" This reverts commit d85f7b10775e3db67a2170f6e6fa956a6e6e8724. --- packages/next-swc/crates/core/src/lib.rs | 10 - .../find_functions_outside_module_scope.rs | 31 --- .../font_functions_collector.rs | 68 ------ .../font_imports_generator.rs | 220 ------------------ .../crates/core/src/next_font_loaders/mod.rs | 77 ------ packages/next-swc/crates/core/tests/errors.rs | 14 +- .../next-font-loaders/import-all/input.js | 1 - .../next-font-loaders/import-all/output.js | 0 .../import-all/output.stderr | 6 - .../next-font-loaders/not-const/input.js | 11 - .../next-font-loaders/not-const/output.js | 4 - .../next-font-loaders/not-const/output.stderr | 14 -- .../next-font-loaders/not-ident/input.js | 11 - .../next-font-loaders/not-ident/output.js | 1 - .../next-font-loaders/not-ident/output.stderr | 12 - .../next-font-loaders/options-object/input.js | 13 -- .../options-object/output.js | 18 -- .../options-object/output.stderr | 24 -- .../next-font-loaders/spread-arg/input.js | 4 - .../next-font-loaders/spread-arg/output.js | 2 - .../spread-arg/output.stderr | 12 - .../next-font-loaders/wrong-scope/input.js | 24 -- .../next-font-loaders/wrong-scope/output.js | 20 -- .../wrong-scope/output.stderr | 30 --- .../next-swc/crates/core/tests/fixture.rs | 12 - .../next-font-loaders/default-import/input.js | 3 - .../default-import/output.js | 1 - .../next-font-loaders/exports/input.js | 8 - .../next-font-loaders/exports/output.js | 5 - .../next-font-loaders/font-options/input.js | 11 - .../next-font-loaders/font-options/output.js | 3 - .../next-font-loaders/import-as/input.js | 6 - .../next-font-loaders/import-as/output.js | 2 - .../next-font-loaders/many-args/input.js | 3 - .../next-font-loaders/many-args/output.js | 1 - .../next-font-loaders/multiple-calls/input.js | 12 - .../multiple-calls/output.js | 3 - .../multiple-font-downloaders/input.js | 12 - .../multiple-font-downloaders/output.js | 3 - .../next-font-loaders/multiple-fonts/input.js | 11 - .../multiple-fonts/output.js | 3 - .../multiple-imports/input.js | 12 - .../multiple-imports/output.js | 3 - .../next-font-loaders/no-args/input.js | 3 - .../next-font-loaders/no-args/output.js | 1 - packages/next-swc/crates/core/tests/full.rs | 1 - 46 files changed, 1 insertion(+), 745 deletions(-) delete mode 100644 packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs delete mode 100644 packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs delete mode 100644 packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs delete mode 100644 packages/next-swc/crates/core/src/next_font_loaders/mod.rs delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js delete mode 100644 packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js delete mode 100644 packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js diff --git a/packages/next-swc/crates/core/src/lib.rs b/packages/next-swc/crates/core/src/lib.rs index 3d3bca8aca192..4ebe788b24e1b 100644 --- a/packages/next-swc/crates/core/src/lib.rs +++ b/packages/next-swc/crates/core/src/lib.rs @@ -36,7 +36,6 @@ use serde::Deserialize; use std::cell::RefCell; use std::rc::Rc; use std::{path::PathBuf, sync::Arc}; -use swc_core::ecma::atoms::JsWord; use swc_core::{ base::config::ModuleConfig, @@ -52,7 +51,6 @@ mod auto_cjs; pub mod disallow_re_export_all_in_page; pub mod hook_optimizer; pub mod next_dynamic; -pub mod next_font_loaders; pub mod next_ssg; pub mod page_config; pub mod react_remove_properties; @@ -111,9 +109,6 @@ pub struct TransformOptions { #[serde(default)] pub modularize_imports: Option, - - #[serde(default)] - pub font_loaders: Option>, } pub fn custom_before_pass<'a, C: Comments + 'a>( @@ -216,11 +211,6 @@ where match &opts.modularize_imports { Some(config) => Either::Left(modularize_imports::modularize_imports(config.clone())), None => Either::Right(noop()), - }, - match &opts.font_loaders { - Some(font_loaders) => - Either::Left(next_font_loaders::next_font_loaders(font_loaders.clone())), - None => Either::Right(noop()), } ) } diff --git a/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs b/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs deleted file mode 100644 index f83742d205436..0000000000000 --- a/packages/next-swc/crates/core/src/next_font_loaders/find_functions_outside_module_scope.rs +++ /dev/null @@ -1,31 +0,0 @@ -use swc_core::common::errors::HANDLER; -use swc_core::ecma::ast::*; -use swc_core::ecma::visit::noop_visit_type; -use swc_core::ecma::visit::Visit; - -pub struct FindFunctionsOutsideModuleScope<'a> { - pub state: &'a super::State, -} - -impl<'a> Visit for FindFunctionsOutsideModuleScope<'a> { - noop_visit_type!(); - - fn visit_ident(&mut self, ident: &Ident) { - if self.state.font_functions.get(&ident.to_id()).is_some() - && self - .state - .font_functions_in_allowed_scope - .get(&ident.span.lo) - .is_none() - { - HANDLER.with(|handler| { - handler - .struct_span_err( - ident.span, - "Font loaders must be called and assigned to a const in the module scope", - ) - .emit() - }); - } - } -} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs b/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs deleted file mode 100644 index e8fdfce66f0e6..0000000000000 --- a/packages/next-swc/crates/core/src/next_font_loaders/font_functions_collector.rs +++ /dev/null @@ -1,68 +0,0 @@ -use swc_core::common::errors::HANDLER; -use swc_core::ecma::ast::*; -use swc_core::ecma::atoms::JsWord; -use swc_core::ecma::visit::noop_visit_type; -use swc_core::ecma::visit::Visit; - -pub struct FontFunctionsCollector<'a> { - pub font_loaders: &'a [JsWord], - pub state: &'a mut super::State, -} - -impl<'a> Visit for FontFunctionsCollector<'a> { - noop_visit_type!(); - - fn visit_import_decl(&mut self, import_decl: &ImportDecl) { - if self.font_loaders.contains(&import_decl.src.value) { - self.state - .removeable_module_items - .insert(import_decl.span.lo); - for specifier in &import_decl.specifiers { - match specifier { - ImportSpecifier::Named(ImportNamedSpecifier { - local, imported, .. - }) => { - self.state - .font_functions_in_allowed_scope - .insert(local.span.lo); - - let function_name = if let Some(ModuleExportName::Ident(ident)) = imported { - ident.sym.clone() - } else { - local.sym.clone() - }; - self.state.font_functions.insert( - local.to_id(), - super::FontFunction { - loader: import_decl.src.value.clone(), - function_name: Some(function_name), - }, - ); - } - ImportSpecifier::Default(ImportDefaultSpecifier { local, .. }) => { - self.state - .font_functions_in_allowed_scope - .insert(local.span.lo); - self.state.font_functions.insert( - local.to_id(), - super::FontFunction { - loader: import_decl.src.value.clone(), - function_name: None, - }, - ); - } - ImportSpecifier::Namespace(_) => { - HANDLER.with(|handler| { - handler - .struct_span_err( - import_decl.span, - "Font loaders can't have namespace imports", - ) - .emit() - }); - } - } - } - } - } -} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs b/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs deleted file mode 100644 index 6f8e3bb340712..0000000000000 --- a/packages/next-swc/crates/core/src/next_font_loaders/font_imports_generator.rs +++ /dev/null @@ -1,220 +0,0 @@ -use serde_json::Value; -use swc_core::common::errors::HANDLER; -use swc_core::common::{Spanned, DUMMY_SP}; -use swc_core::ecma::ast::*; -use swc_core::ecma::atoms::JsWord; -use swc_core::ecma::visit::{noop_visit_type, Visit}; - -pub struct FontImportsGenerator<'a> { - pub state: &'a mut super::State, -} - -impl<'a> FontImportsGenerator<'a> { - fn check_call_expr(&mut self, call_expr: &CallExpr) -> Option { - if let Callee::Expr(callee_expr) = &call_expr.callee { - if let Expr::Ident(ident) = &**callee_expr { - if let Some(font_function) = self.state.font_functions.get(&ident.to_id()) { - self.state - .font_functions_in_allowed_scope - .insert(ident.span.lo); - - let json: Result, ()> = call_expr - .args - .iter() - .map(|expr_or_spread| { - if let Some(span) = expr_or_spread.spread { - HANDLER.with(|handler| { - handler - .struct_span_err(span, "Font loaders don't accept spreads") - .emit() - }); - } - - expr_to_json(&*expr_or_spread.expr) - }) - .collect(); - - if let Ok(json) = json { - let mut json_values: Vec = - json.iter().map(|value| value.to_string()).collect(); - let function_name = match &font_function.function_name { - Some(function) => String::from(&**function), - None => String::new(), - }; - let mut values = vec![function_name]; - values.append(&mut json_values); - - return Some(ImportDecl { - src: Str { - value: JsWord::from(format!( - "{}?{}", - font_function.loader, - values.join(";") - )), - raw: None, - span: DUMMY_SP, - }, - specifiers: vec![], - type_only: false, - asserts: None, - span: DUMMY_SP, - }); - } - } - } - } - - None - } - - fn check_var_decl(&mut self, var_decl: &VarDecl) { - if let Some(decl) = var_decl.decls.get(0) { - let ident = match &decl.name { - Pat::Ident(ident) => Ok(ident.id.clone()), - pattern => Err(pattern), - }; - if let Some(expr) = &decl.init { - if let Expr::Call(call_expr) = &**expr { - let import_decl = self.check_call_expr(call_expr); - - if let Some(mut import_decl) = import_decl { - self.state.removeable_module_items.insert(var_decl.span.lo); - - match var_decl.kind { - VarDeclKind::Const => {} - _ => { - HANDLER.with(|handler| { - handler - .struct_span_err( - var_decl.span, - "Font loader calls must be assigned to a const", - ) - .emit() - }); - } - } - - match ident { - Ok(ident) => { - import_decl.specifiers = - vec![ImportSpecifier::Default(ImportDefaultSpecifier { - span: DUMMY_SP, - local: ident, - })]; - - self.state - .font_imports - .push(ModuleItem::ModuleDecl(ModuleDecl::Import(import_decl))); - } - Err(pattern) => { - HANDLER.with(|handler| { - handler - .struct_span_err( - pattern.span(), - "Font loader calls must be assigned to an identifier", - ) - .emit() - }); - } - } - } - } - } - } - } -} - -impl<'a> Visit for FontImportsGenerator<'a> { - noop_visit_type!(); - - fn visit_module_item(&mut self, item: &ModuleItem) { - if let ModuleItem::Stmt(Stmt::Decl(Decl::Var(var_decl))) = item { - self.check_var_decl(var_decl); - } - } -} - -fn object_lit_to_json(object_lit: &ObjectLit) -> Value { - let mut values = serde_json::Map::new(); - for prop in &object_lit.props { - match prop { - PropOrSpread::Prop(prop) => match &**prop { - Prop::KeyValue(key_val) => { - let key = match &key_val.key { - PropName::Ident(ident) => Ok(String::from(&*ident.sym)), - key => { - HANDLER.with(|handler| { - handler - .struct_span_err(key.span(), "Unexpected object key type") - .emit() - }); - Err(()) - } - }; - let val = expr_to_json(&*key_val.value); - if let (Ok(key), Ok(val)) = (key, val) { - values.insert(key, val); - } - } - key => HANDLER.with(|handler| { - handler.struct_span_err(key.span(), "Unexpected key").emit(); - }), - }, - PropOrSpread::Spread(spread_span) => HANDLER.with(|handler| { - handler - .struct_span_err(spread_span.dot3_token, "Unexpected spread") - .emit(); - }), - } - } - - Value::Object(values) -} - -fn expr_to_json(expr: &Expr) -> Result { - match expr { - Expr::Lit(Lit::Str(str)) => Ok(Value::String(String::from(&*str.value))), - Expr::Lit(Lit::Bool(Bool { value, .. })) => Ok(Value::Bool(*value)), - Expr::Lit(Lit::Num(Number { value, .. })) => { - Ok(Value::Number(serde_json::Number::from_f64(*value).unwrap())) - } - Expr::Object(object_lit) => Ok(object_lit_to_json(object_lit)), - Expr::Array(ArrayLit { - elems, - span: array_span, - .. - }) => { - let elements: Result, ()> = elems - .iter() - .map(|e| { - if let Some(expr) = e { - match expr.spread { - Some(spread_span) => HANDLER.with(|handler| { - handler - .struct_span_err(spread_span, "Unexpected spread") - .emit(); - Err(()) - }), - None => expr_to_json(&*expr.expr), - } - } else { - HANDLER.with(|handler| { - handler - .struct_span_err(*array_span, "Unexpected empty value in array") - .emit(); - Err(()) - }) - } - }) - .collect(); - - elements.map(Value::Array) - } - lit => HANDLER.with(|handler| { - handler - .struct_span_err(lit.span(), "Unexpected value") - .emit(); - Err(()) - }), - } -} diff --git a/packages/next-swc/crates/core/src/next_font_loaders/mod.rs b/packages/next-swc/crates/core/src/next_font_loaders/mod.rs deleted file mode 100644 index 4acf0c9ab2a44..0000000000000 --- a/packages/next-swc/crates/core/src/next_font_loaders/mod.rs +++ /dev/null @@ -1,77 +0,0 @@ -use fxhash::FxHashSet; -use swc_core::{ - common::{collections::AHashMap, BytePos, Spanned}, - ecma::{ - ast::Id, - visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitWith}, - }, - ecma::{ast::ModuleItem, atoms::JsWord}, -}; - -mod find_functions_outside_module_scope; -mod font_functions_collector; -mod font_imports_generator; - -pub fn next_font_loaders(font_loaders: Vec) -> impl Fold + VisitMut { - as_folder(NextFontLoaders { - font_loaders, - state: State { - ..Default::default() - }, - }) -} - -#[derive(Debug)] -pub struct FontFunction { - loader: JsWord, - function_name: Option, -} -#[derive(Debug, Default)] -pub struct State { - font_functions: AHashMap, - removeable_module_items: FxHashSet, - font_imports: Vec, - font_functions_in_allowed_scope: FxHashSet, -} - -struct NextFontLoaders { - font_loaders: Vec, - state: State, -} - -impl VisitMut for NextFontLoaders { - noop_visit_mut_type!(); - - fn visit_mut_module_items(&mut self, items: &mut Vec) { - // Find imported functions from font loaders - let mut functions_collector = font_functions_collector::FontFunctionsCollector { - font_loaders: &self.font_loaders, - state: &mut self.state, - }; - items.visit_with(&mut functions_collector); - - if !self.state.removeable_module_items.is_empty() { - // Generate imports from font function calls - let mut import_generator = font_imports_generator::FontImportsGenerator { - state: &mut self.state, - }; - items.visit_with(&mut import_generator); - - // Find font function refs in wrong scope - let mut wrong_scope = - find_functions_outside_module_scope::FindFunctionsOutsideModuleScope { - state: &self.state, - }; - items.visit_with(&mut wrong_scope); - - // Remove marked module items - items.retain(|item| !self.state.removeable_module_items.contains(&item.span_lo())); - - // Add font imports - let mut new_items = Vec::new(); - new_items.append(&mut self.state.font_imports); - new_items.append(items); - *items = new_items; - } - } -} diff --git a/packages/next-swc/crates/core/tests/errors.rs b/packages/next-swc/crates/core/tests/errors.rs index 83df8f2851280..5571406e6a22b 100644 --- a/packages/next-swc/crates/core/tests/errors.rs +++ b/packages/next-swc/crates/core/tests/errors.rs @@ -1,7 +1,6 @@ use next_swc::{ disallow_re_export_all_in_page::disallow_re_export_all_in_page, next_dynamic::next_dynamic, - next_font_loaders::next_font_loaders, next_ssg::next_ssg, - react_server_components::server_components, + next_ssg::next_ssg, react_server_components::server_components, }; use std::path::PathBuf; use swc_core::{ @@ -95,14 +94,3 @@ fn react_server_components_client_graph_errors(input: PathBuf) { &output, ); } - -#[fixture("tests/errors/next-font-loaders/**/input.js")] -fn next_font_loaders_errors(input: PathBuf) { - let output = input.parent().unwrap().join("output.js"); - test_fixture_allowing_error( - syntax(), - &|_tr| next_font_loaders(vec!["@next/font/google".into(), "cool-fonts".into()]), - &input, - &output, - ); -} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js deleted file mode 100644 index 27cc0a2526ce1..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/input.js +++ /dev/null @@ -1 +0,0 @@ -import * as googleFonts from '@next/font/google' diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.js deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr deleted file mode 100644 index c9d0e143c7c65..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/import-all/output.stderr +++ /dev/null @@ -1,6 +0,0 @@ - - x Font loaders can't have namespace imports - ,-[input.js:1:1] - 1 | import * as googleFonts from '@next/font/google' - : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js deleted file mode 100644 index 11316faab0959..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/input.js +++ /dev/null @@ -1,11 +0,0 @@ -import { Inter } from '@next/font/google' - -var i = 10 -var inter1 = Inter({ - variant: '400', -}) - -var i2 = 20 -let inter2 = Inter({ - variant: '400', -}) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js deleted file mode 100644 index 7048782e0b9d9..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.js +++ /dev/null @@ -1,4 +0,0 @@ -import inter1 from '@next/font/google?Inter;{"variant":"400"}'; -import inter2 from '@next/font/google?Inter;{"variant":"400"}'; -var i = 10; -var i2 = 20; diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr deleted file mode 100644 index f1ca698810bc9..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-const/output.stderr +++ /dev/null @@ -1,14 +0,0 @@ - - x Font loader calls must be assigned to a const - ,-[input.js:4:1] - 4 | ,-> var inter1 = Inter({ - 5 | | variant: '400', - 6 | `-> }) - `---- - - x Font loader calls must be assigned to a const - ,-[input.js:9:1] - 9 | ,-> let inter2 = Inter({ - 10 | | variant: '400', - 11 | `-> }) - `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js deleted file mode 100644 index 835fb846f93c1..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/input.js +++ /dev/null @@ -1,11 +0,0 @@ -import { Inter } from '@next/font/google' - -const { a } = Inter({ - variant: '400', -}) - -const [b] = Inter({ - variant: '400', -}) - -const { e } = {} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js deleted file mode 100644 index ac0e441683cdc..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.js +++ /dev/null @@ -1 +0,0 @@ -const { e } = {}; diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr deleted file mode 100644 index f8e4344e9c441..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/not-ident/output.stderr +++ /dev/null @@ -1,12 +0,0 @@ - - x Font loader calls must be assigned to an identifier - ,-[input.js:3:1] - 3 | const { a } = Inter({ - : ^^^^^ - `---- - - x Font loader calls must be assigned to an identifier - ,-[input.js:7:1] - 7 | const [b] = Inter({ - : ^^^ - `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js deleted file mode 100644 index 98c18015f2293..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/input.js +++ /dev/null @@ -1,13 +0,0 @@ -import { ABeeZee } from '@next/font/google' - -const a = fn({ 10: 'hello' }) -const a = ABeeZee({ 10: 'hello' }) - -const a = fn({ variant: [i1] }) -const a = ABeeZee({ variant: [i1] }) - -const a = fn({ variant: () => {} }) -const a = ABeeZee({ variant: () => {} }) - -const a = fn({ ...{} }) -const a = ABeeZee({ ...{} }) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js deleted file mode 100644 index 073b736199d28..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.js +++ /dev/null @@ -1,18 +0,0 @@ -import a from "@next/font/google?ABeeZee;{}"; -import a from "@next/font/google?ABeeZee;{}"; -import a from "@next/font/google?ABeeZee;{}"; -import a from "@next/font/google?ABeeZee;{}"; -const a = fn({ - 10: 'hello' -}); -const a = fn({ - variant: [ - i1 - ] -}); -const a = fn({ - variant: ()=>{} -}); -const a = fn({ - ...{} -}); diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr deleted file mode 100644 index ec93d2affb8c1..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/options-object/output.stderr +++ /dev/null @@ -1,24 +0,0 @@ - - x Unexpected object key type - ,-[input.js:4:1] - 4 | const a = ABeeZee({ 10: 'hello' }) - : ^^ - `---- - - x Unexpected value - ,-[input.js:7:1] - 7 | const a = ABeeZee({ variant: [i1] }) - : ^^ - `---- - - x Unexpected value - ,-[input.js:10:1] - 10 | const a = ABeeZee({ variant: () => {} }) - : ^^^^^^^^ - `---- - - x Unexpected spread - ,-[input.js:13:1] - 13 | const a = ABeeZee({ ...{} }) - : ^^^ - `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js deleted file mode 100644 index 2f16f3375aedc..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/input.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Inter } from '@next/font/google' - -const a = fn(...{}, ...[]) -const inter = Inter(...{}, ...[]) diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js deleted file mode 100644 index 786e60366018d..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.js +++ /dev/null @@ -1,2 +0,0 @@ -import inter from "@next/font/google?Inter;{};[]"; -const a = fn(...{}, ...[]); diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr deleted file mode 100644 index 29b46cdfe6061..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/spread-arg/output.stderr +++ /dev/null @@ -1,12 +0,0 @@ - - x Font loaders don't accept spreads - ,-[input.js:4:1] - 4 | const inter = Inter(...{}, ...[]) - : ^^^ - `---- - - x Font loaders don't accept spreads - ,-[input.js:4:1] - 4 | const inter = Inter(...{}, ...[]) - : ^^^ - `---- diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js deleted file mode 100644 index ee86a223e6409..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/input.js +++ /dev/null @@ -1,24 +0,0 @@ -import { Aladin } from '@next/font/google' - -Aladin({}) - -let b -const a = (b = Aladin({ variant: '400' })) - -function Hello() { - const a = Aladin({ - variant: '400', - }) -} - -class C { - constructor() { - Aladin({ - variant: '400', - }) - } -} - -{ - Aladin({}) -} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js deleted file mode 100644 index 4ed290cf5baa1..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.js +++ /dev/null @@ -1,20 +0,0 @@ -Aladin({}); -let b; -const a = b = Aladin({ - variant: '400' -}); -function Hello() { - const a = Aladin({ - variant: '400' - }); -} -class C { - constructor(){ - Aladin({ - variant: '400' - }); - } -} -{ - Aladin({}); -} diff --git a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr b/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr deleted file mode 100644 index 120dbbad406c2..0000000000000 --- a/packages/next-swc/crates/core/tests/errors/next-font-loaders/wrong-scope/output.stderr +++ /dev/null @@ -1,30 +0,0 @@ - - x Font loaders must be called and assigned to a const in the module scope - ,-[input.js:3:1] - 3 | Aladin({}) - : ^^^^^^ - `---- - - x Font loaders must be called and assigned to a const in the module scope - ,-[input.js:6:1] - 6 | const a = (b = Aladin({ variant: '400' })) - : ^^^^^^ - `---- - - x Font loaders must be called and assigned to a const in the module scope - ,-[input.js:9:3] - 9 | const a = Aladin({ - : ^^^^^^ - `---- - - x Font loaders must be called and assigned to a const in the module scope - ,-[input.js:16:5] - 16 | Aladin({ - : ^^^^^^ - `---- - - x Font loaders must be called and assigned to a const in the module scope - ,-[input.js:23:3] - 23 | Aladin({}) - : ^^^^^^ - `---- diff --git a/packages/next-swc/crates/core/tests/fixture.rs b/packages/next-swc/crates/core/tests/fixture.rs index 2df79b9a0002e..ff6b8a230f13c 100644 --- a/packages/next-swc/crates/core/tests/fixture.rs +++ b/packages/next-swc/crates/core/tests/fixture.rs @@ -1,7 +1,6 @@ use next_swc::{ amp_attributes::amp_attributes, next_dynamic::next_dynamic, - next_font_loaders::next_font_loaders, next_ssg::next_ssg, page_config::page_config_test, react_remove_properties::remove_properties, @@ -249,14 +248,3 @@ fn react_server_components_client_graph_fixture(input: PathBuf) { &output, ); } - -#[fixture("tests/fixture/next-font-loaders/**/input.js")] -fn next_font_loaders_fixture(input: PathBuf) { - let output = input.parent().unwrap().join("output.js"); - test_fixture( - syntax(), - &|_tr| next_font_loaders(vec!["@next/font/google".into(), "cool-fonts".into()]), - &input, - &output, - ); -} diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js deleted file mode 100644 index d1673816d856c..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/input.js +++ /dev/null @@ -1,3 +0,0 @@ -import cool from 'cool-fonts' - -const font = cool({ prop: true }) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js deleted file mode 100644 index dddf305e87bc5..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/default-import/output.js +++ /dev/null @@ -1 +0,0 @@ -import font from 'cool-fonts?;{"prop":true}'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js deleted file mode 100644 index dfaf75ad16bf9..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/input.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react' -import { Abel, Inter } from '@next/font/google' - -const firaCode = Abel() -const inter = Inter() - -export { firaCode } -export default inter diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js deleted file mode 100644 index c852f5621a5cb..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/exports/output.js +++ /dev/null @@ -1,5 +0,0 @@ -import firaCode from "@next/font/google?Abel"; -import inter from "@next/font/google?Inter"; -import React from 'react'; -export { firaCode }; -export default inter; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js deleted file mode 100644 index 6506b7c4ab879..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/input.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react' -import { Fira_Code } from '@next/font/google' - -const firaCode = Fira_Code({ - variant: '400', - fallback: ['system-ui', { key: false }, []], - preload: true, - key: { key2: {} }, -}) - -console.log(firaCode) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js deleted file mode 100644 index 3e921aeb54bf0..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/font-options/output.js +++ /dev/null @@ -1,3 +0,0 @@ -import firaCode from '@next/font/google?Fira_Code;{"fallback":["system-ui",{"key":false},[]],"key":{"key2":{}},"preload":true,"variant":"400"}'; -import React from 'react'; -console.log(firaCode); diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js deleted file mode 100644 index 98a23c5752cbc..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/input.js +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react' -import { Acme as a } from 'cool-fonts' - -const acme1 = a({ - variant: '400', -}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js deleted file mode 100644 index a1e93892abaa6..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/import-as/output.js +++ /dev/null @@ -1,2 +0,0 @@ -import acme1 from 'cool-fonts?Acme;{"variant":"400"}'; -import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js deleted file mode 100644 index 9745fd807b4a9..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/input.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Geo } from '@next/font/google' - -const geo = Geo('test', [1], { a: 2 }, 3) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js deleted file mode 100644 index fb4b3804ff6eb..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/many-args/output.js +++ /dev/null @@ -1 +0,0 @@ -import geo from '@next/font/google?Geo;"test";[1.0];{"a":2.0};3.0'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js deleted file mode 100644 index 91f5be7cb56d9..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/input.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react' -import { Inter } from '@next/font/google' - -const inter = Inter({ - variant: '900', - display: 'swap', -}) - -const inter = Inter({ - variant: '900', - display: 'swap', -}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js deleted file mode 100644 index 32af21eb3d17d..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-calls/output.js +++ /dev/null @@ -1,3 +0,0 @@ -import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; -import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; -import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js deleted file mode 100644 index 3fc947f12667a..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/input.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react' -import { Inter } from '@next/font/google' -import { Fira_Code } from 'cool-fonts' - -const inter = Inter({ - variant: '900', -}) - -const fira = Fira_Code({ - variant: '400', - display: 'swap', -}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js deleted file mode 100644 index b85bbd333f678..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-font-downloaders/output.js +++ /dev/null @@ -1,3 +0,0 @@ -import inter from '@next/font/google?Inter;{"variant":"900"}'; -import fira from 'cool-fonts?Fira_Code;{"display":"swap","variant":"400"}'; -import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js deleted file mode 100644 index 14b5cd6c716f2..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/input.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react' -import { Fira_Code, Inter } from '@next/font/google' - -const firaCode = Fira_Code({ - variant: '400', - fallback: ['system-ui'], -}) -const inter = Inter({ - variant: '900', - display: 'swap', -}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js deleted file mode 100644 index 88a0f1bb6b416..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-fonts/output.js +++ /dev/null @@ -1,3 +0,0 @@ -import firaCode from '@next/font/google?Fira_Code;{"fallback":["system-ui"],"variant":"400"}'; -import inter from '@next/font/google?Inter;{"display":"swap","variant":"900"}'; -import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js deleted file mode 100644 index 61a434bde7c5f..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/input.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react' -import { Inter } from '@next/font/google' -import { Fira_Code } from '@next/font/google' - -const inter = Inter({ - variant: '900', -}) - -const fira = Fira_Code({ - variant: '400', - display: 'swap', -}) diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js deleted file mode 100644 index 2c68623d1119e..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/multiple-imports/output.js +++ /dev/null @@ -1,3 +0,0 @@ -import inter from '@next/font/google?Inter;{"variant":"900"}'; -import fira from '@next/font/google?Fira_Code;{"display":"swap","variant":"400"}'; -import React from 'react'; diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js deleted file mode 100644 index cc7d2326b91a3..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/input.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Fira_Code } from '@next/font/google' - -const fira = Fira_Code() diff --git a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js b/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js deleted file mode 100644 index f371ef0ea53cf..0000000000000 --- a/packages/next-swc/crates/core/tests/fixture/next-font-loaders/no-args/output.js +++ /dev/null @@ -1 +0,0 @@ -import fira from "@next/font/google?Fira_Code"; diff --git a/packages/next-swc/crates/core/tests/full.rs b/packages/next-swc/crates/core/tests/full.rs index 964eac330067e..01d081f570177 100644 --- a/packages/next-swc/crates/core/tests/full.rs +++ b/packages/next-swc/crates/core/tests/full.rs @@ -65,7 +65,6 @@ fn test(input: &Path, minify: bool) { shake_exports: None, emotion: Some(assert_json("{}")), modularize_imports: None, - font_loaders: None, }; let options = options.patch(&fm); From 06c7b50aa095640eef2650180c6837b5bc02d019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 22:56:30 +0200 Subject: [PATCH 11/13] Revert "temp add font package" This reverts commit 1b5679a73dfafec5f4492148196dd1d98e56a4aa. --- package.json | 1 - packages/font/google/index.d.ts | 1 - packages/font/google/index.js | 1 - packages/font/google/loader.d.ts | 1 - packages/font/google/loader.js | 1 - packages/font/package.json | 19 - packages/font/src/google/font-data.json | 10208 ----------------- packages/font/src/google/index.ts | 13243 ---------------------- packages/font/src/google/loader.ts | 121 - packages/font/src/google/utils.ts | 189 - packages/font/tsconfig.json | 13 - packages/next/server/font-utils.ts | 2 +- pnpm-lock.yaml | 8 +- scripts/update-google-fonts.js | 74 - 14 files changed, 4 insertions(+), 23878 deletions(-) delete mode 100644 packages/font/google/index.d.ts delete mode 100644 packages/font/google/index.js delete mode 100644 packages/font/google/loader.d.ts delete mode 100644 packages/font/google/loader.js delete mode 100644 packages/font/package.json delete mode 100644 packages/font/src/google/font-data.json delete mode 100644 packages/font/src/google/index.ts delete mode 100644 packages/font/src/google/loader.ts delete mode 100644 packages/font/src/google/utils.ts delete mode 100644 packages/font/tsconfig.json delete mode 100644 scripts/update-google-fonts.js diff --git a/package.json b/package.json index d1c5ea07a022c..51091d1b20cfa 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,6 @@ "@next/bundle-analyzer": "workspace:*", "@next/env": "workspace:*", "@next/eslint-plugin-next": "workspace:*", - "@next/font": "workspace:*", "@next/mdx": "workspace:*", "@next/plugin-storybook": "workspace:*", "@next/polyfill-module": "workspace:*", diff --git a/packages/font/google/index.d.ts b/packages/font/google/index.d.ts deleted file mode 100644 index f637355cefaef..0000000000000 --- a/packages/font/google/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../dist/google' diff --git a/packages/font/google/index.js b/packages/font/google/index.js deleted file mode 100644 index 207253086b485..0000000000000 --- a/packages/font/google/index.js +++ /dev/null @@ -1 +0,0 @@ -throw new Error('@next/font/google is not correctly setup') diff --git a/packages/font/google/loader.d.ts b/packages/font/google/loader.d.ts deleted file mode 100644 index 4de1cb05c57cd..0000000000000 --- a/packages/font/google/loader.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from '../dist/google/loader' diff --git a/packages/font/google/loader.js b/packages/font/google/loader.js deleted file mode 100644 index 87dd8ad728f24..0000000000000 --- a/packages/font/google/loader.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../dist/google/loader') diff --git a/packages/font/package.json b/packages/font/package.json deleted file mode 100644 index 8e811f6b72c43..0000000000000 --- a/packages/font/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@next/font", - "version": "12.2.6-canary.10", - "repository": { - "url": "vercel/next.js", - "directory": "packages/font" - }, - "files": [ - "dist", - "google" - ], - "license": "MIT", - "scripts": { - "build": "rm -rf dist && tsc -d -p tsconfig.json", - "prepublishOnly": "cd ../../ && turbo run build", - "dev": "tsc -d -w -p tsconfig.json", - "typescript": "tsec --noEmit -p tsconfig.json" - } -} diff --git a/packages/font/src/google/font-data.json b/packages/font/src/google/font-data.json deleted file mode 100644 index 619037601dd1e..0000000000000 --- a/packages/font/src/google/font-data.json +++ /dev/null @@ -1,10208 +0,0 @@ -{ - "ABeeZee": { - "variants": ["400", "400-italic"] - }, - "Abel": { - "variants": ["400"] - }, - "Abhaya Libre": { - "variants": ["400", "500", "600", "700", "800"] - }, - "Aboreto": { - "variants": ["400"] - }, - "Abril Fatface": { - "variants": ["400"] - }, - "Aclonica": { - "variants": ["400"] - }, - "Acme": { - "variants": ["400"] - }, - "Actor": { - "variants": ["400"] - }, - "Adamina": { - "variants": ["400"] - }, - "Advent Pro": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "Aguafina Script": { - "variants": ["400"] - }, - "Akaya Kanadaka": { - "variants": ["400"] - }, - "Akaya Telivigala": { - "variants": ["400"] - }, - "Akronim": { - "variants": ["400"] - }, - "Akshar": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Aladin": { - "variants": ["400"] - }, - "Alata": { - "variants": ["400"] - }, - "Alatsi": { - "variants": ["400"] - }, - "Albert Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Aldrich": { - "variants": ["400"] - }, - "Alef": { - "variants": ["400", "700"] - }, - "Alegreya": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Alegreya SC": { - "variants": [ - "400", - "500", - "700", - "800", - "900", - "400-italic", - "500-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Alegreya Sans": { - "variants": [ - "100", - "300", - "400", - "500", - "700", - "800", - "900", - "100-italic", - "300-italic", - "400-italic", - "500-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Alegreya Sans SC": { - "variants": [ - "100", - "300", - "400", - "500", - "700", - "800", - "900", - "100-italic", - "300-italic", - "400-italic", - "500-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Aleo": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Alex Brush": { - "variants": ["400"] - }, - "Alfa Slab One": { - "variants": ["400"] - }, - "Alice": { - "variants": ["400"] - }, - "Alike": { - "variants": ["400"] - }, - "Alike Angular": { - "variants": ["400"] - }, - "Allan": { - "variants": ["400", "700"] - }, - "Allerta": { - "variants": ["400"] - }, - "Allerta Stencil": { - "variants": ["400"] - }, - "Allison": { - "variants": ["400"] - }, - "Allura": { - "variants": ["400"] - }, - "Almarai": { - "variants": ["300", "400", "700", "800"] - }, - "Almendra": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Almendra Display": { - "variants": ["400"] - }, - "Almendra SC": { - "variants": ["400"] - }, - "Alumni Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Alumni Sans Collegiate One": { - "variants": ["400", "400-italic"] - }, - "Alumni Sans Inline One": { - "variants": ["400", "400-italic"] - }, - "Alumni Sans Pinstripe": { - "variants": ["400", "400-italic"] - }, - "Amarante": { - "variants": ["400"] - }, - "Amaranth": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Amatic SC": { - "variants": ["400", "700"] - }, - "Amethysta": { - "variants": ["400"] - }, - "Amiko": { - "variants": ["400", "600", "700"] - }, - "Amiri": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Amiri Quran": { - "variants": ["400"] - }, - "Amita": { - "variants": ["400", "700"] - }, - "Anaheim": { - "variants": ["400"] - }, - "Andada Pro": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 840, - "defaultValue": 400 - } - ] - }, - "Andika": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Anek Bangla": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Devanagari": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Gujarati": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Gurmukhi": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Kannada": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Latin": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Malayalam": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Odia": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Tamil": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Anek Telugu": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Angkor": { - "variants": ["400"] - }, - "Annie Use Your Telescope": { - "variants": ["400"] - }, - "Anonymous Pro": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Antic": { - "variants": ["400"] - }, - "Antic Didone": { - "variants": ["400"] - }, - "Antic Slab": { - "variants": ["400"] - }, - "Anton": { - "variants": ["400"] - }, - "Antonio": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Anybody": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 50, - "max": 150, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Arapey": { - "variants": ["400", "400-italic"] - }, - "Arbutus": { - "variants": ["400"] - }, - "Arbutus Slab": { - "variants": ["400"] - }, - "Architects Daughter": { - "variants": ["400"] - }, - "Archivo": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 62, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Archivo Black": { - "variants": ["400"] - }, - "Archivo Narrow": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Are You Serious": { - "variants": ["400"] - }, - "Aref Ruqaa": { - "variants": ["400", "700"] - }, - "Aref Ruqaa Ink": { - "variants": ["400", "700"] - }, - "Arima": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Arima Madurai": { - "variants": ["100", "200", "300", "400", "500", "700", "800", "900"] - }, - "Arimo": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Arizonia": { - "variants": ["400"] - }, - "Armata": { - "variants": ["400"] - }, - "Arsenal": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Artifika": { - "variants": ["400"] - }, - "Arvo": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Arya": { - "variants": ["400", "700"] - }, - "Asap": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Asap Condensed": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Asar": { - "variants": ["400"] - }, - "Asset": { - "variants": ["400"] - }, - "Assistant": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Astloch": { - "variants": ["400", "700"] - }, - "Asul": { - "variants": ["400", "700"] - }, - "Athiti": { - "variants": ["200", "300", "400", "500", "600", "700"] - }, - "Atkinson Hyperlegible": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Atma": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Atomic Age": { - "variants": ["400"] - }, - "Aubrey": { - "variants": ["400"] - }, - "Audiowide": { - "variants": ["400"] - }, - "Autour One": { - "variants": ["400"] - }, - "Average": { - "variants": ["400"] - }, - "Average Sans": { - "variants": ["400"] - }, - "Averia Gruesa Libre": { - "variants": ["400"] - }, - "Averia Libre": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Averia Sans Libre": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Averia Serif Libre": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Azeret Mono": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "B612": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "B612 Mono": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "BIZ UDGothic": { - "variants": ["400", "700"] - }, - "BIZ UDMincho": { - "variants": ["400"] - }, - "BIZ UDPGothic": { - "variants": ["400", "700"] - }, - "BIZ UDPMincho": { - "variants": ["400"] - }, - "Babylonica": { - "variants": ["400"] - }, - "Bad Script": { - "variants": ["400"] - }, - "Bahiana": { - "variants": ["400"] - }, - "Bahianita": { - "variants": ["400"] - }, - "Bai Jamjuree": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Bakbak One": { - "variants": ["400"] - }, - "Ballet": { - "variants": ["400", "variable"], - "axes": [ - { - "tag": "opsz", - "min": 16, - "max": 72, - "defaultValue": 16 - } - ] - }, - "Baloo 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Bhai 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Bhaijaan 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Bhaina 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Chettan 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Da 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Paaji 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Tamma 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Tammudu 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Baloo Thambi 2": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Balsamiq Sans": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Balthazar": { - "variants": ["400"] - }, - "Bangers": { - "variants": ["400"] - }, - "Barlow": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Barlow Condensed": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Barlow Semi Condensed": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Barriecito": { - "variants": ["400"] - }, - "Barrio": { - "variants": ["400"] - }, - "Basic": { - "variants": ["400"] - }, - "Baskervville": { - "variants": ["400", "400-italic"] - }, - "Battambang": { - "variants": ["100", "300", "400", "700", "900"] - }, - "Baumans": { - "variants": ["400"] - }, - "Bayon": { - "variants": ["400"] - }, - "Be Vietnam Pro": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Beau Rivage": { - "variants": ["400"] - }, - "Bebas Neue": { - "variants": ["400"] - }, - "Belgrano": { - "variants": ["400"] - }, - "Bellefair": { - "variants": ["400"] - }, - "Belleza": { - "variants": ["400"] - }, - "Bellota": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Bellota Text": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "BenchNine": { - "variants": ["300", "400", "700"] - }, - "Benne": { - "variants": ["400"] - }, - "Bentham": { - "variants": ["400"] - }, - "Berkshire Swash": { - "variants": ["400"] - }, - "Besley": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Beth Ellen": { - "variants": ["400"] - }, - "Bevan": { - "variants": ["400", "400-italic"] - }, - "BhuTuka Expanded One": { - "variants": ["400"] - }, - "Big Shoulders Display": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Big Shoulders Inline Display": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Big Shoulders Inline Text": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Big Shoulders Stencil Display": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Big Shoulders Stencil Text": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Big Shoulders Text": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Bigelow Rules": { - "variants": ["400"] - }, - "Bigshot One": { - "variants": ["400"] - }, - "Bilbo": { - "variants": ["400"] - }, - "Bilbo Swash Caps": { - "variants": ["400"] - }, - "BioRhyme": { - "variants": ["200", "300", "400", "700", "800"] - }, - "BioRhyme Expanded": { - "variants": ["200", "300", "400", "700", "800"] - }, - "Birthstone": { - "variants": ["400"] - }, - "Birthstone Bounce": { - "variants": ["400", "500"] - }, - "Biryani": { - "variants": ["200", "300", "400", "600", "700", "800", "900"] - }, - "Bitter": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Black And White Picture": { - "variants": ["400"] - }, - "Black Han Sans": { - "variants": ["400"] - }, - "Black Ops One": { - "variants": ["400"] - }, - "Blaka": { - "variants": ["400"] - }, - "Blaka Hollow": { - "variants": ["400"] - }, - "Blaka Ink": { - "variants": ["400"] - }, - "Blinker": { - "variants": ["100", "200", "300", "400", "600", "700", "800", "900"] - }, - "Bodoni Moda": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 6, - "max": 96, - "defaultValue": 11 - }, - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Bokor": { - "variants": ["400"] - }, - "Bona Nova": { - "variants": ["400", "700", "400-italic"] - }, - "Bonbon": { - "variants": ["400"] - }, - "Bonheur Royale": { - "variants": ["400"] - }, - "Boogaloo": { - "variants": ["400"] - }, - "Bowlby One": { - "variants": ["400"] - }, - "Bowlby One SC": { - "variants": ["400"] - }, - "Brawler": { - "variants": ["400", "700"] - }, - "Bree Serif": { - "variants": ["400"] - }, - "Brygada 1918": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Bubblegum Sans": { - "variants": ["400"] - }, - "Bubbler One": { - "variants": ["400"] - }, - "Buda": { - "variants": ["300"] - }, - "Buenard": { - "variants": ["400", "700"] - }, - "Bungee": { - "variants": ["400"] - }, - "Bungee Hairline": { - "variants": ["400"] - }, - "Bungee Inline": { - "variants": ["400"] - }, - "Bungee Outline": { - "variants": ["400"] - }, - "Bungee Shade": { - "variants": ["400"] - }, - "Bungee Spice": { - "variants": ["400"] - }, - "Butcherman": { - "variants": ["400"] - }, - "Butterfly Kids": { - "variants": ["400"] - }, - "Cabin": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Cabin Condensed": { - "variants": ["400", "500", "600", "700"] - }, - "Cabin Sketch": { - "variants": ["400", "700"] - }, - "Caesar Dressing": { - "variants": ["400"] - }, - "Cagliostro": { - "variants": ["400"] - }, - "Cairo": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Cairo Play": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "slnt", - "min": -11, - "max": 11, - "defaultValue": 0 - }, - { - "tag": "wght", - "min": 200, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Caladea": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Calistoga": { - "variants": ["400"] - }, - "Calligraffitti": { - "variants": ["400"] - }, - "Cambay": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Cambo": { - "variants": ["400"] - }, - "Candal": { - "variants": ["400"] - }, - "Cantarell": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Cantata One": { - "variants": ["400"] - }, - "Cantora One": { - "variants": ["400"] - }, - "Capriola": { - "variants": ["400"] - }, - "Caramel": { - "variants": ["400"] - }, - "Carattere": { - "variants": ["400"] - }, - "Cardo": { - "variants": ["400", "700", "400-italic"] - }, - "Carme": { - "variants": ["400"] - }, - "Carrois Gothic": { - "variants": ["400"] - }, - "Carrois Gothic SC": { - "variants": ["400"] - }, - "Carter One": { - "variants": ["400"] - }, - "Castoro": { - "variants": ["400", "400-italic"] - }, - "Catamaran": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Caudex": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Caveat": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Caveat Brush": { - "variants": ["400"] - }, - "Cedarville Cursive": { - "variants": ["400"] - }, - "Ceviche One": { - "variants": ["400"] - }, - "Chakra Petch": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Changa": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Changa One": { - "variants": ["400", "400-italic"] - }, - "Chango": { - "variants": ["400"] - }, - "Charis SIL": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Charm": { - "variants": ["400", "700"] - }, - "Charmonman": { - "variants": ["400", "700"] - }, - "Chathura": { - "variants": ["100", "300", "400", "700", "800"] - }, - "Chau Philomene One": { - "variants": ["400", "400-italic"] - }, - "Chela One": { - "variants": ["400"] - }, - "Chelsea Market": { - "variants": ["400"] - }, - "Chenla": { - "variants": ["400"] - }, - "Cherish": { - "variants": ["400"] - }, - "Cherry Cream Soda": { - "variants": ["400"] - }, - "Cherry Swash": { - "variants": ["400", "700"] - }, - "Chewy": { - "variants": ["400"] - }, - "Chicle": { - "variants": ["400"] - }, - "Chilanka": { - "variants": ["400"] - }, - "Chivo": { - "variants": [ - "300", - "400", - "700", - "900", - "300-italic", - "400-italic", - "700-italic", - "900-italic" - ] - }, - "Chonburi": { - "variants": ["400"] - }, - "Cinzel": { - "variants": ["400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Cinzel Decorative": { - "variants": ["400", "700", "900"] - }, - "Clicker Script": { - "variants": ["400"] - }, - "Coda": { - "variants": ["400", "800"] - }, - "Coda Caption": { - "variants": ["800"] - }, - "Codystar": { - "variants": ["300", "400"] - }, - "Coiny": { - "variants": ["400"] - }, - "Combo": { - "variants": ["400"] - }, - "Comfortaa": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Comforter": { - "variants": ["400"] - }, - "Comforter Brush": { - "variants": ["400"] - }, - "Comic Neue": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Coming Soon": { - "variants": ["400"] - }, - "Commissioner": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Concert One": { - "variants": ["400"] - }, - "Condiment": { - "variants": ["400"] - }, - "Content": { - "variants": ["400", "700"] - }, - "Contrail One": { - "variants": ["400"] - }, - "Convergence": { - "variants": ["400"] - }, - "Cookie": { - "variants": ["400"] - }, - "Copse": { - "variants": ["400"] - }, - "Corben": { - "variants": ["400", "700"] - }, - "Corinthia": { - "variants": ["400", "700"] - }, - "Cormorant": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Cormorant Garamond": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Cormorant Infant": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Cormorant SC": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Cormorant Unicase": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Cormorant Upright": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Courgette": { - "variants": ["400"] - }, - "Courier Prime": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Cousine": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Coustard": { - "variants": ["400", "900"] - }, - "Covered By Your Grace": { - "variants": ["400"] - }, - "Crafty Girls": { - "variants": ["400"] - }, - "Creepster": { - "variants": ["400"] - }, - "Crete Round": { - "variants": ["400", "400-italic"] - }, - "Crimson Pro": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Crimson Text": { - "variants": ["400", "600", "700", "400-italic", "600-italic", "700-italic"] - }, - "Croissant One": { - "variants": ["400"] - }, - "Crushed": { - "variants": ["400"] - }, - "Cuprum": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Cute Font": { - "variants": ["400"] - }, - "Cutive": { - "variants": ["400"] - }, - "Cutive Mono": { - "variants": ["400"] - }, - "DM Mono": { - "variants": ["300", "400", "500", "300-italic", "400-italic", "500-italic"] - }, - "DM Sans": { - "variants": ["400", "500", "700", "400-italic", "500-italic", "700-italic"] - }, - "DM Serif Display": { - "variants": ["400", "400-italic"] - }, - "DM Serif Text": { - "variants": ["400", "400-italic"] - }, - "Damion": { - "variants": ["400"] - }, - "Dancing Script": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Dangrek": { - "variants": ["400"] - }, - "Darker Grotesque": { - "variants": ["300", "400", "500", "600", "700", "800", "900"] - }, - "David Libre": { - "variants": ["400", "500", "700"] - }, - "Dawning of a New Day": { - "variants": ["400"] - }, - "Days One": { - "variants": ["400"] - }, - "Dekko": { - "variants": ["400"] - }, - "Dela Gothic One": { - "variants": ["400"] - }, - "Delius": { - "variants": ["400"] - }, - "Delius Swash Caps": { - "variants": ["400"] - }, - "Delius Unicase": { - "variants": ["400", "700"] - }, - "Della Respira": { - "variants": ["400"] - }, - "Denk One": { - "variants": ["400"] - }, - "Devonshire": { - "variants": ["400"] - }, - "Dhurjati": { - "variants": ["400"] - }, - "Didact Gothic": { - "variants": ["400"] - }, - "Diplomata": { - "variants": ["400"] - }, - "Diplomata SC": { - "variants": ["400"] - }, - "Do Hyeon": { - "variants": ["400"] - }, - "Dokdo": { - "variants": ["400"] - }, - "Domine": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Donegal One": { - "variants": ["400"] - }, - "Dongle": { - "variants": ["300", "400", "700"] - }, - "Doppio One": { - "variants": ["400"] - }, - "Dorsa": { - "variants": ["400"] - }, - "Dosis": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "DotGothic16": { - "variants": ["400"] - }, - "Dr Sugiyama": { - "variants": ["400"] - }, - "Duru Sans": { - "variants": ["400"] - }, - "DynaPuff": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Dynalight": { - "variants": ["400"] - }, - "EB Garamond": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Eagle Lake": { - "variants": ["400"] - }, - "East Sea Dokdo": { - "variants": ["400"] - }, - "Eater": { - "variants": ["400"] - }, - "Economica": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Eczar": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Edu NSW ACT Foundation": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Edu QLD Beginner": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Edu SA Beginner": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Edu TAS Beginner": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Edu VIC WA NT Beginner": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "El Messiri": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Electrolize": { - "variants": ["400"] - }, - "Elsie": { - "variants": ["400", "900"] - }, - "Elsie Swash Caps": { - "variants": ["400", "900"] - }, - "Emblema One": { - "variants": ["400"] - }, - "Emilys Candy": { - "variants": ["400"] - }, - "Encode Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Encode Sans Condensed": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Encode Sans Expanded": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Encode Sans SC": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Encode Sans Semi Condensed": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Encode Sans Semi Expanded": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Engagement": { - "variants": ["400"] - }, - "Englebert": { - "variants": ["400"] - }, - "Enriqueta": { - "variants": ["400", "500", "600", "700"] - }, - "Ephesis": { - "variants": ["400"] - }, - "Epilogue": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Erica One": { - "variants": ["400"] - }, - "Esteban": { - "variants": ["400"] - }, - "Estonia": { - "variants": ["400"] - }, - "Euphoria Script": { - "variants": ["400"] - }, - "Ewert": { - "variants": ["400"] - }, - "Exo": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Exo 2": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Expletus Sans": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Explora": { - "variants": ["400"] - }, - "Fahkwang": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Familjen Grotesk": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Fanwood Text": { - "variants": ["400", "400-italic"] - }, - "Farro": { - "variants": ["300", "400", "500", "700"] - }, - "Farsan": { - "variants": ["400"] - }, - "Fascinate": { - "variants": ["400"] - }, - "Fascinate Inline": { - "variants": ["400"] - }, - "Faster One": { - "variants": ["400"] - }, - "Fasthand": { - "variants": ["400"] - }, - "Fauna One": { - "variants": ["400"] - }, - "Faustina": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Federant": { - "variants": ["400"] - }, - "Federo": { - "variants": ["400"] - }, - "Felipa": { - "variants": ["400"] - }, - "Fenix": { - "variants": ["400"] - }, - "Festive": { - "variants": ["400"] - }, - "Figtree": { - "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Finger Paint": { - "variants": ["400"] - }, - "Finlandica": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Fira Code": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Fira Mono": { - "variants": ["400", "500", "700"] - }, - "Fira Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Fira Sans Condensed": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Fira Sans Extra Condensed": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Fjalla One": { - "variants": ["400"] - }, - "Fjord One": { - "variants": ["400"] - }, - "Flamenco": { - "variants": ["300", "400"] - }, - "Flavors": { - "variants": ["400"] - }, - "Fleur De Leah": { - "variants": ["400"] - }, - "Flow Block": { - "variants": ["400"] - }, - "Flow Circular": { - "variants": ["400"] - }, - "Flow Rounded": { - "variants": ["400"] - }, - "Fondamento": { - "variants": ["400", "400-italic"] - }, - "Fontdiner Swanky": { - "variants": ["400"] - }, - "Forum": { - "variants": ["400"] - }, - "Francois One": { - "variants": ["400"] - }, - "Frank Ruhl Libre": { - "variants": ["300", "400", "500", "700", "900"] - }, - "Fraunces": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "SOFT", - "min": 0, - "max": 100, - "defaultValue": 0 - }, - { - "tag": "WONK", - "min": 0, - "max": 1, - "defaultValue": 0 - }, - { - "tag": "opsz", - "min": 9, - "max": 144, - "defaultValue": 14 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Freckle Face": { - "variants": ["400"] - }, - "Fredericka the Great": { - "variants": ["400"] - }, - "Fredoka": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Fredoka One": { - "variants": ["400"] - }, - "Freehand": { - "variants": ["400"] - }, - "Fresca": { - "variants": ["400"] - }, - "Frijole": { - "variants": ["400"] - }, - "Fruktur": { - "variants": ["400", "400-italic"] - }, - "Fugaz One": { - "variants": ["400"] - }, - "Fuggles": { - "variants": ["400"] - }, - "Fuzzy Bubbles": { - "variants": ["400", "700"] - }, - "GFS Didot": { - "variants": ["400"] - }, - "GFS Neohellenic": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Gabriela": { - "variants": ["400"] - }, - "Gaegu": { - "variants": ["300", "400", "700"] - }, - "Gafata": { - "variants": ["400"] - }, - "Galada": { - "variants": ["400"] - }, - "Galdeano": { - "variants": ["400"] - }, - "Galindo": { - "variants": ["400"] - }, - "Gamja Flower": { - "variants": ["400"] - }, - "Gantari": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Gayathri": { - "variants": ["100", "400", "700"] - }, - "Gelasio": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Gemunu Libre": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Genos": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Gentium Book Basic": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Gentium Book Plus": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Gentium Plus": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Geo": { - "variants": ["400", "400-italic"] - }, - "Georama": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 150, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Geostar": { - "variants": ["400"] - }, - "Geostar Fill": { - "variants": ["400"] - }, - "Germania One": { - "variants": ["400"] - }, - "Gideon Roman": { - "variants": ["400"] - }, - "Gidugu": { - "variants": ["400"] - }, - "Gilda Display": { - "variants": ["400"] - }, - "Girassol": { - "variants": ["400"] - }, - "Give You Glory": { - "variants": ["400"] - }, - "Glass Antiqua": { - "variants": ["400"] - }, - "Glegoo": { - "variants": ["400", "700"] - }, - "Gloria Hallelujah": { - "variants": ["400"] - }, - "Glory": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Gluten": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "slnt", - "min": -13, - "max": 13, - "defaultValue": 0 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Goblin One": { - "variants": ["400"] - }, - "Gochi Hand": { - "variants": ["400"] - }, - "Goldman": { - "variants": ["400", "700"] - }, - "Gorditas": { - "variants": ["400", "700"] - }, - "Gothic A1": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Gotu": { - "variants": ["400"] - }, - "Goudy Bookletter 1911": { - "variants": ["400"] - }, - "Gowun Batang": { - "variants": ["400", "700"] - }, - "Gowun Dodum": { - "variants": ["400"] - }, - "Graduate": { - "variants": ["400"] - }, - "Grand Hotel": { - "variants": ["400"] - }, - "Grandstander": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Grape Nuts": { - "variants": ["400"] - }, - "Gravitas One": { - "variants": ["400"] - }, - "Great Vibes": { - "variants": ["400"] - }, - "Grechen Fuemen": { - "variants": ["400"] - }, - "Grenze": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Grenze Gotisch": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Grey Qo": { - "variants": ["400"] - }, - "Griffy": { - "variants": ["400"] - }, - "Gruppo": { - "variants": ["400"] - }, - "Gudea": { - "variants": ["400", "700", "400-italic"] - }, - "Gugi": { - "variants": ["400"] - }, - "Gulzar": { - "variants": ["400"] - }, - "Gupter": { - "variants": ["400", "500", "700"] - }, - "Gurajada": { - "variants": ["400"] - }, - "Gwendolyn": { - "variants": ["400", "700"] - }, - "Habibi": { - "variants": ["400"] - }, - "Hachi Maru Pop": { - "variants": ["400"] - }, - "Hahmlet": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Halant": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Hammersmith One": { - "variants": ["400"] - }, - "Hanalei": { - "variants": ["400"] - }, - "Hanalei Fill": { - "variants": ["400"] - }, - "Handlee": { - "variants": ["400"] - }, - "Hanuman": { - "variants": ["100", "300", "400", "700", "900"] - }, - "Happy Monkey": { - "variants": ["400"] - }, - "Harmattan": { - "variants": ["400", "700"] - }, - "Headland One": { - "variants": ["400"] - }, - "Heebo": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Henny Penny": { - "variants": ["400"] - }, - "Hepta Slab": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 1, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Herr Von Muellerhoff": { - "variants": ["400"] - }, - "Hi Melody": { - "variants": ["400"] - }, - "Hina Mincho": { - "variants": ["400"] - }, - "Hind": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Hind Guntur": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Hind Madurai": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Hind Siliguri": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Hind Vadodara": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Holtwood One SC": { - "variants": ["400"] - }, - "Homemade Apple": { - "variants": ["400"] - }, - "Homenaje": { - "variants": ["400"] - }, - "Hubballi": { - "variants": ["400"] - }, - "Hurricane": { - "variants": ["400"] - }, - "IBM Plex Mono": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "IBM Plex Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "IBM Plex Sans Arabic": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Sans Condensed": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "IBM Plex Sans Devanagari": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Sans Hebrew": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Sans KR": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Sans Thai": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Sans Thai Looped": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "IBM Plex Serif": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "IM Fell DW Pica": { - "variants": ["400", "400-italic"] - }, - "IM Fell DW Pica SC": { - "variants": ["400"] - }, - "IM Fell Double Pica": { - "variants": ["400", "400-italic"] - }, - "IM Fell Double Pica SC": { - "variants": ["400"] - }, - "IM Fell English": { - "variants": ["400", "400-italic"] - }, - "IM Fell English SC": { - "variants": ["400"] - }, - "IM Fell French Canon": { - "variants": ["400", "400-italic"] - }, - "IM Fell French Canon SC": { - "variants": ["400"] - }, - "IM Fell Great Primer": { - "variants": ["400", "400-italic"] - }, - "IM Fell Great Primer SC": { - "variants": ["400"] - }, - "Ibarra Real Nova": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Iceberg": { - "variants": ["400"] - }, - "Iceland": { - "variants": ["400"] - }, - "Imbue": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "opsz", - "min": 10, - "max": 100, - "defaultValue": 10 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Imperial Script": { - "variants": ["400"] - }, - "Imprima": { - "variants": ["400"] - }, - "Inconsolata": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 50, - "max": 200, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Inder": { - "variants": ["400"] - }, - "Indie Flower": { - "variants": ["400"] - }, - "Ingrid Darling": { - "variants": ["400"] - }, - "Inika": { - "variants": ["400", "700"] - }, - "Inknut Antiqua": { - "variants": ["300", "400", "500", "600", "700", "800", "900"] - }, - "Inria Sans": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Inria Serif": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Inspiration": { - "variants": ["400"] - }, - "Inter": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "slnt", - "min": -10, - "max": 0, - "defaultValue": 0 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Irish Grover": { - "variants": ["400"] - }, - "Island Moments": { - "variants": ["400"] - }, - "Istok Web": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Italiana": { - "variants": ["400"] - }, - "Italianno": { - "variants": ["400"] - }, - "Itim": { - "variants": ["400"] - }, - "Jacques Francois": { - "variants": ["400"] - }, - "Jacques Francois Shadow": { - "variants": ["400"] - }, - "Jaldi": { - "variants": ["400", "700"] - }, - "JetBrains Mono": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Jim Nightshade": { - "variants": ["400"] - }, - "Joan": { - "variants": ["400"] - }, - "Jockey One": { - "variants": ["400"] - }, - "Jolly Lodger": { - "variants": ["400"] - }, - "Jomhuria": { - "variants": ["400"] - }, - "Jomolhari": { - "variants": ["400"] - }, - "Josefin Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Josefin Slab": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Jost": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Joti One": { - "variants": ["400"] - }, - "Jua": { - "variants": ["400"] - }, - "Judson": { - "variants": ["400", "700", "400-italic"] - }, - "Julee": { - "variants": ["400"] - }, - "Julius Sans One": { - "variants": ["400"] - }, - "Junge": { - "variants": ["400"] - }, - "Jura": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Just Another Hand": { - "variants": ["400"] - }, - "Just Me Again Down Here": { - "variants": ["400"] - }, - "K2D": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic" - ] - }, - "Kadwa": { - "variants": ["400", "700"] - }, - "Kaisei Decol": { - "variants": ["400", "500", "700"] - }, - "Kaisei HarunoUmi": { - "variants": ["400", "500", "700"] - }, - "Kaisei Opti": { - "variants": ["400", "500", "700"] - }, - "Kaisei Tokumin": { - "variants": ["400", "500", "700", "800"] - }, - "Kalam": { - "variants": ["300", "400", "700"] - }, - "Kameron": { - "variants": ["400", "700"] - }, - "Kanit": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Kantumruy": { - "variants": ["300", "400", "700"] - }, - "Kantumruy Pro": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Karantina": { - "variants": ["300", "400", "700"] - }, - "Karla": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Karma": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Katibeh": { - "variants": ["400"] - }, - "Kaushan Script": { - "variants": ["400"] - }, - "Kavivanar": { - "variants": ["400"] - }, - "Kavoon": { - "variants": ["400"] - }, - "Kdam Thmor Pro": { - "variants": ["400"] - }, - "Keania One": { - "variants": ["400"] - }, - "Kelly Slab": { - "variants": ["400"] - }, - "Kenia": { - "variants": ["400"] - }, - "Khand": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Khmer": { - "variants": ["400"] - }, - "Khula": { - "variants": ["300", "400", "600", "700", "800"] - }, - "Kings": { - "variants": ["400"] - }, - "Kirang Haerang": { - "variants": ["400"] - }, - "Kite One": { - "variants": ["400"] - }, - "Kiwi Maru": { - "variants": ["300", "400", "500"] - }, - "Klee One": { - "variants": ["400", "600"] - }, - "Knewave": { - "variants": ["400"] - }, - "KoHo": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Kodchasan": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Koh Santepheap": { - "variants": ["100", "300", "400", "700", "900"] - }, - "Kolker Brush": { - "variants": ["400"] - }, - "Kosugi": { - "variants": ["400"] - }, - "Kosugi Maru": { - "variants": ["400"] - }, - "Kotta One": { - "variants": ["400"] - }, - "Koulen": { - "variants": ["400"] - }, - "Kranky": { - "variants": ["400"] - }, - "Kreon": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Kristi": { - "variants": ["400"] - }, - "Krona One": { - "variants": ["400"] - }, - "Krub": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Kufam": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Kulim Park": { - "variants": [ - "200", - "300", - "400", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "600-italic", - "700-italic" - ] - }, - "Kumar One": { - "variants": ["400"] - }, - "Kumar One Outline": { - "variants": ["400"] - }, - "Kumbh Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Kurale": { - "variants": ["400"] - }, - "La Belle Aurore": { - "variants": ["400"] - }, - "Lacquer": { - "variants": ["400"] - }, - "Laila": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Lakki Reddy": { - "variants": ["400"] - }, - "Lalezar": { - "variants": ["400"] - }, - "Lancelot": { - "variants": ["400"] - }, - "Langar": { - "variants": ["400"] - }, - "Lateef": { - "variants": ["400"] - }, - "Lato": { - "variants": [ - "100", - "300", - "400", - "700", - "900", - "100-italic", - "300-italic", - "400-italic", - "700-italic", - "900-italic" - ] - }, - "Lavishly Yours": { - "variants": ["400"] - }, - "League Gothic": { - "variants": ["400", "variable"], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 100, - "defaultValue": 100 - } - ] - }, - "League Script": { - "variants": ["400"] - }, - "League Spartan": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Leckerli One": { - "variants": ["400"] - }, - "Ledger": { - "variants": ["400"] - }, - "Lekton": { - "variants": ["400", "700", "400-italic"] - }, - "Lemon": { - "variants": ["400"] - }, - "Lemonada": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Lexend": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Deca": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Exa": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Giga": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Mega": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Peta": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Tera": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Lexend Zetta": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Libre Barcode 128": { - "variants": ["400"] - }, - "Libre Barcode 128 Text": { - "variants": ["400"] - }, - "Libre Barcode 39": { - "variants": ["400"] - }, - "Libre Barcode 39 Extended": { - "variants": ["400"] - }, - "Libre Barcode 39 Extended Text": { - "variants": ["400"] - }, - "Libre Barcode 39 Text": { - "variants": ["400"] - }, - "Libre Barcode EAN13 Text": { - "variants": ["400"] - }, - "Libre Baskerville": { - "variants": ["400", "700", "400-italic"] - }, - "Libre Bodoni": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Libre Caslon Display": { - "variants": ["400"] - }, - "Libre Caslon Text": { - "variants": ["400", "700", "400-italic"] - }, - "Libre Franklin": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Licorice": { - "variants": ["400"] - }, - "Life Savers": { - "variants": ["400", "700", "800"] - }, - "Lilita One": { - "variants": ["400"] - }, - "Lily Script One": { - "variants": ["400"] - }, - "Limelight": { - "variants": ["400"] - }, - "Linden Hill": { - "variants": ["400", "400-italic"] - }, - "Literata": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 7, - "max": 72, - "defaultValue": 14 - }, - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Liu Jian Mao Cao": { - "variants": ["400"] - }, - "Livvic": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "900-italic" - ] - }, - "Lobster": { - "variants": ["400"] - }, - "Lobster Two": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Londrina Outline": { - "variants": ["400"] - }, - "Londrina Shadow": { - "variants": ["400"] - }, - "Londrina Sketch": { - "variants": ["400"] - }, - "Londrina Solid": { - "variants": ["100", "300", "400", "900"] - }, - "Long Cang": { - "variants": ["400"] - }, - "Lora": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Love Light": { - "variants": ["400"] - }, - "Love Ya Like A Sister": { - "variants": ["400"] - }, - "Loved by the King": { - "variants": ["400"] - }, - "Lovers Quarrel": { - "variants": ["400"] - }, - "Luckiest Guy": { - "variants": ["400"] - }, - "Lusitana": { - "variants": ["400", "700"] - }, - "Lustria": { - "variants": ["400"] - }, - "Luxurious Roman": { - "variants": ["400"] - }, - "Luxurious Script": { - "variants": ["400"] - }, - "M PLUS 1": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "M PLUS 1 Code": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "M PLUS 1p": { - "variants": ["100", "300", "400", "500", "700", "800", "900"] - }, - "M PLUS 2": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "M PLUS Code Latin": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wdth", - "min": 100, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "M PLUS Rounded 1c": { - "variants": ["100", "300", "400", "500", "700", "800", "900"] - }, - "Ma Shan Zheng": { - "variants": ["400"] - }, - "Macondo": { - "variants": ["400"] - }, - "Macondo Swash Caps": { - "variants": ["400"] - }, - "Mada": { - "variants": ["200", "300", "400", "500", "600", "700", "900"] - }, - "Magra": { - "variants": ["400", "700"] - }, - "Maiden Orange": { - "variants": ["400"] - }, - "Maitree": { - "variants": ["200", "300", "400", "500", "600", "700"] - }, - "Major Mono Display": { - "variants": ["400"] - }, - "Mako": { - "variants": ["400"] - }, - "Mali": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Mallanna": { - "variants": ["400"] - }, - "Mandali": { - "variants": ["400"] - }, - "Manjari": { - "variants": ["100", "400", "700"] - }, - "Manrope": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Mansalva": { - "variants": ["400"] - }, - "Manuale": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Marcellus": { - "variants": ["400"] - }, - "Marcellus SC": { - "variants": ["400"] - }, - "Marck Script": { - "variants": ["400"] - }, - "Margarine": { - "variants": ["400"] - }, - "Markazi Text": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Marko One": { - "variants": ["400"] - }, - "Marmelad": { - "variants": ["400"] - }, - "Martel": { - "variants": ["200", "300", "400", "600", "700", "800", "900"] - }, - "Martel Sans": { - "variants": ["200", "300", "400", "600", "700", "800", "900"] - }, - "Marvel": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Mate": { - "variants": ["400", "400-italic"] - }, - "Mate SC": { - "variants": ["400"] - }, - "Maven Pro": { - "variants": ["400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "McLaren": { - "variants": ["400"] - }, - "Mea Culpa": { - "variants": ["400"] - }, - "Meddon": { - "variants": ["400"] - }, - "MedievalSharp": { - "variants": ["400"] - }, - "Medula One": { - "variants": ["400"] - }, - "Meera Inimai": { - "variants": ["400"] - }, - "Megrim": { - "variants": ["400"] - }, - "Meie Script": { - "variants": ["400"] - }, - "Meow Script": { - "variants": ["400"] - }, - "Merienda": { - "variants": ["400", "700"] - }, - "Merienda One": { - "variants": ["400"] - }, - "Merriweather": { - "variants": [ - "300", - "400", - "700", - "900", - "300-italic", - "400-italic", - "700-italic", - "900-italic" - ] - }, - "Merriweather Sans": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Metal": { - "variants": ["400"] - }, - "Metal Mania": { - "variants": ["400"] - }, - "Metamorphous": { - "variants": ["400"] - }, - "Metrophobic": { - "variants": ["400"] - }, - "Michroma": { - "variants": ["400"] - }, - "Milonga": { - "variants": ["400"] - }, - "Miltonian": { - "variants": ["400"] - }, - "Miltonian Tattoo": { - "variants": ["400"] - }, - "Mina": { - "variants": ["400", "700"] - }, - "Mingzat": { - "variants": ["400"] - }, - "Miniver": { - "variants": ["400"] - }, - "Miriam Libre": { - "variants": ["400", "700"] - }, - "Mirza": { - "variants": ["400", "500", "600", "700"] - }, - "Miss Fajardose": { - "variants": ["400"] - }, - "Mitr": { - "variants": ["200", "300", "400", "500", "600", "700"] - }, - "Mochiy Pop One": { - "variants": ["400"] - }, - "Mochiy Pop P One": { - "variants": ["400"] - }, - "Modak": { - "variants": ["400"] - }, - "Modern Antiqua": { - "variants": ["400"] - }, - "Mogra": { - "variants": ["400"] - }, - "Mohave": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Molengo": { - "variants": ["400"] - }, - "Molle": { - "variants": ["400-italic"] - }, - "Monda": { - "variants": ["400", "700"] - }, - "Monofett": { - "variants": ["400"] - }, - "Monoton": { - "variants": ["400"] - }, - "Monsieur La Doulaise": { - "variants": ["400"] - }, - "Montaga": { - "variants": ["400"] - }, - "Montagu Slab": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "opsz", - "min": 16, - "max": 144, - "defaultValue": 144 - }, - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "MonteCarlo": { - "variants": ["400"] - }, - "Montez": { - "variants": ["400"] - }, - "Montserrat": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Montserrat Alternates": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Montserrat Subrayada": { - "variants": ["400", "700"] - }, - "Moo Lah Lah": { - "variants": ["400"] - }, - "Moon Dance": { - "variants": ["400"] - }, - "Moul": { - "variants": ["400"] - }, - "Moulpali": { - "variants": ["400"] - }, - "Mountains of Christmas": { - "variants": ["400", "700"] - }, - "Mouse Memoirs": { - "variants": ["400"] - }, - "Mr Bedfort": { - "variants": ["400"] - }, - "Mr Dafoe": { - "variants": ["400"] - }, - "Mr De Haviland": { - "variants": ["400"] - }, - "Mrs Saint Delafield": { - "variants": ["400"] - }, - "Mrs Sheppards": { - "variants": ["400"] - }, - "Ms Madi": { - "variants": ["400"] - }, - "Mukta": { - "variants": ["200", "300", "400", "500", "600", "700", "800"] - }, - "Mukta Mahee": { - "variants": ["200", "300", "400", "500", "600", "700", "800"] - }, - "Mukta Malar": { - "variants": ["200", "300", "400", "500", "600", "700", "800"] - }, - "Mukta Vaani": { - "variants": ["200", "300", "400", "500", "600", "700", "800"] - }, - "Mulish": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Murecho": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "MuseoModerno": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "My Soul": { - "variants": ["400"] - }, - "Mystery Quest": { - "variants": ["400"] - }, - "NTR": { - "variants": ["400"] - }, - "Nabla": { - "variants": ["400", "variable"], - "axes": [ - { - "tag": "EDPT", - "min": 0, - "max": 200, - "defaultValue": 100 - }, - { - "tag": "EHLT", - "min": 0, - "max": 24, - "defaultValue": 12 - } - ] - }, - "Nanum Brush Script": { - "variants": ["400"] - }, - "Nanum Gothic": { - "variants": ["400", "700", "800"] - }, - "Nanum Gothic Coding": { - "variants": ["400", "700"] - }, - "Nanum Myeongjo": { - "variants": ["400", "700", "800"] - }, - "Nanum Pen Script": { - "variants": ["400"] - }, - "Neonderthaw": { - "variants": ["400"] - }, - "Nerko One": { - "variants": ["400"] - }, - "Neucha": { - "variants": ["400"] - }, - "Neuton": { - "variants": ["200", "300", "400", "700", "800", "400-italic"] - }, - "New Rocker": { - "variants": ["400"] - }, - "New Tegomin": { - "variants": ["400"] - }, - "News Cycle": { - "variants": ["400", "700"] - }, - "Newsreader": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 6, - "max": 72, - "defaultValue": 16 - }, - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Niconne": { - "variants": ["400"] - }, - "Niramit": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Nixie One": { - "variants": ["400"] - }, - "Nobile": { - "variants": ["400", "500", "700", "400-italic", "500-italic", "700-italic"] - }, - "Nokora": { - "variants": ["100", "300", "400", "700", "900"] - }, - "Norican": { - "variants": ["400"] - }, - "Nosifer": { - "variants": ["400"] - }, - "Notable": { - "variants": ["400"] - }, - "Nothing You Could Do": { - "variants": ["400"] - }, - "Noticia Text": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Noto Color Emoji": { - "variants": ["400"] - }, - "Noto Emoji": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Kufi Arabic": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Music": { - "variants": ["400"] - }, - "Noto Naskh Arabic": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Nastaliq Urdu": { - "variants": ["400", "700"] - }, - "Noto Rashi Hebrew": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Noto Sans Adlam": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Adlam Unjoined": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Anatolian Hieroglyphs": { - "variants": ["400"] - }, - "Noto Sans Arabic": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Armenian": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Avestan": { - "variants": ["400"] - }, - "Noto Sans Balinese": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Bamum": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Bassa Vah": { - "variants": ["400"] - }, - "Noto Sans Batak": { - "variants": ["400"] - }, - "Noto Sans Bengali": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Bhaiksuki": { - "variants": ["400"] - }, - "Noto Sans Brahmi": { - "variants": ["400"] - }, - "Noto Sans Buginese": { - "variants": ["400"] - }, - "Noto Sans Buhid": { - "variants": ["400"] - }, - "Noto Sans Canadian Aboriginal": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Carian": { - "variants": ["400"] - }, - "Noto Sans Caucasian Albanian": { - "variants": ["400"] - }, - "Noto Sans Chakma": { - "variants": ["400"] - }, - "Noto Sans Cham": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Cherokee": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Coptic": { - "variants": ["400"] - }, - "Noto Sans Cuneiform": { - "variants": ["400"] - }, - "Noto Sans Cypriot": { - "variants": ["400"] - }, - "Noto Sans Deseret": { - "variants": ["400"] - }, - "Noto Sans Devanagari": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Display": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Duployan": { - "variants": ["400"] - }, - "Noto Sans Egyptian Hieroglyphs": { - "variants": ["400"] - }, - "Noto Sans Elbasan": { - "variants": ["400"] - }, - "Noto Sans Elymaic": { - "variants": ["400"] - }, - "Noto Sans Georgian": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Glagolitic": { - "variants": ["400"] - }, - "Noto Sans Gothic": { - "variants": ["400"] - }, - "Noto Sans Grantha": { - "variants": ["400"] - }, - "Noto Sans Gujarati": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Gunjala Gondi": { - "variants": ["400"] - }, - "Noto Sans Gurmukhi": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans HK": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Noto Sans Hanifi Rohingya": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Hanunoo": { - "variants": ["400"] - }, - "Noto Sans Hatran": { - "variants": ["400"] - }, - "Noto Sans Hebrew": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Imperial Aramaic": { - "variants": ["400"] - }, - "Noto Sans Indic Siyaq Numbers": { - "variants": ["400"] - }, - "Noto Sans Inscriptional Pahlavi": { - "variants": ["400"] - }, - "Noto Sans Inscriptional Parthian": { - "variants": ["400"] - }, - "Noto Sans JP": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Noto Sans Javanese": { - "variants": ["400", "700"] - }, - "Noto Sans KR": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Noto Sans Kaithi": { - "variants": ["400"] - }, - "Noto Sans Kannada": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Kayah Li": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Kharoshthi": { - "variants": ["400"] - }, - "Noto Sans Khmer": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Khojki": { - "variants": ["400"] - }, - "Noto Sans Khudawadi": { - "variants": ["400"] - }, - "Noto Sans Lao": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Lepcha": { - "variants": ["400"] - }, - "Noto Sans Limbu": { - "variants": ["400"] - }, - "Noto Sans Linear A": { - "variants": ["400"] - }, - "Noto Sans Linear B": { - "variants": ["400"] - }, - "Noto Sans Lisu": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Lycian": { - "variants": ["400"] - }, - "Noto Sans Lydian": { - "variants": ["400"] - }, - "Noto Sans Mahajani": { - "variants": ["400"] - }, - "Noto Sans Malayalam": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Mandaic": { - "variants": ["400"] - }, - "Noto Sans Manichaean": { - "variants": ["400"] - }, - "Noto Sans Marchen": { - "variants": ["400"] - }, - "Noto Sans Masaram Gondi": { - "variants": ["400"] - }, - "Noto Sans Math": { - "variants": ["400"] - }, - "Noto Sans Mayan Numerals": { - "variants": ["400"] - }, - "Noto Sans Medefaidrin": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Meetei Mayek": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Meroitic": { - "variants": ["400"] - }, - "Noto Sans Miao": { - "variants": ["400"] - }, - "Noto Sans Modi": { - "variants": ["400"] - }, - "Noto Sans Mongolian": { - "variants": ["400"] - }, - "Noto Sans Mono": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Mro": { - "variants": ["400"] - }, - "Noto Sans Multani": { - "variants": ["400"] - }, - "Noto Sans Myanmar": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Noto Sans N Ko": { - "variants": ["400"] - }, - "Noto Sans Nabataean": { - "variants": ["400"] - }, - "Noto Sans New Tai Lue": { - "variants": ["400"] - }, - "Noto Sans Newa": { - "variants": ["400"] - }, - "Noto Sans Nushu": { - "variants": ["400"] - }, - "Noto Sans Ogham": { - "variants": ["400"] - }, - "Noto Sans Ol Chiki": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Old Hungarian": { - "variants": ["400"] - }, - "Noto Sans Old Italic": { - "variants": ["400"] - }, - "Noto Sans Old North Arabian": { - "variants": ["400"] - }, - "Noto Sans Old Permic": { - "variants": ["400"] - }, - "Noto Sans Old Persian": { - "variants": ["400"] - }, - "Noto Sans Old Sogdian": { - "variants": ["400"] - }, - "Noto Sans Old South Arabian": { - "variants": ["400"] - }, - "Noto Sans Old Turkic": { - "variants": ["400"] - }, - "Noto Sans Oriya": { - "variants": ["100", "400", "700", "900"] - }, - "Noto Sans Osage": { - "variants": ["400"] - }, - "Noto Sans Osmanya": { - "variants": ["400"] - }, - "Noto Sans Pahawh Hmong": { - "variants": ["400"] - }, - "Noto Sans Palmyrene": { - "variants": ["400"] - }, - "Noto Sans Pau Cin Hau": { - "variants": ["400"] - }, - "Noto Sans Phags Pa": { - "variants": ["400"] - }, - "Noto Sans Phoenician": { - "variants": ["400"] - }, - "Noto Sans Psalter Pahlavi": { - "variants": ["400"] - }, - "Noto Sans Rejang": { - "variants": ["400"] - }, - "Noto Sans Runic": { - "variants": ["400"] - }, - "Noto Sans SC": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Noto Sans Samaritan": { - "variants": ["400"] - }, - "Noto Sans Saurashtra": { - "variants": ["400"] - }, - "Noto Sans Sharada": { - "variants": ["400"] - }, - "Noto Sans Shavian": { - "variants": ["400"] - }, - "Noto Sans Siddham": { - "variants": ["400"] - }, - "Noto Sans Sinhala": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Sogdian": { - "variants": ["400"] - }, - "Noto Sans Sora Sompeng": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Soyombo": { - "variants": ["400"] - }, - "Noto Sans Sundanese": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Syloti Nagri": { - "variants": ["400"] - }, - "Noto Sans Symbols": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Symbols 2": { - "variants": ["400"] - }, - "Noto Sans Syriac": { - "variants": ["100", "400", "900"] - }, - "Noto Sans TC": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Noto Sans Tagalog": { - "variants": ["400"] - }, - "Noto Sans Tagbanwa": { - "variants": ["400"] - }, - "Noto Sans Tai Le": { - "variants": ["400"] - }, - "Noto Sans Tai Tham": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Sans Tai Viet": { - "variants": ["400"] - }, - "Noto Sans Takri": { - "variants": ["400"] - }, - "Noto Sans Tamil": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Tamil Supplement": { - "variants": ["400"] - }, - "Noto Sans Telugu": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Thaana": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Thai": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Sans Thai Looped": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Noto Sans Tifinagh": { - "variants": ["400"] - }, - "Noto Sans Tirhuta": { - "variants": ["400"] - }, - "Noto Sans Ugaritic": { - "variants": ["400"] - }, - "Noto Sans Vai": { - "variants": ["400"] - }, - "Noto Sans Wancho": { - "variants": ["400"] - }, - "Noto Sans Warang Citi": { - "variants": ["400"] - }, - "Noto Sans Yi": { - "variants": ["400"] - }, - "Noto Sans Zanabazar Square": { - "variants": ["400"] - }, - "Noto Serif": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Noto Serif Ahom": { - "variants": ["400"] - }, - "Noto Serif Armenian": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Balinese": { - "variants": ["400"] - }, - "Noto Serif Bengali": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Devanagari": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Display": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Dogra": { - "variants": ["400"] - }, - "Noto Serif Ethiopic": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Georgian": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Grantha": { - "variants": ["400"] - }, - "Noto Serif Gujarati": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Gurmukhi": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif HK": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Hebrew": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif JP": { - "variants": ["200", "300", "400", "500", "600", "700", "900"] - }, - "Noto Serif KR": { - "variants": ["200", "300", "400", "500", "600", "700", "900"] - }, - "Noto Serif Kannada": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Khmer": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Lao": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Malayalam": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Myanmar": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Noto Serif Nyiakeng Puachue Hmong": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Serif SC": { - "variants": ["200", "300", "400", "500", "600", "700", "900"] - }, - "Noto Serif Sinhala": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif TC": { - "variants": ["200", "300", "400", "500", "600", "700", "900"] - }, - "Noto Serif Tamil": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Tangut": { - "variants": ["400"] - }, - "Noto Serif Telugu": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Thai": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 62.5, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Tibetan": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Noto Serif Yezidi": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Noto Traditional Nushu": { - "variants": ["400"] - }, - "Nova Cut": { - "variants": ["400"] - }, - "Nova Flat": { - "variants": ["400"] - }, - "Nova Mono": { - "variants": ["400"] - }, - "Nova Oval": { - "variants": ["400"] - }, - "Nova Round": { - "variants": ["400"] - }, - "Nova Script": { - "variants": ["400"] - }, - "Nova Slim": { - "variants": ["400"] - }, - "Nova Square": { - "variants": ["400"] - }, - "Numans": { - "variants": ["400"] - }, - "Nunito": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Nunito Sans": { - "variants": [ - "200", - "300", - "400", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Nuosu SIL": { - "variants": ["400"] - }, - "Odibee Sans": { - "variants": ["400"] - }, - "Odor Mean Chey": { - "variants": ["400"] - }, - "Offside": { - "variants": ["400"] - }, - "Oi": { - "variants": ["400"] - }, - "Old Standard TT": { - "variants": ["400", "700", "400-italic"] - }, - "Oldenburg": { - "variants": ["400"] - }, - "Ole": { - "variants": ["400"] - }, - "Oleo Script": { - "variants": ["400", "700"] - }, - "Oleo Script Swash Caps": { - "variants": ["400", "700"] - }, - "Oooh Baby": { - "variants": ["400"] - }, - "Open Sans": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 300, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Oranienbaum": { - "variants": ["400"] - }, - "Orbitron": { - "variants": ["400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Oregano": { - "variants": ["400", "400-italic"] - }, - "Orelega One": { - "variants": ["400"] - }, - "Orienta": { - "variants": ["400"] - }, - "Original Surfer": { - "variants": ["400"] - }, - "Oswald": { - "variants": ["200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Outfit": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Over the Rainbow": { - "variants": ["400"] - }, - "Overlock": { - "variants": ["400", "700", "900", "400-italic", "700-italic", "900-italic"] - }, - "Overlock SC": { - "variants": ["400"] - }, - "Overpass": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Overpass Mono": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Ovo": { - "variants": ["400"] - }, - "Oxanium": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Oxygen": { - "variants": ["300", "400", "700"] - }, - "Oxygen Mono": { - "variants": ["400"] - }, - "PT Mono": { - "variants": ["400"] - }, - "PT Sans": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "PT Sans Caption": { - "variants": ["400", "700"] - }, - "PT Sans Narrow": { - "variants": ["400", "700"] - }, - "PT Serif": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "PT Serif Caption": { - "variants": ["400", "400-italic"] - }, - "Pacifico": { - "variants": ["400"] - }, - "Padauk": { - "variants": ["400", "700"] - }, - "Palanquin": { - "variants": ["100", "200", "300", "400", "500", "600", "700"] - }, - "Palanquin Dark": { - "variants": ["400", "500", "600", "700"] - }, - "Pangolin": { - "variants": ["400"] - }, - "Paprika": { - "variants": ["400"] - }, - "Parisienne": { - "variants": ["400"] - }, - "Passero One": { - "variants": ["400"] - }, - "Passion One": { - "variants": ["400", "700", "900"] - }, - "Passions Conflict": { - "variants": ["400"] - }, - "Pathway Gothic One": { - "variants": ["400"] - }, - "Patrick Hand": { - "variants": ["400"] - }, - "Patrick Hand SC": { - "variants": ["400"] - }, - "Pattaya": { - "variants": ["400"] - }, - "Patua One": { - "variants": ["400"] - }, - "Pavanam": { - "variants": ["400"] - }, - "Paytone One": { - "variants": ["400"] - }, - "Peddana": { - "variants": ["400"] - }, - "Peralta": { - "variants": ["400"] - }, - "Permanent Marker": { - "variants": ["400"] - }, - "Petemoss": { - "variants": ["400"] - }, - "Petit Formal Script": { - "variants": ["400"] - }, - "Petrona": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Philosopher": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Piazzolla": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 8, - "max": 30, - "defaultValue": 14 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Piedra": { - "variants": ["400"] - }, - "Pinyon Script": { - "variants": ["400"] - }, - "Pirata One": { - "variants": ["400"] - }, - "Plaster": { - "variants": ["400"] - }, - "Play": { - "variants": ["400", "700"] - }, - "Playball": { - "variants": ["400"] - }, - "Playfair Display": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Playfair Display SC": { - "variants": ["400", "700", "900", "400-italic", "700-italic", "900-italic"] - }, - "Plus Jakarta Sans": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Podkova": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Poiret One": { - "variants": ["400"] - }, - "Poller One": { - "variants": ["400"] - }, - "Poly": { - "variants": ["400", "400-italic"] - }, - "Pompiere": { - "variants": ["400"] - }, - "Pontano Sans": { - "variants": ["400"] - }, - "Poor Story": { - "variants": ["400"] - }, - "Poppins": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Port Lligat Sans": { - "variants": ["400"] - }, - "Port Lligat Slab": { - "variants": ["400"] - }, - "Potta One": { - "variants": ["400"] - }, - "Pragati Narrow": { - "variants": ["400", "700"] - }, - "Praise": { - "variants": ["400"] - }, - "Prata": { - "variants": ["400"] - }, - "Preahvihear": { - "variants": ["400"] - }, - "Press Start 2P": { - "variants": ["400"] - }, - "Pridi": { - "variants": ["200", "300", "400", "500", "600", "700"] - }, - "Princess Sofia": { - "variants": ["400"] - }, - "Prociono": { - "variants": ["400"] - }, - "Prompt": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Prosto One": { - "variants": ["400"] - }, - "Proza Libre": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic" - ] - }, - "Public Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Puppies Play": { - "variants": ["400"] - }, - "Puritan": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Purple Purse": { - "variants": ["400"] - }, - "Qahiri": { - "variants": ["400"] - }, - "Quando": { - "variants": ["400"] - }, - "Quantico": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Quattrocento": { - "variants": ["400", "700"] - }, - "Quattrocento Sans": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Questrial": { - "variants": ["400"] - }, - "Quicksand": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Quintessential": { - "variants": ["400"] - }, - "Qwigley": { - "variants": ["400"] - }, - "Qwitcher Grypen": { - "variants": ["400", "700"] - }, - "Racing Sans One": { - "variants": ["400"] - }, - "Radio Canada": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 100, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Radley": { - "variants": ["400", "400-italic"] - }, - "Rajdhani": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Rakkas": { - "variants": ["400"] - }, - "Raleway": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Raleway Dots": { - "variants": ["400"] - }, - "Ramabhadra": { - "variants": ["400"] - }, - "Ramaraja": { - "variants": ["400"] - }, - "Rambla": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Rammetto One": { - "variants": ["400"] - }, - "Rampart One": { - "variants": ["400"] - }, - "Ranchers": { - "variants": ["400"] - }, - "Rancho": { - "variants": ["400"] - }, - "Ranga": { - "variants": ["400", "700"] - }, - "Rasa": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Rationale": { - "variants": ["400"] - }, - "Ravi Prakash": { - "variants": ["400"] - }, - "Readex Pro": { - "variants": ["200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 160, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Recursive": { - "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "CASL", - "min": 0, - "max": 1, - "defaultValue": 0 - }, - { - "tag": "CRSV", - "min": 0, - "max": 1, - "defaultValue": 0.5 - }, - { - "tag": "MONO", - "min": 0, - "max": 1, - "defaultValue": 0 - }, - { - "tag": "slnt", - "min": -15, - "max": 0, - "defaultValue": 0 - }, - { - "tag": "wght", - "min": 300, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Red Hat Display": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Red Hat Mono": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Red Hat Text": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Red Rose": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Redacted": { - "variants": ["400"] - }, - "Redacted Script": { - "variants": ["300", "400", "700"] - }, - "Redressed": { - "variants": ["400"] - }, - "Reem Kufi": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Reem Kufi Fun": { - "variants": ["400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Reem Kufi Ink": { - "variants": ["400"] - }, - "Reenie Beanie": { - "variants": ["400"] - }, - "Reggae One": { - "variants": ["400"] - }, - "Revalia": { - "variants": ["400"] - }, - "Rhodium Libre": { - "variants": ["400"] - }, - "Ribeye": { - "variants": ["400"] - }, - "Ribeye Marrow": { - "variants": ["400"] - }, - "Righteous": { - "variants": ["400"] - }, - "Risque": { - "variants": ["400"] - }, - "Road Rage": { - "variants": ["400"] - }, - "Roboto": { - "variants": [ - "100", - "300", - "400", - "500", - "700", - "900", - "100-italic", - "300-italic", - "400-italic", - "500-italic", - "700-italic", - "900-italic" - ] - }, - "Roboto Condensed": { - "variants": ["300", "400", "700", "300-italic", "400-italic", "700-italic"] - }, - "Roboto Flex": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "1000", - "variable" - ], - "axes": [ - { - "tag": "GRAD", - "min": -200, - "max": 150, - "defaultValue": 0 - }, - { - "tag": "XTRA", - "min": 323, - "max": 603, - "defaultValue": 468 - }, - { - "tag": "YOPQ", - "min": 25, - "max": 135, - "defaultValue": 79 - }, - { - "tag": "YTAS", - "min": 649, - "max": 854, - "defaultValue": 750 - }, - { - "tag": "YTDE", - "min": -305, - "max": -98, - "defaultValue": -203 - }, - { - "tag": "YTFI", - "min": 560, - "max": 788, - "defaultValue": 738 - }, - { - "tag": "YTLC", - "min": 416, - "max": 570, - "defaultValue": 514 - }, - { - "tag": "YTUC", - "min": 528, - "max": 760, - "defaultValue": 712 - }, - { - "tag": "opsz", - "min": 8, - "max": 144, - "defaultValue": 14 - }, - { - "tag": "slnt", - "min": -10, - "max": 0, - "defaultValue": 0 - }, - { - "tag": "wdth", - "min": 25, - "max": 151, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 1000, - "defaultValue": 400 - } - ] - }, - "Roboto Mono": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Roboto Serif": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "GRAD", - "min": -50, - "max": 100, - "defaultValue": 0 - }, - { - "tag": "opsz", - "min": 8, - "max": 144, - "defaultValue": 14 - }, - { - "tag": "wdth", - "min": 50, - "max": 150, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Roboto Slab": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Rochester": { - "variants": ["400"] - }, - "Rock Salt": { - "variants": ["400"] - }, - "RocknRoll One": { - "variants": ["400"] - }, - "Rokkitt": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Romanesco": { - "variants": ["400"] - }, - "Ropa Sans": { - "variants": ["400", "400-italic"] - }, - "Rosario": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Rosarivo": { - "variants": ["400", "400-italic"] - }, - "Rouge Script": { - "variants": ["400"] - }, - "Rowdies": { - "variants": ["300", "400", "700"] - }, - "Rozha One": { - "variants": ["400"] - }, - "Rubik": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Rubik Beastly": { - "variants": ["400"] - }, - "Rubik Bubbles": { - "variants": ["400"] - }, - "Rubik Burned": { - "variants": ["400"] - }, - "Rubik Dirt": { - "variants": ["400"] - }, - "Rubik Distressed": { - "variants": ["400"] - }, - "Rubik Glitch": { - "variants": ["400"] - }, - "Rubik Iso": { - "variants": ["400"] - }, - "Rubik Marker Hatch": { - "variants": ["400"] - }, - "Rubik Maze": { - "variants": ["400"] - }, - "Rubik Microbe": { - "variants": ["400"] - }, - "Rubik Mono One": { - "variants": ["400"] - }, - "Rubik Moonrocks": { - "variants": ["400"] - }, - "Rubik Puddles": { - "variants": ["400"] - }, - "Rubik Wet Paint": { - "variants": ["400"] - }, - "Ruda": { - "variants": ["400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Rufina": { - "variants": ["400", "700"] - }, - "Ruge Boogie": { - "variants": ["400"] - }, - "Ruluko": { - "variants": ["400"] - }, - "Rum Raisin": { - "variants": ["400"] - }, - "Ruslan Display": { - "variants": ["400"] - }, - "Russo One": { - "variants": ["400"] - }, - "Ruthie": { - "variants": ["400"] - }, - "Rye": { - "variants": ["400"] - }, - "STIX Two Text": { - "variants": [ - "400", - "500", - "600", - "700", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Sacramento": { - "variants": ["400"] - }, - "Sahitya": { - "variants": ["400", "700"] - }, - "Sail": { - "variants": ["400"] - }, - "Saira": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 50, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Saira Condensed": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Saira Extra Condensed": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Saira Semi Condensed": { - "variants": ["100", "200", "300", "400", "500", "600", "700", "800", "900"] - }, - "Saira Stencil One": { - "variants": ["400"] - }, - "Salsa": { - "variants": ["400"] - }, - "Sanchez": { - "variants": ["400", "400-italic"] - }, - "Sancreek": { - "variants": ["400"] - }, - "Sansita": { - "variants": [ - "400", - "700", - "800", - "900", - "400-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Sansita Swashed": { - "variants": ["300", "400", "500", "600", "700", "800", "900", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Sarabun": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic" - ] - }, - "Sarala": { - "variants": ["400", "700"] - }, - "Sarina": { - "variants": ["400"] - }, - "Sarpanch": { - "variants": ["400", "500", "600", "700", "800", "900"] - }, - "Sassy Frass": { - "variants": ["400"] - }, - "Satisfy": { - "variants": ["400"] - }, - "Sawarabi Gothic": { - "variants": ["400"] - }, - "Sawarabi Mincho": { - "variants": ["400"] - }, - "Scada": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Scheherazade New": { - "variants": ["400", "700"] - }, - "Schoolbell": { - "variants": ["400"] - }, - "Scope One": { - "variants": ["400"] - }, - "Seaweed Script": { - "variants": ["400"] - }, - "Secular One": { - "variants": ["400"] - }, - "Sedgwick Ave": { - "variants": ["400"] - }, - "Sedgwick Ave Display": { - "variants": ["400"] - }, - "Sen": { - "variants": ["400", "700", "800"] - }, - "Send Flowers": { - "variants": ["400"] - }, - "Sevillana": { - "variants": ["400"] - }, - "Seymour One": { - "variants": ["400"] - }, - "Shadows Into Light": { - "variants": ["400"] - }, - "Shadows Into Light Two": { - "variants": ["400"] - }, - "Shalimar": { - "variants": ["400"] - }, - "Shanti": { - "variants": ["400"] - }, - "Share": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Share Tech": { - "variants": ["400"] - }, - "Share Tech Mono": { - "variants": ["400"] - }, - "Shippori Antique": { - "variants": ["400"] - }, - "Shippori Antique B1": { - "variants": ["400"] - }, - "Shippori Mincho": { - "variants": ["400", "500", "600", "700", "800"] - }, - "Shippori Mincho B1": { - "variants": ["400", "500", "600", "700", "800"] - }, - "Shojumaru": { - "variants": ["400"] - }, - "Short Stack": { - "variants": ["400"] - }, - "Shrikhand": { - "variants": ["400"] - }, - "Siemreap": { - "variants": ["400"] - }, - "Sigmar One": { - "variants": ["400"] - }, - "Signika": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Signika Negative": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Silkscreen": { - "variants": ["400", "700"] - }, - "Simonetta": { - "variants": ["400", "900", "400-italic", "900-italic"] - }, - "Single Day": { - "variants": ["400"] - }, - "Sintony": { - "variants": ["400", "700"] - }, - "Sirin Stencil": { - "variants": ["400"] - }, - "Six Caps": { - "variants": ["400"] - }, - "Skranji": { - "variants": ["400", "700"] - }, - "Slabo 13px": { - "variants": ["400"] - }, - "Slabo 27px": { - "variants": ["400"] - }, - "Slackey": { - "variants": ["400"] - }, - "Smokum": { - "variants": ["400"] - }, - "Smooch": { - "variants": ["400"] - }, - "Smooch Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Smythe": { - "variants": ["400"] - }, - "Sniglet": { - "variants": ["400", "800"] - }, - "Snippet": { - "variants": ["400"] - }, - "Snowburst One": { - "variants": ["400"] - }, - "Sofadi One": { - "variants": ["400"] - }, - "Sofia": { - "variants": ["400"] - }, - "Solway": { - "variants": ["300", "400", "500", "700", "800"] - }, - "Song Myung": { - "variants": ["400"] - }, - "Sonsie One": { - "variants": ["400"] - }, - "Sora": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Sorts Mill Goudy": { - "variants": ["400", "400-italic"] - }, - "Source Code Pro": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Source Sans 3": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Source Sans Pro": { - "variants": [ - "200", - "300", - "400", - "600", - "700", - "900", - "200-italic", - "300-italic", - "400-italic", - "600-italic", - "700-italic", - "900-italic" - ] - }, - "Source Serif 4": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 8, - "max": 60, - "defaultValue": 14 - }, - { - "tag": "wght", - "min": 200, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Source Serif Pro": { - "variants": [ - "200", - "300", - "400", - "600", - "700", - "900", - "200-italic", - "300-italic", - "400-italic", - "600-italic", - "700-italic", - "900-italic" - ] - }, - "Space Grotesk": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Space Mono": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Special Elite": { - "variants": ["400"] - }, - "Spectral": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic" - ] - }, - "Spectral SC": { - "variants": [ - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic" - ] - }, - "Spicy Rice": { - "variants": ["400"] - }, - "Spinnaker": { - "variants": ["400"] - }, - "Spirax": { - "variants": ["400"] - }, - "Splash": { - "variants": ["400"] - }, - "Spline Sans": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Spline Sans Mono": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Squada One": { - "variants": ["400"] - }, - "Square Peg": { - "variants": ["400"] - }, - "Sree Krushnadevaraya": { - "variants": ["400"] - }, - "Sriracha": { - "variants": ["400"] - }, - "Srisakdi": { - "variants": ["400", "700"] - }, - "Staatliches": { - "variants": ["400"] - }, - "Stalemate": { - "variants": ["400"] - }, - "Stalinist One": { - "variants": ["400"] - }, - "Stardos Stencil": { - "variants": ["400", "700"] - }, - "Stick": { - "variants": ["400"] - }, - "Stick No Bills": { - "variants": ["200", "300", "400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Stint Ultra Condensed": { - "variants": ["400"] - }, - "Stint Ultra Expanded": { - "variants": ["400"] - }, - "Stoke": { - "variants": ["300", "400"] - }, - "Strait": { - "variants": ["400"] - }, - "Style Script": { - "variants": ["400"] - }, - "Stylish": { - "variants": ["400"] - }, - "Sue Ellen Francisco": { - "variants": ["400"] - }, - "Suez One": { - "variants": ["400"] - }, - "Sulphur Point": { - "variants": ["300", "400", "700"] - }, - "Sumana": { - "variants": ["400", "700"] - }, - "Sunflower": { - "variants": ["300", "500", "700"] - }, - "Sunshiney": { - "variants": ["400"] - }, - "Supermercado One": { - "variants": ["400"] - }, - "Sura": { - "variants": ["400", "700"] - }, - "Suranna": { - "variants": ["400"] - }, - "Suravaram": { - "variants": ["400"] - }, - "Suwannaphum": { - "variants": ["100", "300", "400", "700", "900"] - }, - "Swanky and Moo Moo": { - "variants": ["400"] - }, - "Syncopate": { - "variants": ["400", "700"] - }, - "Syne": { - "variants": ["400", "500", "600", "700", "800", "variable"], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Syne Mono": { - "variants": ["400"] - }, - "Syne Tactile": { - "variants": ["400"] - }, - "Tai Heritage Pro": { - "variants": ["400", "700"] - }, - "Tajawal": { - "variants": ["200", "300", "400", "500", "700", "800", "900"] - }, - "Tangerine": { - "variants": ["400", "700"] - }, - "Tapestry": { - "variants": ["400"] - }, - "Taprom": { - "variants": ["400"] - }, - "Tauri": { - "variants": ["400"] - }, - "Taviraj": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Teko": { - "variants": ["300", "400", "500", "600", "700"] - }, - "Telex": { - "variants": ["400"] - }, - "Tenali Ramakrishna": { - "variants": ["400"] - }, - "Tenor Sans": { - "variants": ["400"] - }, - "Text Me One": { - "variants": ["400"] - }, - "Texturina": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "opsz", - "min": 12, - "max": 72, - "defaultValue": 12 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Thasadith": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "The Girl Next Door": { - "variants": ["400"] - }, - "The Nautigal": { - "variants": ["400", "700"] - }, - "Tienne": { - "variants": ["400", "700", "900"] - }, - "Tillana": { - "variants": ["400", "500", "600", "700", "800"] - }, - "Timmana": { - "variants": ["400"] - }, - "Tinos": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Tiro Bangla": { - "variants": ["400", "400-italic"] - }, - "Tiro Devanagari Hindi": { - "variants": ["400", "400-italic"] - }, - "Tiro Devanagari Marathi": { - "variants": ["400", "400-italic"] - }, - "Tiro Devanagari Sanskrit": { - "variants": ["400", "400-italic"] - }, - "Tiro Gurmukhi": { - "variants": ["400", "400-italic"] - }, - "Tiro Kannada": { - "variants": ["400", "400-italic"] - }, - "Tiro Tamil": { - "variants": ["400", "400-italic"] - }, - "Tiro Telugu": { - "variants": ["400", "400-italic"] - }, - "Titan One": { - "variants": ["400"] - }, - "Titillium Web": { - "variants": [ - "200", - "300", - "400", - "600", - "700", - "900", - "200-italic", - "300-italic", - "400-italic", - "600-italic", - "700-italic" - ] - }, - "Tomorrow": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Tourney": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Trade Winds": { - "variants": ["400"] - }, - "Train One": { - "variants": ["400"] - }, - "Trirong": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic" - ] - }, - "Trispace": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "variable" - ], - "axes": [ - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 800, - "defaultValue": 400 - } - ] - }, - "Trocchi": { - "variants": ["400"] - }, - "Trochut": { - "variants": ["400", "700", "400-italic"] - }, - "Truculenta": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "opsz", - "min": 12, - "max": 72, - "defaultValue": 14 - }, - { - "tag": "wdth", - "min": 75, - "max": 125, - "defaultValue": 100 - }, - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Trykker": { - "variants": ["400"] - }, - "Tulpen One": { - "variants": ["400"] - }, - "Turret Road": { - "variants": ["200", "300", "400", "500", "700", "800"] - }, - "Twinkle Star": { - "variants": ["400"] - }, - "Ubuntu": { - "variants": [ - "300", - "400", - "500", - "700", - "300-italic", - "400-italic", - "500-italic", - "700-italic" - ] - }, - "Ubuntu Condensed": { - "variants": ["400"] - }, - "Ubuntu Mono": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Uchen": { - "variants": ["400"] - }, - "Ultra": { - "variants": ["400"] - }, - "Uncial Antiqua": { - "variants": ["400"] - }, - "Underdog": { - "variants": ["400"] - }, - "Unica One": { - "variants": ["400"] - }, - "UnifrakturCook": { - "variants": ["700"] - }, - "UnifrakturMaguntia": { - "variants": ["400"] - }, - "Unkempt": { - "variants": ["400", "700"] - }, - "Unlock": { - "variants": ["400"] - }, - "Unna": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Updock": { - "variants": ["400"] - }, - "Urbanist": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "VT323": { - "variants": ["400"] - }, - "Vampiro One": { - "variants": ["400"] - }, - "Varela": { - "variants": ["400"] - }, - "Varela Round": { - "variants": ["400"] - }, - "Varta": { - "variants": ["300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Vast Shadow": { - "variants": ["400"] - }, - "Vazirmatn": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "variable" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Vesper Libre": { - "variants": ["400", "500", "700", "900"] - }, - "Viaoda Libre": { - "variants": ["400"] - }, - "Vibes": { - "variants": ["400"] - }, - "Vibur": { - "variants": ["400"] - }, - "Vidaloka": { - "variants": ["400"] - }, - "Viga": { - "variants": ["400"] - }, - "Voces": { - "variants": ["400"] - }, - "Volkhov": { - "variants": ["400", "700", "400-italic", "700-italic"] - }, - "Vollkorn": { - "variants": [ - "400", - "500", - "600", - "700", - "800", - "900", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 400, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Vollkorn SC": { - "variants": ["400", "600", "700", "900"] - }, - "Voltaire": { - "variants": ["400"] - }, - "Vujahday Script": { - "variants": ["400"] - }, - "Waiting for the Sunrise": { - "variants": ["400"] - }, - "Wallpoet": { - "variants": ["400"] - }, - "Walter Turncoat": { - "variants": ["400"] - }, - "Warnes": { - "variants": ["400"] - }, - "Water Brush": { - "variants": ["400"] - }, - "Waterfall": { - "variants": ["400"] - }, - "Wellfleet": { - "variants": ["400"] - }, - "Wendy One": { - "variants": ["400"] - }, - "Whisper": { - "variants": ["400"] - }, - "WindSong": { - "variants": ["400", "500"] - }, - "Wire One": { - "variants": ["400"] - }, - "Work Sans": { - "variants": [ - "100", - "200", - "300", - "400", - "500", - "600", - "700", - "800", - "900", - "100-italic", - "200-italic", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "800-italic", - "900-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 100, - "max": 900, - "defaultValue": 400 - } - ] - }, - "Xanh Mono": { - "variants": ["400", "400-italic"] - }, - "Yaldevi": { - "variants": ["200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Yanone Kaffeesatz": { - "variants": ["200", "300", "400", "500", "600", "700", "variable"], - "axes": [ - { - "tag": "wght", - "min": 200, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Yantramanav": { - "variants": ["100", "300", "400", "500", "700", "900"] - }, - "Yatra One": { - "variants": ["400"] - }, - "Yellowtail": { - "variants": ["400"] - }, - "Yeon Sung": { - "variants": ["400"] - }, - "Yeseva One": { - "variants": ["400"] - }, - "Yesteryear": { - "variants": ["400"] - }, - "Yomogi": { - "variants": ["400"] - }, - "Yrsa": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic", - "variable", - "variable-italic" - ], - "axes": [ - { - "tag": "wght", - "min": 300, - "max": 700, - "defaultValue": 400 - } - ] - }, - "Yuji Boku": { - "variants": ["400"] - }, - "Yuji Mai": { - "variants": ["400"] - }, - "Yuji Syuku": { - "variants": ["400"] - }, - "Yusei Magic": { - "variants": ["400"] - }, - "ZCOOL KuaiLe": { - "variants": ["400"] - }, - "ZCOOL QingKe HuangYou": { - "variants": ["400"] - }, - "ZCOOL XiaoWei": { - "variants": ["400"] - }, - "Zen Antique": { - "variants": ["400"] - }, - "Zen Antique Soft": { - "variants": ["400"] - }, - "Zen Dots": { - "variants": ["400"] - }, - "Zen Kaku Gothic Antique": { - "variants": ["300", "400", "500", "700", "900"] - }, - "Zen Kaku Gothic New": { - "variants": ["300", "400", "500", "700", "900"] - }, - "Zen Kurenaido": { - "variants": ["400"] - }, - "Zen Loop": { - "variants": ["400", "400-italic"] - }, - "Zen Maru Gothic": { - "variants": ["300", "400", "500", "700", "900"] - }, - "Zen Old Mincho": { - "variants": ["400", "700", "900"] - }, - "Zen Tokyo Zoo": { - "variants": ["400"] - }, - "Zeyada": { - "variants": ["400"] - }, - "Zhi Mang Xing": { - "variants": ["400"] - }, - "Zilla Slab": { - "variants": [ - "300", - "400", - "500", - "600", - "700", - "300-italic", - "400-italic", - "500-italic", - "600-italic", - "700-italic" - ] - }, - "Zilla Slab Highlight": { - "variants": ["400", "700"] - } -} diff --git a/packages/font/src/google/index.ts b/packages/font/src/google/index.ts deleted file mode 100644 index 83921541286c8..0000000000000 --- a/packages/font/src/google/index.ts +++ /dev/null @@ -1,13243 +0,0 @@ -type Display = 'auto' | 'block' | 'swap' | 'fallback' | 'optional' -type FontModule = { - className: string - variable: string - style: { fontFamily: string; fontWeight?: number; fontStyle?: string } -} -export declare function ABeeZee(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Abel(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Abhaya_Libre(options: { - variant: '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aboreto(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Abril_Fatface(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aclonica(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Acme(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Actor(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Adamina(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Advent_Pro(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aguafina_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Akaya_Kanadaka(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Akaya_Telivigala(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Akronim(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Akshar(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aladin(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alata(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alatsi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Albert_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aldrich(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alef(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alegreya(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alegreya_SC(options: { - variant: - | '400' - | '500' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alegreya_Sans(options: { - variant: - | '100' - | '300' - | '400' - | '500' - | '700' - | '800' - | '900' - | '100-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alegreya_Sans_SC(options: { - variant: - | '100' - | '300' - | '400' - | '500' - | '700' - | '800' - | '900' - | '100-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aleo(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alex_Brush(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alfa_Slab_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alice(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alike(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alike_Angular(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Allan(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Allerta(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Allerta_Stencil(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Allison(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Allura(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Almarai(options: { - variant: '300' | '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Almendra(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Almendra_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Almendra_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alumni_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alumni_Sans_Collegiate_One(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alumni_Sans_Inline_One(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Alumni_Sans_Pinstripe(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amarante(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amaranth(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amatic_SC(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amethysta(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amiko(options: { - variant: '400' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amiri(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amiri_Quran(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Amita(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Anaheim(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Andada_Pro(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Andika(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Anek_Bangla(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Devanagari(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Gujarati(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Gurmukhi(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Kannada(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Latin(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Malayalam(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Odia(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Tamil(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Anek_Telugu(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Angkor(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Annie_Use_Your_Telescope(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Anonymous_Pro(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Antic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Antic_Didone(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Antic_Slab(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Anton(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Antonio(options?: { - variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Anybody(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Arapey(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arbutus(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arbutus_Slab(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Architects_Daughter(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Archivo(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Archivo_Black(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Archivo_Narrow(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Are_You_Serious(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aref_Ruqaa(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aref_Ruqaa_Ink(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arima(options?: { - variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arima_Madurai(options: { - variant: '100' | '200' | '300' | '400' | '500' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arimo(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arizonia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Armata(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arsenal(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Artifika(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arvo(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Arya(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Asap(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Asap_Condensed(options: { - variant: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Asar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Asset(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Assistant(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Astloch(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Asul(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Athiti(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Atkinson_Hyperlegible(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Atma(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Atomic_Age(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Aubrey(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Audiowide(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Autour_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Average(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Average_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Averia_Gruesa_Libre(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Averia_Libre(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Averia_Sans_Libre(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Averia_Serif_Libre(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Azeret_Mono(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function B612(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function B612_Mono(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BIZ_UDGothic(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BIZ_UDMincho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BIZ_UDPGothic(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BIZ_UDPMincho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Babylonica(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bad_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bahiana(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bahianita(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bai_Jamjuree(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bakbak_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ballet(options?: { - variant?: '400' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Baloo_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Bhai_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Bhaijaan_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Bhaina_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Chettan_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Da_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Paaji_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Tamma_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Tammudu_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baloo_Thambi_2(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Balsamiq_Sans(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Balthazar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bangers(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Barlow(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Barlow_Condensed(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Barlow_Semi_Condensed(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Barriecito(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Barrio(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Basic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baskervville(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Battambang(options: { - variant: '100' | '300' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Baumans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bayon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Be_Vietnam_Pro(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Beau_Rivage(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bebas_Neue(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Belgrano(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bellefair(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Belleza(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bellota(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bellota_Text(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BenchNine(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Benne(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bentham(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Berkshire_Swash(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Besley(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Beth_Ellen(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bevan(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BhuTuka_Expanded_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Display(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Inline_Display(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Inline_Text(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Stencil_Display(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Stencil_Text(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Big_Shoulders_Text(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bigelow_Rules(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bigshot_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bilbo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bilbo_Swash_Caps(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BioRhyme(options: { - variant: '200' | '300' | '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function BioRhyme_Expanded(options: { - variant: '200' | '300' | '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Birthstone(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Birthstone_Bounce(options: { - variant: '400' | '500' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Biryani(options: { - variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bitter(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Black_And_White_Picture(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Black_Han_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Black_Ops_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Blaka(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Blaka_Hollow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Blaka_Ink(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Blinker(options: { - variant: '100' | '200' | '300' | '400' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bodoni_Moda(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Bokor(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bona_Nova(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bonbon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bonheur_Royale(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Boogaloo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bowlby_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bowlby_One_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Brawler(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bree_Serif(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Brygada_1918(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bubblegum_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bubbler_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Buda(options: { - variant: '300' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Buenard(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee_Hairline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee_Inline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee_Outline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee_Shade(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Bungee_Spice(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Butcherman(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Butterfly_Kids(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cabin(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Cabin_Condensed(options: { - variant: '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cabin_Sketch(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Caesar_Dressing(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cagliostro(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cairo(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cairo_Play(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'slnt'[] -}): FontModule -export declare function Caladea(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Calistoga(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Calligraffitti(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cambay(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cambo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Candal(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cantarell(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cantata_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cantora_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Capriola(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Caramel(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Carattere(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cardo(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Carme(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Carrois_Gothic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Carrois_Gothic_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Carter_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Castoro(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Catamaran(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Caudex(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Caveat(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Caveat_Brush(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cedarville_Cursive(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ceviche_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chakra_Petch(options: { - variant: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Changa(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Changa_One(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chango(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Charis_SIL(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Charm(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Charmonman(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chathura(options: { - variant: '100' | '300' | '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chau_Philomene_One(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chela_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chelsea_Market(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chenla(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cherish(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cherry_Cream_Soda(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cherry_Swash(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chewy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chicle(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chilanka(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chivo(options: { - variant: - | '300' - | '400' - | '700' - | '900' - | '300-italic' - | '400-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Chonburi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cinzel(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cinzel_Decorative(options: { - variant: '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Clicker_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Coda(options: { - variant: '400' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Coda_Caption(options: { - variant: '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Codystar(options: { - variant: '300' | '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Coiny(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Combo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Comfortaa(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Comforter(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Comforter_Brush(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Comic_Neue(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Coming_Soon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Commissioner(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Concert_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Condiment(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Content(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Contrail_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Convergence(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cookie(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Copse(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Corben(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Corinthia(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant_Garamond(options: { - variant: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant_Infant(options: { - variant: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant_SC(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant_Unicase(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cormorant_Upright(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Courgette(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Courier_Prime(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cousine(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Coustard(options: { - variant: '400' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Covered_By_Your_Grace(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Crafty_Girls(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Creepster(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Crete_Round(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Crimson_Pro(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Crimson_Text(options: { - variant: '400' | '600' | '700' | '400-italic' | '600-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Croissant_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Crushed(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cuprum(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cute_Font(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cutive(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Cutive_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DM_Mono(options: { - variant: '300' | '400' | '500' | '300-italic' | '400-italic' | '500-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DM_Sans(options: { - variant: '400' | '500' | '700' | '400-italic' | '500-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DM_Serif_Display(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DM_Serif_Text(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Damion(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dancing_Script(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dangrek(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Darker_Grotesque(options: { - variant: '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function David_Libre(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dawning_of_a_New_Day(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Days_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dekko(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dela_Gothic_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Delius(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Delius_Swash_Caps(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Delius_Unicase(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Della_Respira(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Denk_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Devonshire(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dhurjati(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Didact_Gothic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Diplomata(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Diplomata_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Do_Hyeon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dokdo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Domine(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Donegal_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dongle(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Doppio_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dorsa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dosis(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DotGothic16(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Dr_Sugiyama(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Duru_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function DynaPuff(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Dynalight(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function EB_Garamond(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Eagle_Lake(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function East_Sea_Dokdo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Eater(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Economica(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Eczar(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Edu_NSW_ACT_Foundation(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Edu_QLD_Beginner(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Edu_SA_Beginner(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Edu_TAS_Beginner(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Edu_VIC_WA_NT_Beginner(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function El_Messiri(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Electrolize(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Elsie(options: { - variant: '400' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Elsie_Swash_Caps(options: { - variant: '400' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Emblema_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Emilys_Candy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Encode_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Encode_Sans_Condensed(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Encode_Sans_Expanded(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Encode_Sans_SC(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Encode_Sans_Semi_Condensed(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Encode_Sans_Semi_Expanded(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Engagement(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Englebert(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Enriqueta(options: { - variant: '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ephesis(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Epilogue(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Erica_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Esteban(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Estonia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Euphoria_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ewert(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Exo(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Exo_2(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Expletus_Sans(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Explora(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fahkwang(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Familjen_Grotesk(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fanwood_Text(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Farro(options: { - variant: '300' | '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Farsan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fascinate(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fascinate_Inline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Faster_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fasthand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fauna_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Faustina(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Federant(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Federo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Felipa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fenix(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Festive(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Figtree(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Finger_Paint(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Finlandica(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fira_Code(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fira_Mono(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fira_Sans(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fira_Sans_Condensed(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fira_Sans_Extra_Condensed(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fjalla_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fjord_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Flamenco(options: { - variant: '300' | '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Flavors(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fleur_De_Leah(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Flow_Block(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Flow_Circular(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Flow_Rounded(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fondamento(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fontdiner_Swanky(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Forum(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Francois_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Frank_Ruhl_Libre(options: { - variant: '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fraunces(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ('SOFT' | 'WONK' | 'opsz')[] -}): FontModule -export declare function Freckle_Face(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fredericka_the_Great(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fredoka(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Fredoka_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Freehand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fresca(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Frijole(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fruktur(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fugaz_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fuggles(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Fuzzy_Bubbles(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function GFS_Didot(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function GFS_Neohellenic(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gabriela(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gaegu(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gafata(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Galada(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Galdeano(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Galindo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gamja_Flower(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gantari(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gayathri(options: { - variant: '100' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gelasio(options: { - variant: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gemunu_Libre(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Genos(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gentium_Book_Basic(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gentium_Book_Plus(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gentium_Plus(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Geo(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Georama(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Geostar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Geostar_Fill(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Germania_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gideon_Roman(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gidugu(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gilda_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Girassol(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Give_You_Glory(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Glass_Antiqua(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Glegoo(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gloria_Hallelujah(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Glory(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gluten(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'slnt'[] -}): FontModule -export declare function Goblin_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gochi_Hand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Goldman(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gorditas(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gothic_A1(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gotu(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Goudy_Bookletter_1911(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gowun_Batang(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gowun_Dodum(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Graduate(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grand_Hotel(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grandstander(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grape_Nuts(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gravitas_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Great_Vibes(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grechen_Fuemen(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grenze(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grenze_Gotisch(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Grey_Qo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Griffy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gruppo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gudea(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gugi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gulzar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gupter(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gurajada(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Gwendolyn(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Habibi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hachi_Maru_Pop(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hahmlet(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Halant(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hammersmith_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hanalei(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hanalei_Fill(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Handlee(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hanuman(options: { - variant: '100' | '300' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Happy_Monkey(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Harmattan(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Headland_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Heebo(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Henny_Penny(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hepta_Slab(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Herr_Von_Muellerhoff(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hi_Melody(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hina_Mincho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hind(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hind_Guntur(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hind_Madurai(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hind_Siliguri(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hind_Vadodara(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Holtwood_One_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Homemade_Apple(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Homenaje(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hubballi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Hurricane(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Mono(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Arabic(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Condensed(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Devanagari(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Hebrew(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_KR(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Thai(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Sans_Thai_Looped(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IBM_Plex_Serif(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_DW_Pica(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_DW_Pica_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_Double_Pica(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_Double_Pica_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_English(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_English_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_French_Canon(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_French_Canon_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_Great_Primer(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function IM_Fell_Great_Primer_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ibarra_Real_Nova(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Iceberg(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Iceland(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Imbue(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Imperial_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Imprima(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inconsolata(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Inder(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Indie_Flower(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ingrid_Darling(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inika(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inknut_Antiqua(options: { - variant: '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inria_Sans(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inria_Serif(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inspiration(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Inter(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'slnt'[] -}): FontModule -export declare function Irish_Grover(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Island_Moments(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Istok_Web(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Italiana(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Italianno(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Itim(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jacques_Francois(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jacques_Francois_Shadow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jaldi(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function JetBrains_Mono(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jim_Nightshade(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Joan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jockey_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jolly_Lodger(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jomhuria(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jomolhari(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Josefin_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Josefin_Slab(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jost(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Joti_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jua(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Judson(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Julee(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Julius_Sans_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Junge(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Jura(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Just_Another_Hand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Just_Me_Again_Down_Here(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function K2D(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kadwa(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kaisei_Decol(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kaisei_HarunoUmi(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kaisei_Opti(options: { - variant: '400' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kaisei_Tokumin(options: { - variant: '400' | '500' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kalam(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kameron(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kanit(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kantumruy(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kantumruy_Pro(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Karantina(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Karla(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Karma(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Katibeh(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kaushan_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kavivanar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kavoon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kdam_Thmor_Pro(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Keania_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kelly_Slab(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kenia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Khand(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Khmer(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Khula(options: { - variant: '300' | '400' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kings(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kirang_Haerang(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kite_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kiwi_Maru(options: { - variant: '300' | '400' | '500' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Klee_One(options: { - variant: '400' | '600' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Knewave(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function KoHo(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kodchasan(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Koh_Santepheap(options: { - variant: '100' | '300' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kolker_Brush(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kosugi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kosugi_Maru(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kotta_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Koulen(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kranky(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kreon(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kristi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Krona_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Krub(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kufam(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kulim_Park(options: { - variant: - | '200' - | '300' - | '400' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kumar_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kumar_One_Outline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kumbh_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Kurale(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function La_Belle_Aurore(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lacquer(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Laila(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lakki_Reddy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lalezar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lancelot(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Langar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lateef(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lato(options: { - variant: - | '100' - | '300' - | '400' - | '700' - | '900' - | '100-italic' - | '300-italic' - | '400-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lavishly_Yours(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function League_Gothic(options?: { - variant?: '400' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function League_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function League_Spartan(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Leckerli_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ledger(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lekton(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lemon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lemonada(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Deca(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Exa(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Giga(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Mega(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Peta(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Tera(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lexend_Zetta(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_128(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_128_Text(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_39(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_39_Extended(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_39_Extended_Text(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_39_Text(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Barcode_EAN13_Text(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Baskerville(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Bodoni(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Caslon_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Caslon_Text(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Libre_Franklin(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Licorice(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Life_Savers(options: { - variant: '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lilita_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lily_Script_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Limelight(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Linden_Hill(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Literata(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Liu_Jian_Mao_Cao(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Livvic(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lobster(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lobster_Two(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Londrina_Outline(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Londrina_Shadow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Londrina_Sketch(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Londrina_Solid(options: { - variant: '100' | '300' | '400' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Long_Cang(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lora(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Love_Light(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Love_Ya_Like_A_Sister(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Loved_by_the_King(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lovers_Quarrel(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Luckiest_Guy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lusitana(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Lustria(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Luxurious_Roman(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Luxurious_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function M_PLUS_1(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function M_PLUS_1_Code(options?: { - variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function M_PLUS_1p(options: { - variant: '100' | '300' | '400' | '500' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function M_PLUS_2(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function M_PLUS_Code_Latin(options?: { - variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function M_PLUS_Rounded_1c(options: { - variant: '100' | '300' | '400' | '500' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ma_Shan_Zheng(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Macondo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Macondo_Swash_Caps(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mada(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Magra(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Maiden_Orange(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Maitree(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Major_Mono_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mako(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mali(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mallanna(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mandali(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Manjari(options: { - variant: '100' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Manrope(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mansalva(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Manuale(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marcellus(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marcellus_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marck_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Margarine(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Markazi_Text(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marko_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marmelad(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Martel(options: { - variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Martel_Sans(options: { - variant: '200' | '300' | '400' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Marvel(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mate(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mate_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Maven_Pro(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function McLaren(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mea_Culpa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Meddon(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function MedievalSharp(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Medula_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Meera_Inimai(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Megrim(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Meie_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Meow_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Merienda(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Merienda_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Merriweather(options: { - variant: - | '300' - | '400' - | '700' - | '900' - | '300-italic' - | '400-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Merriweather_Sans(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Metal(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Metal_Mania(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Metamorphous(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Metrophobic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Michroma(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Milonga(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Miltonian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Miltonian_Tattoo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mina(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mingzat(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Miniver(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Miriam_Libre(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mirza(options: { - variant: '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Miss_Fajardose(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mitr(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mochiy_Pop_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mochiy_Pop_P_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Modak(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Modern_Antiqua(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mogra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mohave(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Molengo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Molle(options: { - variant: '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Monda(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Monofett(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Monoton(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Monsieur_La_Doulaise(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montaga(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montagu_Slab(options?: { - variant?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function MonteCarlo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montez(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montserrat(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montserrat_Alternates(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Montserrat_Subrayada(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Moo_Lah_Lah(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Moon_Dance(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Moul(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Moulpali(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mountains_of_Christmas(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mouse_Memoirs(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mr_Bedfort(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mr_Dafoe(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mr_De_Haviland(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mrs_Saint_Delafield(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mrs_Sheppards(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ms_Madi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mukta(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mukta_Mahee(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mukta_Malar(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mukta_Vaani(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mulish(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Murecho(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function MuseoModerno(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function My_Soul(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Mystery_Quest(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function NTR(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nabla(options?: { - variant?: '400' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ('EDPT' | 'EHLT')[] -}): FontModule -export declare function Nanum_Brush_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nanum_Gothic(options: { - variant: '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nanum_Gothic_Coding(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nanum_Myeongjo(options: { - variant: '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nanum_Pen_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Neonderthaw(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nerko_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Neucha(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Neuton(options: { - variant: '200' | '300' | '400' | '700' | '800' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function New_Rocker(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function New_Tegomin(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function News_Cycle(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Newsreader(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Niconne(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Niramit(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nixie_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nobile(options: { - variant: '400' | '500' | '700' | '400-italic' | '500-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nokora(options: { - variant: '100' | '300' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Norican(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nosifer(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Notable(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nothing_You_Could_Do(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noticia_Text(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Color_Emoji(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Emoji(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Kufi_Arabic(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Music(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Naskh_Arabic(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Nastaliq_Urdu(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Rashi_Hebrew(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Adlam(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Adlam_Unjoined(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Anatolian_Hieroglyphs(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Arabic(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Armenian(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Avestan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Balinese(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Bamum(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Bassa_Vah(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Batak(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Bengali(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Bhaiksuki(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Brahmi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Buginese(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Buhid(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Canadian_Aboriginal(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Carian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Caucasian_Albanian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Chakma(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Cham(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Cherokee(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Coptic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Cuneiform(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Cypriot(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Deseret(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Devanagari(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Display(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Duployan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Egyptian_Hieroglyphs(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Elbasan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Elymaic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Georgian(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Glagolitic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Gothic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Grantha(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Gujarati(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Gunjala_Gondi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Gurmukhi(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_HK(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Hanifi_Rohingya(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Hanunoo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Hatran(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Hebrew(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Imperial_Aramaic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Indic_Siyaq_Numbers(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Inscriptional_Pahlavi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Inscriptional_Parthian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_JP(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Javanese(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_KR(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Kaithi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Kannada(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Kayah_Li(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Kharoshthi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Khmer(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Khojki(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Khudawadi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Lao(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Lepcha(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Limbu(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Linear_A(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Linear_B(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Lisu(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Lycian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Lydian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Mahajani(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Malayalam(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Mandaic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Manichaean(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Marchen(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Masaram_Gondi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Math(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Mayan_Numerals(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Medefaidrin(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Meetei_Mayek(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Meroitic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Miao(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Modi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Mongolian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Mono(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Mro(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Multani(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Myanmar(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_N_Ko(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Nabataean(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_New_Tai_Lue(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Newa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Nushu(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Ogham(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Ol_Chiki(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Hungarian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Italic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_North_Arabian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Permic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Persian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Sogdian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_South_Arabian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Old_Turkic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Oriya(options: { - variant: '100' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Osage(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Osmanya(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Pahawh_Hmong(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Palmyrene(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Pau_Cin_Hau(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Phags_Pa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Phoenician(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Psalter_Pahlavi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Rejang(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Runic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_SC(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Samaritan(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Saurashtra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Sharada(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Shavian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Siddham(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Sinhala(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Sogdian(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Sora_Sompeng(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Soyombo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Sundanese(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Syloti_Nagri(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Symbols(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Symbols_2(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Syriac(options: { - variant: '100' | '400' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_TC(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tagalog(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tagbanwa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tai_Le(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tai_Tham(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tai_Viet(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Takri(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tamil(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Tamil_Supplement(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Telugu(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Thaana(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Thai(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Sans_Thai_Looped(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tifinagh(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Tirhuta(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Ugaritic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Vai(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Wancho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Warang_Citi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Yi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Sans_Zanabazar_Square(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Ahom(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Armenian(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Balinese(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Bengali(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Devanagari(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Display(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Dogra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Ethiopic(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Georgian(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Grantha(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Gujarati(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Gurmukhi(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_HK(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Hebrew(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_JP(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_KR(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Kannada(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Khmer(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Lao(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Malayalam(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Myanmar(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Nyiakeng_Puachue_Hmong(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_SC(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Sinhala(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_TC(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Tamil(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Tangut(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Telugu(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Thai(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Noto_Serif_Tibetan(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Serif_Yezidi(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Noto_Traditional_Nushu(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Cut(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Flat(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Oval(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Round(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Slim(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nova_Square(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Numans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nunito(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nunito_Sans(options: { - variant: - | '200' - | '300' - | '400' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Nuosu_SIL(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Odibee_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Odor_Mean_Chey(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Offside(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Old_Standard_TT(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oldenburg(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ole(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oleo_Script(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oleo_Script_Swash_Caps(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oooh_Baby(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Open_Sans(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Oranienbaum(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Orbitron(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oregano(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Orelega_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Orienta(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Original_Surfer(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oswald(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Outfit(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Over_the_Rainbow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Overlock(options: { - variant: '400' | '700' | '900' | '400-italic' | '700-italic' | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Overlock_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Overpass(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Overpass_Mono(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ovo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oxanium(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oxygen(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Oxygen_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Sans(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Sans_Caption(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Sans_Narrow(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Serif(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function PT_Serif_Caption(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pacifico(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Padauk(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Palanquin(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Palanquin_Dark(options: { - variant: '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pangolin(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Paprika(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Parisienne(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Passero_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Passion_One(options: { - variant: '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Passions_Conflict(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pathway_Gothic_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Patrick_Hand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Patrick_Hand_SC(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pattaya(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Patua_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pavanam(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Paytone_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Peddana(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Peralta(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Permanent_Marker(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Petemoss(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Petit_Formal_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Petrona(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Philosopher(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Piazzolla(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Piedra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pinyon_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pirata_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Plaster(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Play(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Playball(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Playfair_Display(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Playfair_Display_SC(options: { - variant: '400' | '700' | '900' | '400-italic' | '700-italic' | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Plus_Jakarta_Sans(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Podkova(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Poiret_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Poller_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Poly(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pompiere(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pontano_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Poor_Story(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Poppins(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Port_Lligat_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Port_Lligat_Slab(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Potta_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pragati_Narrow(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Praise(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Prata(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Preahvihear(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Press_Start_2P(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Pridi(options: { - variant: '200' | '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Princess_Sofia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Prociono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Prompt(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Prosto_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Proza_Libre(options: { - variant: - | '400' - | '500' - | '600' - | '700' - | '800' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Public_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Puppies_Play(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Puritan(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Purple_Purse(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Qahiri(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quando(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quantico(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quattrocento(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quattrocento_Sans(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Questrial(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quicksand(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Quintessential(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Qwigley(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Qwitcher_Grypen(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Racing_Sans_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Radio_Canada(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Radley(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rajdhani(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rakkas(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Raleway(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Raleway_Dots(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ramabhadra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ramaraja(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rambla(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rammetto_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rampart_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ranchers(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rancho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ranga(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rasa(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rationale(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ravi_Prakash(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Readex_Pro(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Recursive(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ('CASL' | 'CRSV' | 'MONO' | 'slnt')[] -}): FontModule -export declare function Red_Hat_Display(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Red_Hat_Mono(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Red_Hat_Text(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Red_Rose(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Redacted(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Redacted_Script(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Redressed(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Reem_Kufi(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Reem_Kufi_Fun(options?: { - variant?: '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Reem_Kufi_Ink(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Reenie_Beanie(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Reggae_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Revalia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rhodium_Libre(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ribeye(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ribeye_Marrow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Righteous(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Risque(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Road_Rage(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Roboto(options: { - variant: - | '100' - | '300' - | '400' - | '500' - | '700' - | '900' - | '100-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Roboto_Condensed(options: { - variant: '300' | '400' | '700' | '300-italic' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Roboto_Flex(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '1000' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ( - | 'GRAD' - | 'XTRA' - | 'YOPQ' - | 'YTAS' - | 'YTDE' - | 'YTFI' - | 'YTLC' - | 'YTUC' - | 'opsz' - | 'slnt' - | 'wdth' - )[] -}): FontModule -export declare function Roboto_Mono(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Roboto_Serif(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ('GRAD' | 'opsz' | 'wdth')[] -}): FontModule -export declare function Roboto_Slab(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rochester(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rock_Salt(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function RocknRoll_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rokkitt(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Romanesco(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ropa_Sans(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rosario(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rosarivo(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rouge_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rowdies(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rozha_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Beastly(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Bubbles(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Burned(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Dirt(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Distressed(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Glitch(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Iso(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Marker_Hatch(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Maze(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Microbe(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Mono_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Moonrocks(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Puddles(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rubik_Wet_Paint(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ruda(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rufina(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ruge_Boogie(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ruluko(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rum_Raisin(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ruslan_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Russo_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ruthie(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Rye(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function STIX_Two_Text(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sacramento(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sahitya(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sail(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Saira(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Saira_Condensed(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Saira_Extra_Condensed(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Saira_Semi_Condensed(options: { - variant: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Saira_Stencil_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Salsa(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sanchez(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sancreek(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sansita(options: { - variant: - | '400' - | '700' - | '800' - | '900' - | '400-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sansita_Swashed(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sarabun(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sarala(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sarina(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sarpanch(options: { - variant: '400' | '500' | '600' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sassy_Frass(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Satisfy(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sawarabi_Gothic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sawarabi_Mincho(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Scada(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Scheherazade_New(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Schoolbell(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Scope_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Seaweed_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Secular_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sedgwick_Ave(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sedgwick_Ave_Display(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sen(options: { - variant: '400' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Send_Flowers(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sevillana(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Seymour_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shadows_Into_Light(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shadows_Into_Light_Two(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shalimar(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shanti(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Share(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Share_Tech(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Share_Tech_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shippori_Antique(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shippori_Antique_B1(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shippori_Mincho(options: { - variant: '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shippori_Mincho_B1(options: { - variant: '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shojumaru(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Short_Stack(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Shrikhand(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Siemreap(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sigmar_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Signika(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Signika_Negative(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Silkscreen(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Simonetta(options: { - variant: '400' | '900' | '400-italic' | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Single_Day(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sintony(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sirin_Stencil(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Six_Caps(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Skranji(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Slabo_13px(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Slabo_27px(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Slackey(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Smokum(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Smooch(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Smooch_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Smythe(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sniglet(options: { - variant: '400' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Snippet(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Snowburst_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sofadi_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sofia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Solway(options: { - variant: '300' | '400' | '500' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Song_Myung(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sonsie_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sora(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sorts_Mill_Goudy(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Source_Code_Pro(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Source_Sans_3(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Source_Sans_Pro(options: { - variant: - | '200' - | '300' - | '400' - | '600' - | '700' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '600-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Source_Serif_4(options?: { - variant?: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Source_Serif_Pro(options: { - variant: - | '200' - | '300' - | '400' - | '600' - | '700' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '600-italic' - | '700-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Space_Grotesk(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Space_Mono(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Special_Elite(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spectral(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spectral_SC(options: { - variant: - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spicy_Rice(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spinnaker(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spirax(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Splash(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spline_Sans(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Spline_Sans_Mono(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Squada_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Square_Peg(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sree_Krushnadevaraya(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sriracha(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Srisakdi(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Staatliches(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stalemate(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stalinist_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stardos_Stencil(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stick(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stick_No_Bills(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stint_Ultra_Condensed(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stint_Ultra_Expanded(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stoke(options: { - variant: '300' | '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Strait(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Style_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Stylish(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sue_Ellen_Francisco(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Suez_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sulphur_Point(options: { - variant: '300' | '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sumana(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sunflower(options: { - variant: '300' | '500' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sunshiney(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Supermercado_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Sura(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Suranna(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Suravaram(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Suwannaphum(options: { - variant: '100' | '300' | '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Swanky_and_Moo_Moo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Syncopate(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Syne(options?: { - variant?: '400' | '500' | '600' | '700' | '800' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Syne_Mono(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Syne_Tactile(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tai_Heritage_Pro(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tajawal(options: { - variant: '200' | '300' | '400' | '500' | '700' | '800' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tangerine(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tapestry(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Taprom(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tauri(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Taviraj(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Teko(options: { - variant: '300' | '400' | '500' | '600' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Telex(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tenali_Ramakrishna(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tenor_Sans(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Text_Me_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Texturina(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'opsz'[] -}): FontModule -export declare function Thasadith(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function The_Girl_Next_Door(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function The_Nautigal(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tienne(options: { - variant: '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tillana(options: { - variant: '400' | '500' | '600' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Timmana(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tinos(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Bangla(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Devanagari_Hindi(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Devanagari_Marathi(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Devanagari_Sanskrit(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Gurmukhi(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Kannada(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Tamil(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tiro_Telugu(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Titan_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Titillium_Web(options: { - variant: - | '200' - | '300' - | '400' - | '600' - | '700' - | '900' - | '200-italic' - | '300-italic' - | '400-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tomorrow(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tourney(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Trade_Winds(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Train_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Trirong(options: { - variant: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Trispace(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: 'wdth'[] -}): FontModule -export declare function Trocchi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Trochut(options: { - variant: '400' | '700' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Truculenta(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean - axes?: ('opsz' | 'wdth')[] -}): FontModule -export declare function Trykker(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Tulpen_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Turret_Road(options: { - variant: '200' | '300' | '400' | '500' | '700' | '800' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Twinkle_Star(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ubuntu(options: { - variant: - | '300' - | '400' - | '500' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ubuntu_Condensed(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ubuntu_Mono(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Uchen(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Ultra(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Uncial_Antiqua(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Underdog(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Unica_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function UnifrakturCook(options: { - variant: '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function UnifrakturMaguntia(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Unkempt(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Unlock(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Unna(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Updock(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Urbanist(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function VT323(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vampiro_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Varela(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Varela_Round(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Varta(options?: { - variant?: '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vast_Shadow(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vazirmatn(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vesper_Libre(options: { - variant: '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Viaoda_Libre(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vibes(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vibur(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vidaloka(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Viga(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Voces(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Volkhov(options: { - variant: '400' | '700' | '400-italic' | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vollkorn(options?: { - variant?: - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vollkorn_SC(options: { - variant: '400' | '600' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Voltaire(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Vujahday_Script(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Waiting_for_the_Sunrise(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Wallpoet(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Walter_Turncoat(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Warnes(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Water_Brush(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Waterfall(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Wellfleet(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Wendy_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Whisper(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function WindSong(options: { - variant: '400' | '500' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Wire_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Work_Sans(options?: { - variant?: - | '100' - | '200' - | '300' - | '400' - | '500' - | '600' - | '700' - | '800' - | '900' - | '100-italic' - | '200-italic' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | '800-italic' - | '900-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Xanh_Mono(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yaldevi(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yanone_Kaffeesatz(options?: { - variant?: '200' | '300' | '400' | '500' | '600' | '700' | 'variable' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yantramanav(options: { - variant: '100' | '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yatra_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yellowtail(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yeon_Sung(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yeseva_One(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yesteryear(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yomogi(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yrsa(options?: { - variant?: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - | 'variable' - | 'variable-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yuji_Boku(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yuji_Mai(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yuji_Syuku(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Yusei_Magic(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function ZCOOL_KuaiLe(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function ZCOOL_QingKe_HuangYou(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function ZCOOL_XiaoWei(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Antique(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Antique_Soft(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Dots(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Kaku_Gothic_Antique(options: { - variant: '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Kaku_Gothic_New(options: { - variant: '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Kurenaido(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Loop(options: { - variant: '400' | '400-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Maru_Gothic(options: { - variant: '300' | '400' | '500' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Old_Mincho(options: { - variant: '400' | '700' | '900' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zen_Tokyo_Zoo(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zeyada(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zhi_Mang_Xing(options: { - variant: '400' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zilla_Slab(options: { - variant: - | '300' - | '400' - | '500' - | '600' - | '700' - | '300-italic' - | '400-italic' - | '500-italic' - | '600-italic' - | '700-italic' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule -export declare function Zilla_Slab_Highlight(options: { - variant: '400' | '700' - display?: Display - preload?: boolean - fallback?: string[] - adjustFontFallback?: boolean -}): FontModule diff --git a/packages/font/src/google/loader.ts b/packages/font/src/google/loader.ts deleted file mode 100644 index 1985e6111d551..0000000000000 --- a/packages/font/src/google/loader.ts +++ /dev/null @@ -1,121 +0,0 @@ -// @ts-ignore -import fetch from 'next/dist/compiled/node-fetch' -// @ts-ignore -import { calculateOverrideCSS } from 'next/dist/server/font-utils' -import { - fetchCSSFromGoogleFonts, - getFontAxes, - getUrl, - validateData, -} from './utils' - -type FontLoaderOptions = { - functionName: string - data: any[] - config: any - emitFontFile: (content: Buffer, ext: string, preload: boolean) => string -} - -export default async function downloadGoogleFonts({ - functionName, - data, - config, - emitFontFile, -}: FontLoaderOptions) { - if (!config?.subsets) { - throw new Error( - 'Please specify subsets for `@next/font/google` in your `next.config.js`' - ) - } - - const { - fontFamily, - weight, - style, - display, - preload, - selectedVariableAxes, - fallback, - adjustFontFallback, - } = validateData(functionName, data) - const fontAxes = getFontAxes(fontFamily, weight, style, selectedVariableAxes) - const url = getUrl(fontFamily, fontAxes, display) - - const fontFaceDeclarations = await fetchCSSFromGoogleFonts(url, fontFamily) - - // Find font files to download - const fontFiles: Array<{ - googleFontFileUrl: string - preloadFontFile: boolean - }> = [] - let currentSubset = '' - for (const line of fontFaceDeclarations.split('\n')) { - // Each @font-face has the subset above it in a comment - const newSubset = /\/\* (.+?) \*\//.exec(line)?.[1] - if (newSubset) { - currentSubset = newSubset - } else { - const googleFontFileUrl = /src: url\((.+?)\)/.exec(line)?.[1] - if (googleFontFileUrl) { - fontFiles.push({ - googleFontFileUrl, - preloadFontFile: !!preload && config.subsets.includes(currentSubset), - }) - } - } - } - - // Download font files - const downloadedFiles = await Promise.all( - fontFiles.map(async ({ googleFontFileUrl, preloadFontFile }) => { - let fontFileBuffer: Buffer - if (process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) { - fontFileBuffer = Buffer.from(googleFontFileUrl) - } else { - const arrayBuffer = await fetch(googleFontFileUrl).then((r: any) => - r.arrayBuffer() - ) - fontFileBuffer = Buffer.from(arrayBuffer) - } - - const ext = /\.(woff|woff2|eot|ttf|otf)$/.exec(googleFontFileUrl)![1] - // Emit font file to .next/static/fonts - const selfHostedFileUrl = emitFontFile( - fontFileBuffer, - ext, - preloadFontFile - ) - - return { - googleFontFileUrl, - selfHostedFileUrl, - } - }) - ) - - // Replace @font-face sources with self-hosted files - let updatedCssResponse = fontFaceDeclarations - for (const { googleFontFileUrl, selfHostedFileUrl } of downloadedFiles) { - updatedCssResponse = updatedCssResponse.replace( - googleFontFileUrl, - selfHostedFileUrl - ) - } - - // Add fallback font - if (adjustFontFallback) { - try { - updatedCssResponse += calculateOverrideCSS( - fontFamily, - require('next/dist/server/google-font-metrics.json') - ) - } catch (e) { - console.log('Error getting font override values - ', e) - } - } - - return { - css: updatedCssResponse, - fallbackFonts: fallback, - } -} diff --git a/packages/font/src/google/utils.ts b/packages/font/src/google/utils.ts deleted file mode 100644 index af525a7a493b0..0000000000000 --- a/packages/font/src/google/utils.ts +++ /dev/null @@ -1,189 +0,0 @@ -// @ts-ignore -import fetch from 'next/dist/compiled/node-fetch' -import fontData from './font-data.json' -const allowedDisplayValues = ['auto', 'block', 'swap', 'fallback', 'optional'] - -const formatValues = (values: string[]) => - values.map((val) => `\`${val}\``).join(', ') - -type FontOptions = { - fontFamily: string - weight: string - style: string - display: string - preload: boolean - selectedVariableAxes?: string[] - fallback?: string[] - adjustFontFallback: boolean -} -export function validateData(functionName: string, data: any): FontOptions { - let { - variant, - display = 'optional', - preload = true, - axes, - fallback, - adjustFontFallback = true, - } = data[0] || ({} as any) - if (functionName === '') { - throw new Error(`@next/font/google has no default export`) - } - - const fontFamily = functionName.replace(/_/g, ' ') - - const fontVariants = (fontData as any)[fontFamily]?.variants - if (!fontVariants) { - throw new Error(`Unknown font \`${fontFamily}\``) - } - - // Set variable as default, throw if not available - if (!variant) { - if (fontVariants.includes('variable')) { - variant = 'variable' - } else { - throw new Error( - `Missing variant for font \`${fontFamily}\`.\nAvailable variants: ${formatValues( - fontVariants - )}` - ) - } - } - - if (!fontVariants.includes(variant)) { - throw new Error( - `Unknown variant \`${variant}\` for font \`${fontFamily}\`.\nAvailable variants: ${formatValues( - fontVariants - )}` - ) - } - - if (!allowedDisplayValues.includes(display)) { - throw new Error( - `Invalid display value \`${display}\` for font \`${fontFamily}\`.\nAvailable display values: ${formatValues( - allowedDisplayValues - )}` - ) - } - - const [weight, style] = variant.split('-') - - if (weight !== 'variable' && axes) { - throw new Error('Axes can only be defined for variable fonts') - } - - return { - fontFamily, - weight, - style, - display, - preload, - selectedVariableAxes: axes, - fallback, - adjustFontFallback, - } -} - -export function getUrl( - fontFamily: string, - axes: [string, string][], - display: string -) { - // Google api requires the axes to be sorted, starting with lowercase words - axes.sort(([a], [b]) => { - const aIsLowercase = a.charCodeAt(0) > 96 - const bIsLowercase = b.charCodeAt(0) > 96 - if (aIsLowercase && !bIsLowercase) return -1 - if (bIsLowercase && !aIsLowercase) return 1 - - return a > b ? 1 : -1 - }) - - return `https://fonts.googleapis.com/css2?family=${fontFamily.replace( - / /g, - '+' - )}:${axes.map(([key]) => key).join(',')}@${axes - .map(([, val]) => val) - .join(',')}&display=${display}` -} - -export async function fetchCSSFromGoogleFonts(url: string, fontFamily: string) { - let mockedResponse: string | undefined - if (process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) { - const mockFile = require(process.env.NEXT_FONT_GOOGLE_MOCKED_RESPONSES) - mockedResponse = mockFile[url] - if (!mockedResponse) { - throw new Error('Missing mocked response for URL: ' + url) - } - } - - let cssResponse - if (mockedResponse) { - cssResponse = mockedResponse - } else { - const res = await fetch(url, { - headers: { - // The file format is based off of the user agent, make sure woff2 files are fetched - 'user-agent': - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', - }, - }) - - if (!res.ok) { - throw new Error(`Failed to fetch font \`${fontFamily}\`.\nURL: ${url}`) - } - - cssResponse = await res.text() - } - - return cssResponse -} - -export function getFontAxes( - fontFamily: string, - weight: string, - style: string, - selectedVariableAxes?: string[] -): [string, string][] { - const allAxes: Array<{ tag: string; min: number; max: number }> = ( - fontData as any - )[fontFamily].axes - const italicAxis: [string, string][] = - style === 'italic' ? [['ital', '1']] : [] - - if (weight === 'variable') { - if (selectedVariableAxes) { - const defineAbleAxes: string[] = allAxes - .map(({ tag }) => tag) - .filter((tag) => tag !== 'wght') - if (defineAbleAxes.length === 0) { - throw new Error(`Font \`${fontFamily}\` has no definable \`axes\``) - } - if (!Array.isArray(selectedVariableAxes)) { - throw new Error( - `Invalid axes value for font \`${fontFamily}\`, expected an array of axes.\nAvailable axes: ${formatValues( - defineAbleAxes - )}` - ) - } - selectedVariableAxes.forEach((key) => { - if (!defineAbleAxes.some((tag) => tag === key)) { - throw new Error( - `Invalid axes value \`${key}\` for font \`${fontFamily}\`.\nAvailable axes: ${formatValues( - defineAbleAxes - )}` - ) - } - }) - } - - const variableAxes: [string, string][] = allAxes - .filter( - ({ tag }) => tag === 'wght' || selectedVariableAxes?.includes(tag) - ) - .map(({ tag, min, max }) => [tag, `${min}..${max}`]) - - return [...italicAxis, ...variableAxes] - } else { - return [...italicAxis, ['wght', weight]] - } -} diff --git a/packages/font/tsconfig.json b/packages/font/tsconfig.json deleted file mode 100644 index 7834550630a18..0000000000000 --- a/packages/font/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "resolveJsonModule": true, - "module": "commonjs", - "esModuleInterop": true, - "target": "es2019", - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/packages/next/server/font-utils.ts b/packages/next/server/font-utils.ts index 557d47b17612a..c505bbbb55028 100644 --- a/packages/next/server/font-utils.ts +++ b/packages/next/server/font-utils.ts @@ -98,7 +98,7 @@ function parseGoogleFontName(css: string): Array { return [...fontNames] } -export function calculateOverrideCSS(font: string, fontMetrics: any) { +function calculateOverrideCSS(font: string, fontMetrics: any) { const fontName = font.toLowerCase().trim().replace(/ /g, '-') const fontKey = font.toLowerCase().trim().replace(/ /g, '') const { category, ascentOverride, descentOverride, lineGapOverride } = diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a1a6a25b2847a..aee0111858f5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,7 +24,6 @@ importers: '@next/bundle-analyzer': workspace:* '@next/env': workspace:* '@next/eslint-plugin-next': workspace:* - '@next/font': workspace:* '@next/mdx': workspace:* '@next/plugin-storybook': workspace:* '@next/polyfill-module': workspace:* @@ -181,7 +180,6 @@ importers: '@next/bundle-analyzer': link:packages/next-bundle-analyzer '@next/env': link:packages/next-env '@next/eslint-plugin-next': link:packages/eslint-plugin-next - '@next/font': link:packages/font '@next/mdx': link:packages/next-mdx '@next/plugin-storybook': link:packages/next-plugin-storybook '@next/polyfill-module': link:packages/next-polyfill-module @@ -563,8 +561,8 @@ importers: source-map: 0.6.1 stream-browserify: 3.0.0 stream-http: 3.1.1 - string-hash: 1.1.3 string_decoder: 1.3.0 + string-hash: 1.1.3 strip-ansi: 6.0.0 styled-jsx: 5.0.7 tar: 6.1.11 @@ -752,8 +750,8 @@ importers: source-map: 0.6.1 stream-browserify: 3.0.0 stream-http: 3.1.1 - string-hash: 1.1.3 string_decoder: 1.3.0 + string-hash: 1.1.3 strip-ansi: 6.0.0 tar: 6.1.11 taskr: 1.1.0 @@ -11226,8 +11224,8 @@ packages: engines: { node: '>=10' } hasBin: true dependencies: - JSONStream: 1.3.5 is-text-path: 1.0.1 + JSONStream: 1.3.5 lodash: 4.17.21 meow: 8.1.2 split2: 2.2.0 diff --git a/scripts/update-google-fonts.js b/scripts/update-google-fonts.js deleted file mode 100644 index c8d808dc8b768..0000000000000 --- a/scripts/update-google-fonts.js +++ /dev/null @@ -1,74 +0,0 @@ -const fs = require('fs/promises') -const path = require('path') -const fetch = require('node-fetch') - -;(async () => { - const { familyMetadataList } = await fetch( - 'https://fonts.google.com/metadata/fonts' - ).then((r) => r.json()) - - let fontFunctions = `type Display = 'auto'|'block'|'swap'|'fallback'|'optional' -type FontModule = { className: string, variable: string, style: { fontFamily: string, fontWeight?: number, fontStyle?: string } } - ` - const fontData = {} - for (let { family, fonts, axes } of familyMetadataList) { - let hasItalic = false - const variants = Object.keys(fonts).map((variant) => { - if (variant.endsWith('i')) { - hasItalic = true - return `${variant.slice(0, 3)}-italic` - } - return variant - }) - - const hasVariableFont = axes.length > 0 - - let optionalAxes - if (hasVariableFont) { - variants.push('variable') - if (hasItalic) { - variants.push('variable-italic') - } - - const nonWeightAxes = axes.filter(({ tag }) => tag !== 'wght') - if (nonWeightAxes.length > 0) { - optionalAxes = nonWeightAxes - } - } - - fontData[family] = { - variants, - axes: hasVariableFont ? axes : undefined, - } - const optionalIfVariableFont = hasVariableFont ? '?' : '' - fontFunctions += `export declare function ${family.replaceAll( - ' ', - '_' - )}(options${optionalIfVariableFont}: { - variant${optionalIfVariableFont}:${variants - .map((variant) => `"${variant}"`) - .join('|')} - display?:Display, - preload?:boolean, - fallback?: string[] - adjustFontFallback?: boolean - ${ - optionalAxes - ? `axes?:(${optionalAxes.map(({ tag }) => `'${tag}'`).join('|')})[]` - : '' - } - }):FontModule - ` - } - - await Promise.all([ - fs.writeFile( - path.join(__dirname, '../packages/font/src/google/index.ts'), - fontFunctions - ), - fs.writeFile( - path.join(__dirname, '../packages/font/src/google/font-data.json'), - JSON.stringify(fontData, null, 2) - ), - ]) -})() From 93551f43d9386cf1d343ff6950c5c86cb46389a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Born=C3=B6?= Date: Wed, 21 Sep 2022 23:07:47 +0200 Subject: [PATCH 12/13] Remove wrong test file --- test/unit/google-font-loader.test.ts | 334 --------------------------- 1 file changed, 334 deletions(-) delete mode 100644 test/unit/google-font-loader.test.ts diff --git a/test/unit/google-font-loader.test.ts b/test/unit/google-font-loader.test.ts deleted file mode 100644 index 8c73f84a49d25..0000000000000 --- a/test/unit/google-font-loader.test.ts +++ /dev/null @@ -1,334 +0,0 @@ -import loader from '@next/font/google/loader' -import fetch from 'next/dist/compiled/node-fetch' - -jest.mock('next/dist/compiled/node-fetch') - -describe('@next/font/google loader', () => { - afterEach(() => { - jest.resetAllMocks() - }) - - describe('URL from options', () => { - test.each([ - [ - 'Inter', - {}, - 'https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=optional', - ], - [ - 'Inter', - { variant: '400' }, - 'https://fonts.googleapis.com/css2?family=Inter:wght@400&display=optional', - ], - [ - 'Inter', - { variant: '900', display: 'block' }, - 'https://fonts.googleapis.com/css2?family=Inter:wght@900&display=block', - ], - [ - 'Source_Sans_Pro', - { variant: '900', display: 'auto' }, - 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&display=auto', - ], - [ - 'Source_Sans_Pro', - { variant: '200-italic' }, - 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@1,200&display=optional', - ], - [ - 'Roboto_Flex', - { display: 'swap' }, - 'https://fonts.googleapis.com/css2?family=Roboto+Flex:wght@100..1000&display=swap', - ], - [ - 'Roboto_Flex', - { display: 'fallback', variant: 'variable', axes: ['opsz'] }, - 'https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=fallback', - ], - [ - 'Roboto_Flex', - { - display: 'optional', - axes: ['YTUC', 'slnt', 'wdth', 'opsz', 'XTRA', 'YTAS'], - }, - 'https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,slnt,wdth,wght,XTRA,YTAS,YTUC@8..144,-10..0,25..151,100..1000,323..603,649..854,528..760&display=optional', - ], - [ - 'Oooh_Baby', - { variant: '400' }, - 'https://fonts.googleapis.com/css2?family=Oooh+Baby:wght@400&display=optional', - ], - [ - 'Albert_Sans', - { variant: 'variable-italic' }, - 'https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@1,100..900&display=optional', - ], - [ - 'Fraunces', - { variant: 'variable-italic', axes: ['WONK', 'opsz', 'SOFT'] }, - 'https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@1,9..144,100..900,0..100,0..1&display=optional', - ], - ])('%s', async (functionName: string, data: any, url: string) => { - fetch.mockResolvedValue({ - ok: true, - text: async () => 'OK', - }) - const { css } = await loader({ - functionName, - data: [{ adjustFontFallback: false, ...data }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - expect(css).toBe('OK') - expect(fetch).toHaveBeenCalledTimes(1) - expect(fetch).toHaveBeenCalledWith(url, expect.any(Object)) - }) - }) - - describe('Fallback fonts', () => { - test('Inter', async () => { - fetch.mockResolvedValue({ - ok: true, - text: async () => '', - }) - const { css, fallbackFonts } = await loader({ - functionName: 'Inter', - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - expect(css).toMatchInlineSnapshot(` -" - @font-face { - font-family: \\"inter-fallback\\"; - ascent-override: 96.88%; - descent-override: 24.15%; - line-gap-override: 0.00%; - src: local(\\"Arial\\"); - } - " -`) - expect(fallbackFonts).toBeUndefined() - }) - - test('Source Code Pro', async () => { - fetch.mockResolvedValue({ - ok: true, - text: async () => '', - }) - const { css, fallbackFonts } = await loader({ - functionName: 'Source_Code_Pro', - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - expect(css).toMatchInlineSnapshot(` -" - @font-face { - font-family: \\"source-code-pro-fallback\\"; - ascent-override: 98.40%; - descent-override: 27.30%; - line-gap-override: 0.00%; - src: local(\\"Arial\\"); - } - " -`) - expect(fallbackFonts).toBeUndefined() - }) - - test('Fraunces', async () => { - fetch.mockResolvedValue({ - ok: true, - text: async () => '', - }) - const { css, fallbackFonts } = await loader({ - functionName: 'Fraunces', - data: [{ fallback: ['Abc', 'Def'] }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - expect(css).toMatchInlineSnapshot(` -" - @font-face { - font-family: \\"fraunces-fallback\\"; - ascent-override: 97.80%; - descent-override: 25.50%; - line-gap-override: 0.00%; - src: local(\\"Times New Roman\\"); - } - " -`) - expect(fallbackFonts).toEqual(['Abc', 'Def']) - }) - - test('adjustFontFallback disabled', async () => { - fetch.mockResolvedValue({ - ok: true, - text: async () => '', - }) - const { css, fallbackFonts } = await loader({ - functionName: 'Inter', - data: [{ adjustFontFallback: false, fallback: ['system-ui', 'Arial'] }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - expect(css).toBe('') - expect(fallbackFonts).toEqual(['system-ui', 'Arial']) - }) - }) - - describe('Errors', () => { - test('Failed to fetch', async () => { - fetch.mockResolvedValue({ - ok: false, - }) - - await expect( - loader({ - functionName: 'Inter', - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Failed to fetch font \`Inter\`. - URL: https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=optional" - `) - }) - - test('Missing config with subsets', async () => { - await expect( - loader({ - functionName: 'Inter', - data: [], - config: undefined, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Please specify subsets for \`@next/font/google\` in your \`next.config.js\`"` - ) - }) - - test('Missing function name', async () => { - await expect( - loader({ - functionName: '', // default import - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"@next/font/google has no default export"` - ) - }) - - test('Unknown font', async () => { - await expect( - loader({ - functionName: 'Unknown_Font', - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Unknown font \`Unknown Font\`"` - ) - }) - - test('Unknown variant', async () => { - await expect( - loader({ - functionName: 'Inter', - data: [{ variant: '123' }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unknown variant \`123\` for font \`Inter\`. - Available variants: \`100\`, \`200\`, \`300\`, \`400\`, \`500\`, \`600\`, \`700\`, \`800\`, \`900\`, \`variable\`" - `) - }) - - test('Missing variant for non variable font', async () => { - await expect( - loader({ - functionName: 'Abel', - data: [], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Missing variant for font \`Abel\`. - Available variants: \`400\`" - `) - }) - - test('Invalid display value', async () => { - await expect( - loader({ - functionName: 'Inter', - data: [{ display: 'invalid' }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Invalid display value \`invalid\` for font \`Inter\`. - Available display values: \`auto\`, \`block\`, \`swap\`, \`fallback\`, \`optional\`" - `) - }) - - test('Setting axes on non variable font', async () => { - await expect( - loader({ - functionName: 'Abel', - data: [{ variant: '400', axes: [] }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Axes can only be defined for variable fonts"` - ) - }) - - test('Setting axes on font without definable axes', async () => { - await expect( - loader({ - functionName: 'Lora', - data: [{ axes: [] }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Font \`Lora\` has no definable \`axes\`"` - ) - }) - - test('Invalid axes value', async () => { - await expect( - loader({ - functionName: 'Inter', - data: [{ axes: true }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Invalid axes value for font \`Inter\`, expected an array of axes. - Available axes: \`slnt\`" - `) - }) - - test('Invalid value in axes array', async () => { - await expect( - loader({ - functionName: 'Roboto_Flex', - data: [{ axes: ['INVALID'] }], - config: { subsets: [] }, - emitFontFile: jest.fn(), - }) - ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Invalid axes value \`INVALID\` for font \`Roboto Flex\`. - Available axes: \`GRAD\`, \`XTRA\`, \`YOPQ\`, \`YTAS\`, \`YTDE\`, \`YTFI\`, \`YTLC\`, \`YTUC\`, \`opsz\`, \`slnt\`, \`wdth\`" - `) - }) - }) -}) From e8ba154e4f1984dd68c38695ebf344e170a7da6d Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 21 Sep 2022 21:48:20 -0700 Subject: [PATCH 13/13] update tests and add required file --- packages/next/build/index.ts | 4 ++++ .../font-loader-in-document-error.test.ts | 2 +- test/e2e/next-font/basepath.test.ts | 7 ++++++- test/e2e/next-font/index.test.ts | 7 ++++++- .../next-font/with-font-declarations-file.test.ts | 7 ++++++- test/e2e/next-font/without-preloaded-fonts.test.ts | 14 ++++++++++++-- 6 files changed, 35 insertions(+), 6 deletions(-) diff --git a/packages/next/build/index.ts b/packages/next/build/index.ts index 29f82ca095d84..775d726bec4c4 100644 --- a/packages/next/build/index.ts +++ b/packages/next/build/index.ts @@ -59,6 +59,7 @@ import { APP_BUILD_MANIFEST, FLIGHT_SERVER_CSS_MANIFEST, RSC_MODULE_TYPES, + FONT_LOADER_MANIFEST, } from '../shared/lib/constants' import { getSortedRoutes, isDynamicRoute } from '../shared/lib/router/utils' import { __ApiPreviewProps } from '../server/api-utils' @@ -828,6 +829,9 @@ export default async function build( config.optimizeFonts ? path.join(serverDir, FONT_MANIFEST) : null, BUILD_ID_FILE, appDir ? path.join(serverDir, APP_PATHS_MANIFEST) : null, + config.experimental.fontLoaders + ? path.join(serverDir, FONT_LOADER_MANIFEST) + : null, ] .filter(nonNullable) .map((file) => path.join(config.distDir, file)), diff --git a/test/development/next-font/font-loader-in-document-error.test.ts b/test/development/next-font/font-loader-in-document-error.test.ts index 8326b482098aa..403da95bd1d58 100644 --- a/test/development/next-font/font-loader-in-document-error.test.ts +++ b/test/development/next-font/font-loader-in-document-error.test.ts @@ -16,7 +16,7 @@ describe('font-loader-in-document-error', () => { ), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, }) }) diff --git a/test/e2e/next-font/basepath.test.ts b/test/e2e/next-font/basepath.test.ts index 9ebdbc6b0ce96..0b6d242fc138a 100644 --- a/test/e2e/next-font/basepath.test.ts +++ b/test/e2e/next-font/basepath.test.ts @@ -11,6 +11,11 @@ const mockedGoogleFontResponses = require.resolve( describe('@next/font/google basepath', () => { let next: NextInstance + if ((global as any).isNextDeploy) { + it('should skip next deploy for now', () => {}) + return + } + beforeAll(async () => { next = await createNext({ files: { @@ -20,7 +25,7 @@ describe('@next/font/google basepath', () => { ), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, env: { NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, diff --git a/test/e2e/next-font/index.test.ts b/test/e2e/next-font/index.test.ts index 887d8b442b26d..aed14be9eb00e 100644 --- a/test/e2e/next-font/index.test.ts +++ b/test/e2e/next-font/index.test.ts @@ -12,6 +12,11 @@ const mockedGoogleFontResponses = require.resolve( describe('@next/font/google', () => { let next: NextInstance + if ((global as any).isNextDeploy) { + it('should skip next deploy for now', () => {}) + return + } + beforeAll(async () => { next = await createNext({ files: { @@ -20,7 +25,7 @@ describe('@next/font/google', () => { 'next.config.js': new FileRef(join(__dirname, 'app/next.config.js')), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, env: { NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, diff --git a/test/e2e/next-font/with-font-declarations-file.test.ts b/test/e2e/next-font/with-font-declarations-file.test.ts index cc0d7d2bf95a0..c6d5bca36edc5 100644 --- a/test/e2e/next-font/with-font-declarations-file.test.ts +++ b/test/e2e/next-font/with-font-declarations-file.test.ts @@ -13,6 +13,11 @@ const isDev = (global as any).isNextDev describe('@next/font/google with-font-declarations-file', () => { let next: NextInstance + if ((global as any).isNextDeploy) { + it('should skip next deploy for now', () => {}) + return + } + beforeAll(async () => { next = await createNext({ files: { @@ -30,7 +35,7 @@ describe('@next/font/google with-font-declarations-file', () => { ), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, env: { NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, diff --git a/test/e2e/next-font/without-preloaded-fonts.test.ts b/test/e2e/next-font/without-preloaded-fonts.test.ts index 1b8cb32ca03c7..2c7cf366c5a2b 100644 --- a/test/e2e/next-font/without-preloaded-fonts.test.ts +++ b/test/e2e/next-font/without-preloaded-fonts.test.ts @@ -11,6 +11,11 @@ const mockedGoogleFontResponses = require.resolve( describe('@next/font/google without-preloaded-fonts without _app', () => { let next: NextInstance + if ((global as any).isNextDeploy) { + it('should skip next deploy for now', () => {}) + return + } + beforeAll(async () => { next = await createNext({ files: { @@ -25,7 +30,7 @@ describe('@next/font/google without-preloaded-fonts without _app', () => { ), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, env: { NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses, @@ -62,6 +67,11 @@ describe('@next/font/google without-preloaded-fonts without _app', () => { describe('@next/font/google no preloads with _app', () => { let next: NextInstance + if ((global as any).isNextDeploy) { + it('should skip next deploy for now', () => {}) + return + } + beforeAll(async () => { next = await createNext({ files: { @@ -79,7 +89,7 @@ describe('@next/font/google no preloads with _app', () => { ), }, dependencies: { - '@next/font': '*', + '@next/font': 'canary', }, env: { NEXT_FONT_GOOGLE_MOCKED_RESPONSES: mockedGoogleFontResponses,