`
+ return `${postponedString.length}:${postponedString}${await (0, _resumedatacache.stringifyResumeDataCache)(resumeDataCache)}`;
+}
+async function getDynamicDataPostponedState(resumeDataCache) {
+ return `4:null${await (0, _resumedatacache.stringifyResumeDataCache)((0, _resumedatacache.createRenderResumeDataCache)(resumeDataCache))}`;
+}
+function parsePostponedState(state, params) {
+ try {
+ var _state_match;
+ const postponedStringLengthMatch = (_state_match = state.match(/^([0-9]*):/)) == null ? void 0 : _state_match[1];
+ if (!postponedStringLengthMatch) {
+ throw Object.defineProperty(new Error(`Invariant: invalid postponed state ${state}`), "__NEXT_ERROR_CODE", {
+ value: "E314",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const postponedStringLength = parseInt(postponedStringLengthMatch);
+ // We add a `:` to the end of the length as the first character of the
+ // postponed string is the length of the replacement entries.
+ const postponedString = state.slice(postponedStringLengthMatch.length + 1, postponedStringLengthMatch.length + postponedStringLength + 1);
+ const renderResumeDataCache = (0, _resumedatacache.createRenderResumeDataCache)(state.slice(postponedStringLengthMatch.length + postponedStringLength + 1));
+ try {
+ if (postponedString === 'null') {
+ return {
+ type: 1,
+ renderResumeDataCache
+ };
+ }
+ if (/^[0-9]/.test(postponedString)) {
+ var _postponedString_match;
+ const match = (_postponedString_match = postponedString.match(/^([0-9]*)/)) == null ? void 0 : _postponedString_match[1];
+ if (!match) {
+ throw Object.defineProperty(new Error(`Invariant: invalid postponed state ${JSON.stringify(postponedString)}`), "__NEXT_ERROR_CODE", {
+ value: "E314",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // This is the length of the replacements entries.
+ const length = parseInt(match);
+ const replacements = JSON.parse(postponedString.slice(match.length, // We then go to the end of the string.
+ match.length + length));
+ let postponed = postponedString.slice(match.length + length);
+ for (const [key, searchValue] of replacements){
+ const value = (params == null ? void 0 : params[key]) ?? '';
+ const replaceValue = Array.isArray(value) ? value.join('/') : value;
+ postponed = postponed.replaceAll(searchValue, replaceValue);
+ }
+ return {
+ type: 2,
+ data: JSON.parse(postponed),
+ renderResumeDataCache
+ };
+ }
+ return {
+ type: 2,
+ data: JSON.parse(postponedString),
+ renderResumeDataCache
+ };
+ } catch (err) {
+ console.error('Failed to parse postponed state', err);
+ return {
+ type: 1,
+ renderResumeDataCache
+ };
+ }
+ } catch (err) {
+ console.error('Failed to parse postponed state', err);
+ return {
+ type: 1,
+ renderResumeDataCache: (0, _resumedatacache.createPrerenderResumeDataCache)()
+ };
+ }
+}
+function getPostponedFromState(state) {
+ if (state.type === 1) {
+ return null;
+ }
+ return state.data;
+}
+
+//# sourceMappingURL=postponed-state.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/prospective-render-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/prospective-render-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..f84e641f58da70e49558314d7656994474de725c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/prospective-render-utils.js
@@ -0,0 +1,56 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "printDebugThrownValueForProspectiveRender", {
+ enumerable: true,
+ get: function() {
+ return printDebugThrownValueForProspectiveRender;
+ }
+});
+const _createerrorhandler = require("./create-error-handler");
+const _reactlargeshellerror = require("./react-large-shell-error");
+function printDebugThrownValueForProspectiveRender(thrownValue, route) {
+ // We don't need to print well-known Next.js errors.
+ if ((0, _createerrorhandler.getDigestForWellKnownError)(thrownValue)) {
+ return;
+ }
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(thrownValue)) {
+ // TODO: Aggregate
+ console.error(thrownValue);
+ return undefined;
+ }
+ let message;
+ if (typeof thrownValue === 'object' && thrownValue !== null && typeof thrownValue.message === 'string') {
+ message = thrownValue.message;
+ if (typeof thrownValue.stack === 'string') {
+ const originalErrorStack = thrownValue.stack;
+ const stackStart = originalErrorStack.indexOf('\n');
+ if (stackStart > -1) {
+ const error = Object.defineProperty(new Error(`Route ${route} errored during the prospective render. These errors are normally ignored and may not prevent the route from prerendering but are logged here because build debugging is enabled.
+
+Original Error: ${message}`), "__NEXT_ERROR_CODE", {
+ value: "E362",
+ enumerable: false,
+ configurable: true
+ });
+ error.stack = 'Error: ' + error.message + originalErrorStack.slice(stackStart);
+ console.error(error);
+ return;
+ }
+ }
+ } else if (typeof thrownValue === 'string') {
+ message = thrownValue;
+ }
+ if (message) {
+ console.error(`Route ${route} errored during the prospective render. These errors are normally ignored and may not prevent the route from prerendering but are logged here because build debugging is enabled. No stack was provided.
+
+Original Message: ${message}`);
+ return;
+ }
+ console.error(`Route ${route} errored during the prospective render. These errors are normally ignored and may not prevent the route from prerendering but are logged here because build debugging is enabled. The thrown value is logged just following this message`);
+ console.error(thrownValue);
+ return;
+}
+
+//# sourceMappingURL=prospective-render-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-large-shell-error.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-large-shell-error.js
new file mode 100644
index 0000000000000000000000000000000000000000..4b2a3a1b567cf43eafa39dddb4449ce23ed56302
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-large-shell-error.js
@@ -0,0 +1,17 @@
+// TODO: isWellKnownError -> isNextInternalError
+// isReactLargeShellError -> isWarning
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "isReactLargeShellError", {
+ enumerable: true,
+ get: function() {
+ return isReactLargeShellError;
+ }
+});
+function isReactLargeShellError(error) {
+ return typeof error === 'object' && error !== null && 'message' in error && typeof error.message === 'string' && error.message.startsWith('This rendered a large document (>');
+}
+
+//# sourceMappingURL=react-large-shell-error.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-server.node.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-server.node.js
new file mode 100644
index 0000000000000000000000000000000000000000..25b3fa573b7d8245c112f80e620ee395a5b33722
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/react-server.node.js
@@ -0,0 +1,39 @@
+// This file should be opted into the react-server layer
+// eslint-disable-next-line import/no-extraneous-dependencies
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createTemporaryReferenceSet: null,
+ decodeAction: null,
+ decodeFormState: null,
+ decodeReply: null,
+ decodeReplyFromBusboy: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createTemporaryReferenceSet: function() {
+ return _servernode.createTemporaryReferenceSet;
+ },
+ decodeAction: function() {
+ return _servernode.decodeAction;
+ },
+ decodeFormState: function() {
+ return _servernode.decodeFormState;
+ },
+ decodeReply: function() {
+ return _servernode.decodeReply;
+ },
+ decodeReplyFromBusboy: function() {
+ return _servernode.decodeReplyFromBusboy;
+ }
+});
+const _servernode = require("react-server-dom-webpack/server.node");
+
+//# sourceMappingURL=react-server.node.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/render-css-resource.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/render-css-resource.js
new file mode 100644
index 0000000000000000000000000000000000000000..a6c22b5d23d4862220dee596a0fb68134e371fec
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/render-css-resource.js
@@ -0,0 +1,53 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "renderCssResource", {
+ enumerable: true,
+ get: function() {
+ return renderCssResource;
+ }
+});
+const _jsxruntime = require("react/jsx-runtime");
+const _encodeuripath = require("../../shared/lib/encode-uri-path");
+const _getassetquerystring = require("./get-asset-query-string");
+function renderCssResource(entryCssFiles, ctx, preloadCallbacks) {
+ return entryCssFiles.map((entryCssFile, index)=>{
+ // `Precedence` is an opt-in signal for React to handle resource
+ // loading and deduplication, etc. It's also used as the key to sort
+ // resources so they will be injected in the correct order.
+ // During HMR, it's critical to use different `precedence` values
+ // for different stylesheets, so their order will be kept.
+ // https://github.com/facebook/react/pull/25060
+ const precedence = process.env.NODE_ENV === 'development' ? 'next_' + entryCssFile.path : 'next';
+ // In dev, Safari and Firefox will cache the resource during HMR:
+ // - https://github.com/vercel/next.js/issues/5860
+ // - https://bugs.webkit.org/show_bug.cgi?id=187726
+ // Because of this, we add a `?v=` query to bypass the cache during
+ // development. We need to also make sure that the number is always
+ // increasing.
+ const fullHref = `${ctx.assetPrefix}/_next/${(0, _encodeuripath.encodeURIPath)(entryCssFile.path)}${(0, _getassetquerystring.getAssetQueryString)(ctx, true)}`;
+ if (entryCssFile.inlined && !ctx.parsedRequestHeaders.isRSCRequest) {
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("style", {
+ nonce: ctx.nonce,
+ // @ts-ignore
+ precedence: precedence,
+ href: fullHref,
+ children: entryCssFile.content
+ }, index);
+ }
+ preloadCallbacks == null ? void 0 : preloadCallbacks.push(()=>{
+ ctx.componentMod.preloadStyle(fullHref, ctx.renderOpts.crossOrigin, ctx.nonce);
+ });
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("link", {
+ rel: "stylesheet",
+ href: fullHref,
+ // @ts-ignore
+ precedence: precedence,
+ crossOrigin: ctx.renderOpts.crossOrigin,
+ nonce: ctx.nonce
+ }, index);
+ });
+}
+
+//# sourceMappingURL=render-css-resource.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/required-scripts.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/required-scripts.js
new file mode 100644
index 0000000000000000000000000000000000000000..bcd19ccf8547c22236b8d3a6db35b6a4bc203356
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/required-scripts.js
@@ -0,0 +1,76 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getRequiredScripts", {
+ enumerable: true,
+ get: function() {
+ return getRequiredScripts;
+ }
+});
+const _encodeuripath = require("../../shared/lib/encode-uri-path");
+const _reactdom = /*#__PURE__*/ _interop_require_default(require("react-dom"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function getRequiredScripts(buildManifest, assetPrefix, crossOrigin, SRIManifest, qs, nonce, pagePath) {
+ var _buildManifest_rootMainFilesTree;
+ let preinitScripts;
+ let preinitScriptCommands = [];
+ const bootstrapScript = {
+ src: '',
+ crossOrigin
+ };
+ const files = (((_buildManifest_rootMainFilesTree = buildManifest.rootMainFilesTree) == null ? void 0 : _buildManifest_rootMainFilesTree[pagePath]) || buildManifest.rootMainFiles).map(_encodeuripath.encodeURIPath);
+ if (files.length === 0) {
+ throw Object.defineProperty(new Error('Invariant: missing bootstrap script. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
+ value: "E459",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (SRIManifest) {
+ bootstrapScript.src = `${assetPrefix}/_next/` + files[0] + qs;
+ bootstrapScript.integrity = SRIManifest[files[0]];
+ for(let i = 1; i < files.length; i++){
+ const src = `${assetPrefix}/_next/` + files[i] + qs;
+ const integrity = SRIManifest[files[i]];
+ preinitScriptCommands.push(src, integrity);
+ }
+ preinitScripts = ()=>{
+ // preinitScriptCommands is a double indexed array of src/integrity pairs
+ for(let i = 0; i < preinitScriptCommands.length; i += 2){
+ _reactdom.default.preinit(preinitScriptCommands[i], {
+ as: 'script',
+ integrity: preinitScriptCommands[i + 1],
+ crossOrigin,
+ nonce
+ });
+ }
+ };
+ } else {
+ bootstrapScript.src = `${assetPrefix}/_next/` + files[0] + qs;
+ for(let i = 1; i < files.length; i++){
+ const src = `${assetPrefix}/_next/` + files[i] + qs;
+ preinitScriptCommands.push(src);
+ }
+ preinitScripts = ()=>{
+ // preinitScriptCommands is a singled indexed array of src values
+ for(let i = 0; i < preinitScriptCommands.length; i++){
+ _reactdom.default.preinit(preinitScriptCommands[i], {
+ as: 'script',
+ nonce,
+ crossOrigin
+ });
+ }
+ };
+ }
+ return [
+ preinitScripts,
+ bootstrapScript
+ ];
+}
+
+//# sourceMappingURL=required-scripts.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/segment-explorer-path.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/segment-explorer-path.js
new file mode 100644
index 0000000000000000000000000000000000000000..50acccadc19becebbe93bf943692ae4f63f605e0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/segment-explorer-path.js
@@ -0,0 +1,84 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ BOUNDARY_PREFIX: null,
+ BOUNDARY_SUFFIX: null,
+ BUILTIN_PREFIX: null,
+ getBoundaryOriginFileType: null,
+ getConventionPathByType: null,
+ isBoundaryFile: null,
+ normalizeBoundaryFilename: null,
+ normalizeConventionFilePath: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ BOUNDARY_PREFIX: function() {
+ return BOUNDARY_PREFIX;
+ },
+ BOUNDARY_SUFFIX: function() {
+ return BOUNDARY_SUFFIX;
+ },
+ BUILTIN_PREFIX: function() {
+ return BUILTIN_PREFIX;
+ },
+ getBoundaryOriginFileType: function() {
+ return getBoundaryOriginFileType;
+ },
+ getConventionPathByType: function() {
+ return getConventionPathByType;
+ },
+ isBoundaryFile: function() {
+ return isBoundaryFile;
+ },
+ normalizeBoundaryFilename: function() {
+ return normalizeBoundaryFilename;
+ },
+ normalizeConventionFilePath: function() {
+ return normalizeConventionFilePath;
+ }
+});
+const BUILTIN_PREFIX = '__next_builtin__';
+function normalizeConventionFilePath(projectDir, conventionPath) {
+ const cwd = process.env.NEXT_RUNTIME === 'edge' ? '' : process.cwd();
+ const nextInternalPrefixRegex = /^(.*[\\/])?next[\\/]dist[\\/]client[\\/]components[\\/]builtin[\\/]/;
+ let relativePath = (conventionPath || '')// remove turbopack [project] prefix
+ .replace(/^\[project\][\\/]/, '')// remove the project root from the path
+ .replace(projectDir, '')// remove cwd prefix
+ .replace(cwd, '')// remove /(src/)?app/ dir prefix
+ .replace(/^([\\/])*(src[\\/])?app[\\/]/, '');
+ // If it's internal file only keep the filename, strip nextjs internal prefix
+ if (nextInternalPrefixRegex.test(relativePath)) {
+ relativePath = relativePath.replace(nextInternalPrefixRegex, '');
+ // Add a special prefix to let segment explorer know it's a built-in component
+ relativePath = `${BUILTIN_PREFIX}${relativePath}`;
+ }
+ return relativePath;
+}
+const BOUNDARY_SUFFIX = '@boundary';
+function normalizeBoundaryFilename(filename) {
+ return filename.replace(new RegExp(`^${BUILTIN_PREFIX}`), '').replace(new RegExp(`${BOUNDARY_SUFFIX}$`), '');
+}
+const BOUNDARY_PREFIX = 'boundary:';
+function isBoundaryFile(fileType) {
+ return fileType.startsWith(BOUNDARY_PREFIX);
+}
+function getBoundaryOriginFileType(fileType) {
+ return fileType.replace(BOUNDARY_PREFIX, '');
+}
+function getConventionPathByType(tree, dir, conventionType) {
+ const modules = tree[2];
+ const conventionPath = modules[conventionType] ? modules[conventionType][1] : undefined;
+ if (conventionPath) {
+ return normalizeConventionFilePath(dir, conventionPath);
+ }
+ return undefined;
+}
+
+//# sourceMappingURL=segment-explorer-path.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/server-inserted-html.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/server-inserted-html.js
new file mode 100644
index 0000000000000000000000000000000000000000..14ff4c2d23397efab6c7b65b5633b9531b38fef4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/server-inserted-html.js
@@ -0,0 +1,41 @@
+// Provider for the `useServerInsertedHTML` API to register callbacks to insert
+// elements into the HTML stream.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createServerInsertedHTML", {
+ enumerable: true,
+ get: function() {
+ return createServerInsertedHTML;
+ }
+});
+const _jsxruntime = require("react/jsx-runtime");
+const _react = /*#__PURE__*/ _interop_require_default(require("react"));
+const _serverinsertedhtmlsharedruntime = require("../../shared/lib/server-inserted-html.shared-runtime");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function createServerInsertedHTML() {
+ const serverInsertedHTMLCallbacks = [];
+ const addInsertedHtml = (handler)=>{
+ serverInsertedHTMLCallbacks.push(handler);
+ };
+ return {
+ ServerInsertedHTMLProvider ({ children }) {
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext.Provider, {
+ value: addInsertedHtml,
+ children: children
+ });
+ },
+ renderServerInsertedHTML () {
+ return serverInsertedHTMLCallbacks.map((callback, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {
+ children: callback()
+ }, '__next_server_inserted__' + index));
+ }
+ };
+}
+
+//# sourceMappingURL=server-inserted-html.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/strip-flight-headers.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/strip-flight-headers.js
new file mode 100644
index 0000000000000000000000000000000000000000..6ccc0c270fb79baab61f8e7a9c1dab82151903f4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/strip-flight-headers.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "stripFlightHeaders", {
+ enumerable: true,
+ get: function() {
+ return stripFlightHeaders;
+ }
+});
+const _approuterheaders = require("../../client/components/app-router-headers");
+function stripFlightHeaders(headers) {
+ for (const header of _approuterheaders.FLIGHT_HEADERS){
+ delete headers[header.toLowerCase()];
+ }
+}
+
+//# sourceMappingURL=strip-flight-headers.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/types.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/types.js
new file mode 100644
index 0000000000000000000000000000000000000000..785f9ed58ac77c59fa05ec633ea06c949f1b3f1e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/types.js
@@ -0,0 +1,66 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ HasLoadingBoundary: null,
+ flightRouterStateSchema: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ HasLoadingBoundary: function() {
+ return HasLoadingBoundary;
+ },
+ flightRouterStateSchema: function() {
+ return flightRouterStateSchema;
+ }
+});
+const _superstruct = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/superstruct"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const dynamicParamTypesSchema = _superstruct.default.enums([
+ 'c',
+ 'ci',
+ 'oc',
+ 'd',
+ 'di'
+]);
+const segmentSchema = _superstruct.default.union([
+ _superstruct.default.string(),
+ _superstruct.default.tuple([
+ _superstruct.default.string(),
+ _superstruct.default.string(),
+ dynamicParamTypesSchema
+ ])
+]);
+const flightRouterStateSchema = _superstruct.default.tuple([
+ segmentSchema,
+ _superstruct.default.record(_superstruct.default.string(), _superstruct.default.lazy(()=>flightRouterStateSchema)),
+ _superstruct.default.optional(_superstruct.default.nullable(_superstruct.default.string())),
+ _superstruct.default.optional(_superstruct.default.nullable(_superstruct.default.union([
+ _superstruct.default.literal('refetch'),
+ _superstruct.default.literal('refresh'),
+ _superstruct.default.literal('inside-shared-layout')
+ ]))),
+ _superstruct.default.optional(_superstruct.default.boolean())
+]);
+var HasLoadingBoundary = /*#__PURE__*/ function(HasLoadingBoundary) {
+ // There is a loading boundary in this particular segment
+ HasLoadingBoundary[HasLoadingBoundary["SegmentHasLoadingBoundary"] = 1] = "SegmentHasLoadingBoundary";
+ // There is a loading boundary somewhere in the subtree (but not in
+ // this segment)
+ HasLoadingBoundary[HasLoadingBoundary["SubtreeHasLoadingBoundary"] = 2] = "SubtreeHasLoadingBoundary";
+ // There is no loading boundary in this segment or any of its descendants
+ HasLoadingBoundary[HasLoadingBoundary["SubtreeHasNoLoadingBoundary"] = 3] = "SubtreeHasNoLoadingBoundary";
+ return HasLoadingBoundary;
+}({});
+
+//# sourceMappingURL=types.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/use-flight-response.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/use-flight-response.js
new file mode 100644
index 0000000000000000000000000000000000000000..1a0fc339661db51e5860d535469fde55d74a3986
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/use-flight-response.js
@@ -0,0 +1,152 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createInlinedDataReadableStream: null,
+ useFlightStream: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createInlinedDataReadableStream: function() {
+ return createInlinedDataReadableStream;
+ },
+ useFlightStream: function() {
+ return useFlightStream;
+ }
+});
+const _htmlescape = require("../htmlescape");
+const _workunitasyncstorageexternal = require("./work-unit-async-storage.external");
+const _invarianterror = require("../../shared/lib/invariant-error");
+const isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';
+const INLINE_FLIGHT_PAYLOAD_BOOTSTRAP = 0;
+const INLINE_FLIGHT_PAYLOAD_DATA = 1;
+const INLINE_FLIGHT_PAYLOAD_FORM_STATE = 2;
+const INLINE_FLIGHT_PAYLOAD_BINARY = 3;
+const flightResponses = new WeakMap();
+const encoder = new TextEncoder();
+function useFlightStream(flightStream, clientReferenceManifest, nonce) {
+ const response = flightResponses.get(flightStream);
+ if (response) {
+ return response;
+ }
+ // react-server-dom-webpack/client.edge must not be hoisted for require cache clearing to work correctly
+ const { createFromReadableStream } = // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-webpack/client');
+ const newResponse = createFromReadableStream(flightStream, {
+ serverConsumerManifest: {
+ moduleLoading: clientReferenceManifest.moduleLoading,
+ moduleMap: isEdgeRuntime ? clientReferenceManifest.edgeSSRModuleMapping : clientReferenceManifest.ssrModuleMapping,
+ serverModuleMap: null
+ },
+ nonce
+ });
+ // Edge pages are never prerendered so they necessarily cannot have a workUnitStore type
+ // that requires the nextTick behavior. This is why it is safe to access a node only API here
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
+ if (!workUnitStore) {
+ throw Object.defineProperty(new _invarianterror.InvariantError('Expected workUnitAsyncStorage to have a store.'), "__NEXT_ERROR_CODE", {
+ value: "E696",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (workUnitStore.type === 'prerender-client') {
+ const responseOnNextTick = new Promise((r)=>{
+ process.nextTick(()=>{
+ r(newResponse);
+ });
+ });
+ flightResponses.set(flightStream, responseOnNextTick);
+ return responseOnNextTick;
+ }
+ }
+ flightResponses.set(flightStream, newResponse);
+ return newResponse;
+}
+function createInlinedDataReadableStream(flightStream, nonce, formState) {
+ const startScriptTag = nonce ? ``));
+ } else {
+ controller.enqueue(encoder.encode(`${scriptStart}(self.__next_f=self.__next_f||[]).push(${(0, _htmlescape.htmlEscapeJsonString)(JSON.stringify([
+ INLINE_FLIGHT_PAYLOAD_BOOTSTRAP
+ ]))})`));
+ }
+}
+function writeFlightDataInstruction(controller, scriptStart, chunk) {
+ let htmlInlinedData;
+ if (typeof chunk === 'string') {
+ htmlInlinedData = (0, _htmlescape.htmlEscapeJsonString)(JSON.stringify([
+ INLINE_FLIGHT_PAYLOAD_DATA,
+ chunk
+ ]));
+ } else {
+ // The chunk cannot be embedded as a UTF-8 string in the script tag.
+ // Instead let's inline it in base64.
+ // Credits to Devon Govett (devongovett) for the technique.
+ // https://github.com/devongovett/rsc-html-stream
+ const base64 = btoa(String.fromCodePoint(...chunk));
+ htmlInlinedData = (0, _htmlescape.htmlEscapeJsonString)(JSON.stringify([
+ INLINE_FLIGHT_PAYLOAD_BINARY,
+ base64
+ ]));
+ }
+ controller.enqueue(encoder.encode(`${scriptStart}self.__next_f.push(${htmlInlinedData})`));
+}
+
+//# sourceMappingURL=use-flight-response.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js
new file mode 100644
index 0000000000000000000000000000000000000000..04df19ceb3b3e4028277ebf3c99b0df049001133
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js
@@ -0,0 +1,179 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "walkTreeWithFlightRouterState", {
+ enumerable: true,
+ get: function() {
+ return walkTreeWithFlightRouterState;
+ }
+});
+const _matchsegments = require("../../client/components/match-segments");
+const _getcssinlinedlinktags = require("./get-css-inlined-link-tags");
+const _getpreloadablefonts = require("./get-preloadable-fonts");
+const _createflightrouterstatefromloadertree = require("./create-flight-router-state-from-loader-tree");
+const _hasloadingcomponentintree = require("./has-loading-component-in-tree");
+const _segment = require("../../shared/lib/segment");
+const _createcomponenttree = require("./create-component-tree");
+const _getsegmentparam = require("./get-segment-param");
+async function walkTreeWithFlightRouterState({ loaderTreeToFilter, parentParams, flightRouterState, parentIsInsideSharedLayout, rscHead, injectedCSS, injectedJS, injectedFontPreloadTags, rootLayoutIncluded, getViewportReady, getMetadataReady, ctx, preloadCallbacks, StreamingMetadataOutlet }) {
+ const { renderOpts: { nextFontManifest, experimental }, query, isPrefetch, getDynamicParamFromSegment, parsedRequestHeaders } = ctx;
+ const [segment, parallelRoutes, modules] = loaderTreeToFilter;
+ const parallelRoutesKeys = Object.keys(parallelRoutes);
+ const { layout } = modules;
+ const isLayout = typeof layout !== 'undefined';
+ /**
+ * Checks if the current segment is a root layout.
+ */ const rootLayoutAtThisLevel = isLayout && !rootLayoutIncluded;
+ /**
+ * Checks if the current segment or any level above it has a root layout.
+ */ const rootLayoutIncludedAtThisLevelOrAbove = rootLayoutIncluded || rootLayoutAtThisLevel;
+ // Because this function walks to a deeper point in the tree to start rendering we have to track the dynamic parameters up to the point where rendering starts
+ const segmentParam = getDynamicParamFromSegment(segment);
+ const currentParams = // Handle null case where dynamic param is optional
+ segmentParam && segmentParam.value !== null ? {
+ ...parentParams,
+ [segmentParam.param]: segmentParam.value
+ } : parentParams;
+ const actualSegment = (0, _segment.addSearchParamsIfPageSegment)(segmentParam ? segmentParam.treeSegment : segment, query);
+ /**
+ * Decide if the current segment is where rendering has to start.
+ */ const renderComponentsOnThisLevel = // No further router state available
+ !flightRouterState || // Segment in router state does not match current segment
+ !(0, _matchsegments.matchSegment)(actualSegment, flightRouterState[0]) || // Last item in the tree
+ parallelRoutesKeys.length === 0 || // Explicit refresh
+ flightRouterState[3] === 'refetch';
+ // Pre-PPR, the `loading` component signals to the router how deep to render the component tree
+ // to ensure prefetches are quick and inexpensive. If there's no `loading` component anywhere in the tree being rendered,
+ // the prefetch will be short-circuited to avoid requesting a potentially very expensive subtree. If there's a `loading`
+ // somewhere in the tree, we'll recursively render the component tree up until we encounter that loading component, and then stop.
+ // Check if we're inside the "new" part of the navigation — inside the
+ // shared layout. In the case of a prefetch, this can be true even if the
+ // segment matches, because the client might send a matching segment to
+ // indicate that it already has the data in its cache. But in order to find
+ // the correct loading boundary, we still need to track where the shared
+ // layout begins.
+ //
+ // TODO: We should rethink the protocol for dynamic requests. It might not
+ // make sense for the client to send a FlightRouterState, since that type is
+ // overloaded with other concerns.
+ const isInsideSharedLayout = renderComponentsOnThisLevel || parentIsInsideSharedLayout || flightRouterState[3] === 'inside-shared-layout';
+ if (isInsideSharedLayout && !experimental.isRoutePPREnabled && // If PPR is disabled, and this is a request for the route tree, then we
+ // never render any components. Only send the router state.
+ (parsedRequestHeaders.isRouteTreePrefetchRequest || // Otherwise, check for the presence of a `loading` component.
+ isPrefetch && !Boolean(modules.loading) && !(0, _hasloadingcomponentintree.hasLoadingComponentInTree)(loaderTreeToFilter))) {
+ // Send only the router state.
+ // TODO: Even for a dynamic route, we should cache these responses,
+ // because they do not contain any render data (neither segment data nor
+ // the head). They can be made even more cacheable once we move the route
+ // params into a separate data structure.
+ const overriddenSegment = flightRouterState && // TODO: Why does canSegmentBeOverridden exist? Why don't we always just
+ // use `actualSegment`? Is it to avoid overwriting some state that's
+ // tracked by the client? Dig deeper to see if we can simplify this.
+ canSegmentBeOverridden(actualSegment, flightRouterState[0]) ? flightRouterState[0] : actualSegment;
+ const routerState = parsedRequestHeaders.isRouteTreePrefetchRequest ? (0, _createflightrouterstatefromloadertree.createRouteTreePrefetch)(loaderTreeToFilter, getDynamicParamFromSegment) : (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(loaderTreeToFilter, getDynamicParamFromSegment, query);
+ return [
+ [
+ overriddenSegment,
+ routerState,
+ null,
+ [
+ null,
+ null
+ ],
+ true
+ ]
+ ];
+ }
+ if (renderComponentsOnThisLevel) {
+ const overriddenSegment = flightRouterState && // TODO: Why does canSegmentBeOverridden exist? Why don't we always just
+ // use `actualSegment`? Is it to avoid overwriting some state that's
+ // tracked by the client? Dig deeper to see if we can simplify this.
+ canSegmentBeOverridden(actualSegment, flightRouterState[0]) ? flightRouterState[0] : actualSegment;
+ const routerState = (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(// Create router state using the slice of the loaderTree
+ loaderTreeToFilter, getDynamicParamFromSegment, query);
+ // Create component tree using the slice of the loaderTree
+ const seedData = await (0, _createcomponenttree.createComponentTree)(// This ensures flightRouterPath is valid and filters down the tree
+ {
+ ctx,
+ loaderTree: loaderTreeToFilter,
+ parentParams: currentParams,
+ injectedCSS,
+ injectedJS,
+ injectedFontPreloadTags,
+ // This is intentionally not "rootLayoutIncludedAtThisLevelOrAbove" as createComponentTree starts at the current level and does a check for "rootLayoutAtThisLevel" too.
+ rootLayoutIncluded,
+ getViewportReady,
+ getMetadataReady,
+ preloadCallbacks,
+ authInterrupts: experimental.authInterrupts,
+ StreamingMetadataOutlet
+ });
+ return [
+ [
+ overriddenSegment,
+ routerState,
+ seedData,
+ rscHead,
+ false
+ ]
+ ];
+ }
+ // If we are not rendering on this level we need to check if the current
+ // segment has a layout. If so, we need to track all the used CSS to make
+ // the result consistent.
+ const layoutPath = layout == null ? void 0 : layout[1];
+ const injectedCSSWithCurrentLayout = new Set(injectedCSS);
+ const injectedJSWithCurrentLayout = new Set(injectedJS);
+ const injectedFontPreloadTagsWithCurrentLayout = new Set(injectedFontPreloadTags);
+ if (layoutPath) {
+ (0, _getcssinlinedlinktags.getLinkAndScriptTags)(ctx.clientReferenceManifest, layoutPath, injectedCSSWithCurrentLayout, injectedJSWithCurrentLayout, true);
+ (0, _getpreloadablefonts.getPreloadableFonts)(nextFontManifest, layoutPath, injectedFontPreloadTagsWithCurrentLayout);
+ }
+ const paths = [];
+ // Walk through all parallel routes.
+ for (const parallelRouteKey of parallelRoutesKeys){
+ const parallelRoute = parallelRoutes[parallelRouteKey];
+ const subPaths = await walkTreeWithFlightRouterState({
+ ctx,
+ loaderTreeToFilter: parallelRoute,
+ parentParams: currentParams,
+ flightRouterState: flightRouterState && flightRouterState[1][parallelRouteKey],
+ parentIsInsideSharedLayout: isInsideSharedLayout,
+ rscHead,
+ injectedCSS: injectedCSSWithCurrentLayout,
+ injectedJS: injectedJSWithCurrentLayout,
+ injectedFontPreloadTags: injectedFontPreloadTagsWithCurrentLayout,
+ rootLayoutIncluded: rootLayoutIncludedAtThisLevelOrAbove,
+ getViewportReady,
+ getMetadataReady,
+ preloadCallbacks,
+ StreamingMetadataOutlet
+ });
+ for (const subPath of subPaths){
+ // we don't need to send over default routes in the flight data
+ // because they are always ignored by the client, unless it's a refetch
+ if (subPath[0] === _segment.DEFAULT_SEGMENT_KEY && flightRouterState && !!flightRouterState[1][parallelRouteKey][0] && flightRouterState[1][parallelRouteKey][3] !== 'refetch') {
+ continue;
+ }
+ paths.push([
+ actualSegment,
+ parallelRouteKey,
+ ...subPath
+ ]);
+ }
+ }
+ return paths;
+}
+/*
+ * This function is used to determine if an existing segment can be overridden
+ * by the incoming segment.
+ */ const canSegmentBeOverridden = (existingSegment, segment)=>{
+ var _getSegmentParam;
+ if (Array.isArray(existingSegment) || !Array.isArray(segment)) {
+ return false;
+ }
+ return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];
+};
+
+//# sourceMappingURL=walk-tree-with-flight-router-state.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js
new file mode 100644
index 0000000000000000000000000000000000000000..1ea9c61d574f2ed2753b0ed94887adaa6c1ecb92
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "workAsyncStorageInstance", {
+ enumerable: true,
+ get: function() {
+ return workAsyncStorageInstance;
+ }
+});
+const _asynclocalstorage = require("./async-local-storage");
+const workAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();
+
+//# sourceMappingURL=work-async-storage-instance.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..7ad983b033de0aa139c21e65fdd2692cdc45d0b7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage.external.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "workAsyncStorage", {
+ enumerable: true,
+ get: function() {
+ return _workasyncstorageinstance.workAsyncStorageInstance;
+ }
+});
+const _workasyncstorageinstance = require("./work-async-storage-instance");
+
+//# sourceMappingURL=work-async-storage.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js
new file mode 100644
index 0000000000000000000000000000000000000000..5fff687b96162fe3df7085ef2ad3443a2125564a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "workUnitAsyncStorageInstance", {
+ enumerable: true,
+ get: function() {
+ return workUnitAsyncStorageInstance;
+ }
+});
+const _asynclocalstorage = require("./async-local-storage");
+const workUnitAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();
+
+//# sourceMappingURL=work-unit-async-storage-instance.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..a73b814592fea66414d4205f413571a7819bc0e1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js
@@ -0,0 +1,135 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getDraftModeProviderForCacheScope: null,
+ getExpectedRequestStore: null,
+ getHmrRefreshHash: null,
+ getPrerenderResumeDataCache: null,
+ getRenderResumeDataCache: null,
+ throwForMissingRequestStore: null,
+ workUnitAsyncStorage: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getDraftModeProviderForCacheScope: function() {
+ return getDraftModeProviderForCacheScope;
+ },
+ getExpectedRequestStore: function() {
+ return getExpectedRequestStore;
+ },
+ getHmrRefreshHash: function() {
+ return getHmrRefreshHash;
+ },
+ getPrerenderResumeDataCache: function() {
+ return getPrerenderResumeDataCache;
+ },
+ getRenderResumeDataCache: function() {
+ return getRenderResumeDataCache;
+ },
+ throwForMissingRequestStore: function() {
+ return throwForMissingRequestStore;
+ },
+ workUnitAsyncStorage: function() {
+ return _workunitasyncstorageinstance.workUnitAsyncStorageInstance;
+ }
+});
+const _workunitasyncstorageinstance = require("./work-unit-async-storage-instance");
+const _approuterheaders = require("../../client/components/app-router-headers");
+function getExpectedRequestStore(callingExpression) {
+ const workUnitStore = _workunitasyncstorageinstance.workUnitAsyncStorageInstance.getStore();
+ if (!workUnitStore) {
+ throwForMissingRequestStore(callingExpression);
+ }
+ switch(workUnitStore.type){
+ case 'request':
+ return workUnitStore;
+ case 'prerender':
+ case 'prerender-client':
+ case 'prerender-ppr':
+ case 'prerender-legacy':
+ // This should not happen because we should have checked it already.
+ throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside a prerender. This is a bug in Next.js.`), "__NEXT_ERROR_CODE", {
+ value: "E401",
+ enumerable: false,
+ configurable: true
+ });
+ case 'cache':
+ throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside "use cache". Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/messages/next-request-in-use-cache`), "__NEXT_ERROR_CODE", {
+ value: "E37",
+ enumerable: false,
+ configurable: true
+ });
+ case 'unstable-cache':
+ throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside unstable_cache. Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`), "__NEXT_ERROR_CODE", {
+ value: "E69",
+ enumerable: false,
+ configurable: true
+ });
+ default:
+ const _exhaustiveCheck = workUnitStore;
+ return _exhaustiveCheck;
+ }
+}
+function throwForMissingRequestStore(callingExpression) {
+ throw Object.defineProperty(new Error(`\`${callingExpression}\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`), "__NEXT_ERROR_CODE", {
+ value: "E251",
+ enumerable: false,
+ configurable: true
+ });
+}
+function getPrerenderResumeDataCache(workUnitStore) {
+ if (workUnitStore.type === 'prerender' || // TODO eliminate fetch caching in client scope and stop exposing this data cache during SSR
+ workUnitStore.type === 'prerender-client' || workUnitStore.type === 'prerender-ppr') {
+ return workUnitStore.prerenderResumeDataCache;
+ }
+ return null;
+}
+function getRenderResumeDataCache(workUnitStore) {
+ switch(workUnitStore.type){
+ case 'request':
+ return workUnitStore.renderResumeDataCache;
+ case 'prerender':
+ case 'prerender-client':
+ if (workUnitStore.renderResumeDataCache) {
+ // If we are in a prerender, we might have a render resume data cache
+ // that is used to read from prefilled caches.
+ return workUnitStore.renderResumeDataCache;
+ }
+ // fallthrough
+ case 'prerender-ppr':
+ // Otherwise we return the mutable resume data cache here as an immutable
+ // version of the cache as it can also be used for reading.
+ return workUnitStore.prerenderResumeDataCache;
+ default:
+ return null;
+ }
+}
+function getHmrRefreshHash(workStore, workUnitStore) {
+ var _workUnitStore_cookies_get;
+ if (!workStore.dev) {
+ return undefined;
+ }
+ return workUnitStore.type === 'cache' || workUnitStore.type === 'prerender' ? workUnitStore.hmrRefreshHash : workUnitStore.type === 'request' ? (_workUnitStore_cookies_get = workUnitStore.cookies.get(_approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE)) == null ? void 0 : _workUnitStore_cookies_get.value : undefined;
+}
+function getDraftModeProviderForCacheScope(workStore, workUnitStore) {
+ if (workStore.isDraftMode) {
+ switch(workUnitStore.type){
+ case 'cache':
+ case 'unstable-cache':
+ case 'request':
+ return workUnitStore.draftMode;
+ default:
+ return undefined;
+ }
+ }
+ return undefined;
+}
+
+//# sourceMappingURL=work-unit-async-storage.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/draft-mode-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/draft-mode-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..cd282c7e22a83bbf87eadac4ddf4f2d7fb4b28fc
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/draft-mode-provider.js
@@ -0,0 +1,62 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DraftModeProvider", {
+ enumerable: true,
+ get: function() {
+ return DraftModeProvider;
+ }
+});
+const _apiutils = require("../api-utils");
+class DraftModeProvider {
+ constructor(previewProps, req, cookies, mutableCookies){
+ var _cookies_get;
+ // The logic for draftMode() is very similar to tryGetPreviewData()
+ // but Draft Mode does not have any data associated with it.
+ const isOnDemandRevalidate = previewProps && (0, _apiutils.checkIsOnDemandRevalidate)(req, previewProps).isOnDemandRevalidate;
+ const cookieValue = (_cookies_get = cookies.get(_apiutils.COOKIE_NAME_PRERENDER_BYPASS)) == null ? void 0 : _cookies_get.value;
+ this._isEnabled = Boolean(!isOnDemandRevalidate && cookieValue && previewProps && (cookieValue === previewProps.previewModeId || // In dev mode, the cookie can be actual hash value preview id but the preview props can still be `development-id`.
+ process.env.NODE_ENV !== 'production' && previewProps.previewModeId === 'development-id'));
+ this._previewModeId = previewProps == null ? void 0 : previewProps.previewModeId;
+ this._mutableCookies = mutableCookies;
+ }
+ get isEnabled() {
+ return this._isEnabled;
+ }
+ enable() {
+ if (!this._previewModeId) {
+ throw Object.defineProperty(new Error('Invariant: previewProps missing previewModeId this should never happen'), "__NEXT_ERROR_CODE", {
+ value: "E93",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ this._mutableCookies.set({
+ name: _apiutils.COOKIE_NAME_PRERENDER_BYPASS,
+ value: this._previewModeId,
+ httpOnly: true,
+ sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',
+ secure: process.env.NODE_ENV !== 'development',
+ path: '/'
+ });
+ this._isEnabled = true;
+ }
+ disable() {
+ // To delete a cookie, set `expires` to a date in the past:
+ // https://tools.ietf.org/html/rfc6265#section-4.1.1
+ // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.
+ this._mutableCookies.set({
+ name: _apiutils.COOKIE_NAME_PRERENDER_BYPASS,
+ value: '',
+ httpOnly: true,
+ sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',
+ secure: process.env.NODE_ENV !== 'development',
+ path: '/',
+ expires: new Date(0)
+ });
+ this._isEnabled = false;
+ }
+}
+
+//# sourceMappingURL=draft-mode-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/request-store.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/request-store.js
new file mode 100644
index 0000000000000000000000000000000000000000..123429bc8ef996f223ff7c08eb26077d7406d52c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/request-store.js
@@ -0,0 +1,143 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createRequestStoreForAPI: null,
+ createRequestStoreForRender: null,
+ synchronizeMutableCookies: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createRequestStoreForAPI: function() {
+ return createRequestStoreForAPI;
+ },
+ createRequestStoreForRender: function() {
+ return createRequestStoreForRender;
+ },
+ synchronizeMutableCookies: function() {
+ return synchronizeMutableCookies;
+ }
+});
+const _approuterheaders = require("../../client/components/app-router-headers");
+const _headers = require("../web/spec-extension/adapters/headers");
+const _requestcookies = require("../web/spec-extension/adapters/request-cookies");
+const _cookies = require("../web/spec-extension/cookies");
+const _draftmodeprovider = require("./draft-mode-provider");
+const _utils = require("../web/utils");
+function getHeaders(headers) {
+ const cleaned = _headers.HeadersAdapter.from(headers);
+ for (const header of _approuterheaders.FLIGHT_HEADERS){
+ cleaned.delete(header.toLowerCase());
+ }
+ return _headers.HeadersAdapter.seal(cleaned);
+}
+function getMutableCookies(headers, onUpdateCookies) {
+ const cookies = new _cookies.RequestCookies(_headers.HeadersAdapter.from(headers));
+ return _requestcookies.MutableRequestCookiesAdapter.wrap(cookies, onUpdateCookies);
+}
+/**
+ * If middleware set cookies in this request (indicated by `x-middleware-set-cookie`),
+ * then merge those into the existing cookie object, so that when `cookies()` is accessed
+ * it's able to read the newly set cookies.
+ */ function mergeMiddlewareCookies(req, existingCookies) {
+ if ('x-middleware-set-cookie' in req.headers && typeof req.headers['x-middleware-set-cookie'] === 'string') {
+ const setCookieValue = req.headers['x-middleware-set-cookie'];
+ const responseHeaders = new Headers();
+ for (const cookie of (0, _utils.splitCookiesString)(setCookieValue)){
+ responseHeaders.append('set-cookie', cookie);
+ }
+ const responseCookies = new _cookies.ResponseCookies(responseHeaders);
+ // Transfer cookies from ResponseCookies to RequestCookies
+ for (const cookie of responseCookies.getAll()){
+ existingCookies.set(cookie);
+ }
+ }
+}
+function createRequestStoreForRender(req, res, url, rootParams, implicitTags, onUpdateCookies, previewProps, isHmrRefresh, serverComponentsHmrCache, renderResumeDataCache) {
+ return createRequestStoreImpl(// Pages start in render phase by default
+ 'render', req, res, url, rootParams, implicitTags, onUpdateCookies, renderResumeDataCache, previewProps, isHmrRefresh, serverComponentsHmrCache);
+}
+function createRequestStoreForAPI(req, url, implicitTags, onUpdateCookies, previewProps) {
+ return createRequestStoreImpl(// API routes start in action phase by default
+ 'action', req, undefined, url, {}, implicitTags, onUpdateCookies, undefined, previewProps, false, undefined);
+}
+function createRequestStoreImpl(phase, req, res, url, rootParams, implicitTags, onUpdateCookies, renderResumeDataCache, previewProps, isHmrRefresh, serverComponentsHmrCache) {
+ function defaultOnUpdateCookies(cookies) {
+ if (res) {
+ res.setHeader('Set-Cookie', cookies);
+ }
+ }
+ const cache = {};
+ return {
+ type: 'request',
+ phase,
+ implicitTags,
+ // Rather than just using the whole `url` here, we pull the parts we want
+ // to ensure we don't use parts of the URL that we shouldn't. This also
+ // lets us avoid requiring an empty string for `search` in the type.
+ url: {
+ pathname: url.pathname,
+ search: url.search ?? ''
+ },
+ rootParams,
+ get headers () {
+ if (!cache.headers) {
+ // Seal the headers object that'll freeze out any methods that could
+ // mutate the underlying data.
+ cache.headers = getHeaders(req.headers);
+ }
+ return cache.headers;
+ },
+ get cookies () {
+ if (!cache.cookies) {
+ // if middleware is setting cookie(s), then include those in
+ // the initial cached cookies so they can be read in render
+ const requestCookies = new _cookies.RequestCookies(_headers.HeadersAdapter.from(req.headers));
+ mergeMiddlewareCookies(req, requestCookies);
+ // Seal the cookies object that'll freeze out any methods that could
+ // mutate the underlying data.
+ cache.cookies = _requestcookies.RequestCookiesAdapter.seal(requestCookies);
+ }
+ return cache.cookies;
+ },
+ set cookies (value){
+ cache.cookies = value;
+ },
+ get mutableCookies () {
+ if (!cache.mutableCookies) {
+ const mutableCookies = getMutableCookies(req.headers, onUpdateCookies || (res ? defaultOnUpdateCookies : undefined));
+ mergeMiddlewareCookies(req, mutableCookies);
+ cache.mutableCookies = mutableCookies;
+ }
+ return cache.mutableCookies;
+ },
+ get userspaceMutableCookies () {
+ if (!cache.userspaceMutableCookies) {
+ const userspaceMutableCookies = (0, _requestcookies.wrapWithMutableAccessCheck)(this.mutableCookies);
+ cache.userspaceMutableCookies = userspaceMutableCookies;
+ }
+ return cache.userspaceMutableCookies;
+ },
+ get draftMode () {
+ if (!cache.draftMode) {
+ cache.draftMode = new _draftmodeprovider.DraftModeProvider(previewProps, req, this.cookies, this.mutableCookies);
+ }
+ return cache.draftMode;
+ },
+ renderResumeDataCache: renderResumeDataCache ?? null,
+ isHmrRefresh,
+ serverComponentsHmrCache: serverComponentsHmrCache || globalThis.__serverComponentsHmrCache
+ };
+}
+function synchronizeMutableCookies(store) {
+ // TODO: does this need to update headers as well?
+ store.cookies = _requestcookies.RequestCookiesAdapter.seal((0, _requestcookies.responseCookiesToRequestCookies)(store.mutableCookies));
+}
+
+//# sourceMappingURL=request-store.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/work-store.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/work-store.js
new file mode 100644
index 0000000000000000000000000000000000000000..96201c77c2aec4a1cbdd929b007935ed10f9d279
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/async-storage/work-store.js
@@ -0,0 +1,89 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createWorkStore", {
+ enumerable: true,
+ get: function() {
+ return createWorkStore;
+ }
+});
+const _aftercontext = require("../after/after-context");
+const _apppaths = require("../../shared/lib/router/utils/app-paths");
+const _lazyresult = require("../lib/lazy-result");
+const _handlers = require("../use-cache/handlers");
+const _asynclocalstorage = require("../app-render/async-local-storage");
+function createWorkStore({ page, fallbackRouteParams, renderOpts, requestEndedState, isPrefetchRequest, buildId, previouslyRevalidatedTags }) {
+ /**
+ * Rules of Static & Dynamic HTML:
+ *
+ * 1.) We must generate static HTML unless the caller explicitly opts
+ * in to dynamic HTML support.
+ *
+ * 2.) If dynamic HTML support is requested, we must honor that request
+ * or throw an error. It is the sole responsibility of the caller to
+ * ensure they aren't e.g. requesting dynamic HTML for an AMP page.
+ *
+ * 3.) If the request is in draft mode, we must generate dynamic HTML.
+ *
+ * 4.) If the request is a server action, we must generate dynamic HTML.
+ *
+ * These rules help ensure that other existing features like request caching,
+ * coalescing, and ISR continue working as intended.
+ */ const isStaticGeneration = !renderOpts.shouldWaitOnAllReady && !renderOpts.supportsDynamicResponse && !renderOpts.isDraftMode && !renderOpts.isPossibleServerAction;
+ const store = {
+ isStaticGeneration,
+ page,
+ fallbackRouteParams,
+ route: (0, _apppaths.normalizeAppPath)(page),
+ incrementalCache: // we fallback to a global incremental cache for edge-runtime locally
+ // so that it can access the fs cache without mocks
+ renderOpts.incrementalCache || globalThis.__incrementalCache,
+ cacheLifeProfiles: renderOpts.cacheLifeProfiles,
+ isRevalidate: renderOpts.isRevalidate,
+ isBuildTimePrerendering: renderOpts.nextExport,
+ hasReadableErrorStacks: renderOpts.hasReadableErrorStacks,
+ fetchCache: renderOpts.fetchCache,
+ isOnDemandRevalidate: renderOpts.isOnDemandRevalidate,
+ isDraftMode: renderOpts.isDraftMode,
+ requestEndedState,
+ isPrefetchRequest,
+ buildId,
+ reactLoadableManifest: (renderOpts == null ? void 0 : renderOpts.reactLoadableManifest) || {},
+ assetPrefix: (renderOpts == null ? void 0 : renderOpts.assetPrefix) || '',
+ afterContext: createAfterContext(renderOpts),
+ dynamicIOEnabled: renderOpts.experimental.dynamicIO,
+ dev: renderOpts.dev ?? false,
+ previouslyRevalidatedTags,
+ refreshTagsByCacheKind: createRefreshTagsByCacheKind(),
+ runInCleanSnapshot: (0, _asynclocalstorage.createSnapshot)()
+ };
+ // TODO: remove this when we resolve accessing the store outside the execution context
+ renderOpts.store = store;
+ return store;
+}
+function createAfterContext(renderOpts) {
+ const { waitUntil, onClose, onAfterTaskError } = renderOpts;
+ return new _aftercontext.AfterContext({
+ waitUntil,
+ onClose,
+ onTaskError: onAfterTaskError
+ });
+}
+/**
+ * Creates a map with lazy results that refresh tags for the respective cache
+ * kind when they're awaited for the first time.
+ */ function createRefreshTagsByCacheKind() {
+ const refreshTagsByCacheKind = new Map();
+ const cacheHandlers = (0, _handlers.getCacheHandlerEntries)();
+ if (cacheHandlers) {
+ for (const [kind, cacheHandler] of cacheHandlers){
+ if ('refreshTags' in cacheHandler) {
+ refreshTagsByCacheKind.set(kind, (0, _lazyresult.createLazyResult)(async ()=>cacheHandler.refreshTags()));
+ }
+ }
+ }
+ return refreshTagsByCacheKind;
+}
+
+//# sourceMappingURL=work-store.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/helpers.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/helpers.js
new file mode 100644
index 0000000000000000000000000000000000000000..87f4ae5a673adaaef8683195cb1c6738a1131613
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/helpers.js
@@ -0,0 +1,36 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isNodeNextRequest: null,
+ isNodeNextResponse: null,
+ isWebNextRequest: null,
+ isWebNextResponse: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isNodeNextRequest: function() {
+ return isNodeNextRequest;
+ },
+ isNodeNextResponse: function() {
+ return isNodeNextResponse;
+ },
+ isWebNextRequest: function() {
+ return isWebNextRequest;
+ },
+ isWebNextResponse: function() {
+ return isWebNextResponse;
+ }
+});
+const isWebNextRequest = (req)=>process.env.NEXT_RUNTIME === 'edge';
+const isWebNextResponse = (res)=>process.env.NEXT_RUNTIME === 'edge';
+const isNodeNextRequest = (req)=>process.env.NEXT_RUNTIME !== 'edge';
+const isNodeNextResponse = (res)=>process.env.NEXT_RUNTIME !== 'edge';
+
+//# sourceMappingURL=helpers.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/index.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..73db7968e8d9b06749f7209084cdd8e4ea7f32f0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/index.js
@@ -0,0 +1,54 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ BaseNextRequest: null,
+ BaseNextResponse: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ BaseNextRequest: function() {
+ return BaseNextRequest;
+ },
+ BaseNextResponse: function() {
+ return BaseNextResponse;
+ }
+});
+const _redirectstatuscode = require("../../client/components/redirect-status-code");
+const _getcookieparser = require("../api-utils/get-cookie-parser");
+class BaseNextRequest {
+ constructor(method, url, body){
+ this.method = method;
+ this.url = url;
+ this.body = body;
+ }
+ // Utils implemented using the abstract methods above
+ get cookies() {
+ if (this._cookies) return this._cookies;
+ return this._cookies = (0, _getcookieparser.getCookieParser)(this.headers)();
+ }
+}
+class BaseNextResponse {
+ constructor(destination){
+ this.destination = destination;
+ }
+ // Utils implemented using the abstract methods above
+ redirect(destination, statusCode) {
+ this.setHeader('Location', destination);
+ this.statusCode = statusCode;
+ // Since IE11 doesn't support the 308 header add backwards
+ // compatibility using refresh header
+ if (statusCode === _redirectstatuscode.RedirectStatusCode.PermanentRedirect) {
+ this.setHeader('Refresh', `0;url=${destination}`);
+ }
+ return this;
+ }
+}
+
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/node.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/node.js
new file mode 100644
index 0000000000000000000000000000000000000000..9aa867ff593fcd8b4d168a13205151be2fcdca23
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-http/node.js
@@ -0,0 +1,147 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ NodeNextRequest: null,
+ NodeNextResponse: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ NodeNextRequest: function() {
+ return NodeNextRequest;
+ },
+ NodeNextResponse: function() {
+ return NodeNextResponse;
+ }
+});
+const _apiutils = require("../api-utils");
+const _requestmeta = require("../request-meta");
+const _index = require("./index");
+let prop;
+class NodeNextRequest extends _index.BaseNextRequest {
+ static #_ = prop = _NEXT_REQUEST_META = _requestmeta.NEXT_REQUEST_META;
+ constructor(_req){
+ var _this__req;
+ super(_req.method.toUpperCase(), _req.url, _req), this._req = _req, this.headers = this._req.headers, this.fetchMetrics = (_this__req = this._req) == null ? void 0 : _this__req.fetchMetrics, this[_NEXT_REQUEST_META] = this._req[_requestmeta.NEXT_REQUEST_META] || {}, this.streaming = false;
+ }
+ get originalRequest() {
+ // Need to mimic these changes to the original req object for places where we use it:
+ // render.tsx, api/ssg requests
+ this._req[_requestmeta.NEXT_REQUEST_META] = this[_requestmeta.NEXT_REQUEST_META];
+ this._req.url = this.url;
+ this._req.cookies = this.cookies;
+ return this._req;
+ }
+ set originalRequest(value) {
+ this._req = value;
+ }
+ /**
+ * Returns the request body as a Web Readable Stream. The body here can only
+ * be read once as the body will start flowing as soon as the data handler
+ * is attached.
+ *
+ * @internal
+ */ stream() {
+ if (this.streaming) {
+ throw Object.defineProperty(new Error('Invariant: NodeNextRequest.stream() can only be called once'), "__NEXT_ERROR_CODE", {
+ value: "E467",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ this.streaming = true;
+ return new ReadableStream({
+ start: (controller)=>{
+ this._req.on('data', (chunk)=>{
+ controller.enqueue(new Uint8Array(chunk));
+ });
+ this._req.on('end', ()=>{
+ controller.close();
+ });
+ this._req.on('error', (err)=>{
+ controller.error(err);
+ });
+ }
+ });
+ }
+}
+class NodeNextResponse extends _index.BaseNextResponse {
+ get originalResponse() {
+ if (_apiutils.SYMBOL_CLEARED_COOKIES in this) {
+ this._res[_apiutils.SYMBOL_CLEARED_COOKIES] = this[_apiutils.SYMBOL_CLEARED_COOKIES];
+ }
+ return this._res;
+ }
+ constructor(_res){
+ super(_res), this._res = _res, this.textBody = undefined;
+ }
+ get sent() {
+ return this._res.finished || this._res.headersSent;
+ }
+ get statusCode() {
+ return this._res.statusCode;
+ }
+ set statusCode(value) {
+ this._res.statusCode = value;
+ }
+ get statusMessage() {
+ return this._res.statusMessage;
+ }
+ set statusMessage(value) {
+ this._res.statusMessage = value;
+ }
+ setHeader(name, value) {
+ this._res.setHeader(name, value);
+ return this;
+ }
+ removeHeader(name) {
+ this._res.removeHeader(name);
+ return this;
+ }
+ getHeaderValues(name) {
+ const values = this._res.getHeader(name);
+ if (values === undefined) return undefined;
+ return (Array.isArray(values) ? values : [
+ values
+ ]).map((value)=>value.toString());
+ }
+ hasHeader(name) {
+ return this._res.hasHeader(name);
+ }
+ getHeader(name) {
+ const values = this.getHeaderValues(name);
+ return Array.isArray(values) ? values.join(',') : undefined;
+ }
+ getHeaders() {
+ return this._res.getHeaders();
+ }
+ appendHeader(name, value) {
+ const currentValues = this.getHeaderValues(name) ?? [];
+ if (!currentValues.includes(value)) {
+ this._res.setHeader(name, [
+ ...currentValues,
+ value
+ ]);
+ }
+ return this;
+ }
+ body(value) {
+ this.textBody = value;
+ return this;
+ }
+ send() {
+ this._res.end(this.textBody);
+ }
+ onClose(callback) {
+ this.originalResponse.on('close', callback);
+ }
+}
+var _NEXT_REQUEST_META;
+
+//# sourceMappingURL=node.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..67f85a588d21763c72bcf19d7fc4787e00b25120
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/base-server.js
@@ -0,0 +1,2739 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ WrappedBuildError: null,
+ default: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ WrappedBuildError: function() {
+ return WrappedBuildError;
+ },
+ default: function() {
+ return Server;
+ }
+});
+const _fallbackparams = require("./request/fallback-params");
+const _responsecache = require("./response-cache");
+const _utils = require("../shared/lib/utils");
+const _url = require("url");
+const _formathostname = require("./lib/format-hostname");
+const _redirectstatus = require("../lib/redirect-status");
+const _isedgeruntime = require("../lib/is-edge-runtime");
+const _constants = require("../shared/lib/constants");
+const _utils1 = require("../shared/lib/router/utils");
+const _apiutils = require("./api-utils");
+const _runtimeconfigexternal = require("../shared/lib/runtime-config.external");
+const _cachecontrol = require("./lib/cache-control");
+const _utils2 = require("./utils");
+const _isbot = require("../shared/lib/router/utils/is-bot");
+const _renderresult = /*#__PURE__*/ _interop_require_default(require("./render-result"));
+const _removetrailingslash = require("../shared/lib/router/utils/remove-trailing-slash");
+const _denormalizepagepath = require("../shared/lib/page-path/denormalize-page-path");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
+const _serverutils = require("./server-utils");
+const _iserror = /*#__PURE__*/ _interop_require_wildcard(require("../lib/is-error"));
+const _requestmeta = require("./request-meta");
+const _removepathprefix = require("../shared/lib/router/utils/remove-path-prefix");
+const _apppaths = require("../shared/lib/router/utils/app-paths");
+const _gethostname = require("../shared/lib/get-hostname");
+const _parseurl = require("../shared/lib/router/utils/parse-url");
+const _getnextpathnameinfo = require("../shared/lib/router/utils/get-next-pathname-info");
+const _approuterheaders = require("../client/components/app-router-headers");
+const _localeroutenormalizer = require("./normalizers/locale-route-normalizer");
+const _defaultroutematchermanager = require("./route-matcher-managers/default-route-matcher-manager");
+const _apppageroutematcherprovider = require("./route-matcher-providers/app-page-route-matcher-provider");
+const _approuteroutematcherprovider = require("./route-matcher-providers/app-route-route-matcher-provider");
+const _pagesapiroutematcherprovider = require("./route-matcher-providers/pages-api-route-matcher-provider");
+const _pagesroutematcherprovider = require("./route-matcher-providers/pages-route-matcher-provider");
+const _servermanifestloader = require("./route-matcher-providers/helpers/manifest-loaders/server-manifest-loader");
+const _tracer = require("./lib/trace/tracer");
+const _constants1 = require("./lib/trace/constants");
+const _i18nprovider = require("./lib/i18n-provider");
+const _sendresponse = require("./send-response");
+const _utils3 = require("./web/utils");
+const _constants2 = require("../lib/constants");
+const _normalizelocalepath = require("../shared/lib/i18n/normalize-locale-path");
+const _matchnextdatapathname = require("./lib/match-next-data-pathname");
+const _getroutefromassetpath = /*#__PURE__*/ _interop_require_default(require("../shared/lib/router/utils/get-route-from-asset-path"));
+const _decodepathparams = require("./lib/router-utils/decode-path-params");
+const _rsc = require("./normalizers/request/rsc");
+const _stripflightheaders = require("./app-render/strip-flight-headers");
+const _checks = require("./route-modules/checks");
+const _prefetchrsc = require("./normalizers/request/prefetch-rsc");
+const _nextdata = require("./normalizers/request/next-data");
+const _serveractionrequestmeta = require("./lib/server-action-request-meta");
+const _interceptionroutes = require("../shared/lib/router/utils/interception-routes");
+const _toroute = require("./lib/to-route");
+const _helpers = require("./base-http/helpers");
+const _patchsetheader = require("./lib/patch-set-header");
+const _ppr = require("./lib/experimental/ppr");
+const _builtinrequestcontext = require("./after/builtin-request-context");
+const _encodedtags = require("./stream-utils/encoded-tags");
+const _adapter = require("./web/adapter");
+const _utils4 = require("./instrumentation/utils");
+const _routekind = require("./route-kind");
+const _fallback = require("../lib/fallback");
+const _utils5 = require("./response-cache/utils");
+const _segmentprefixrsc = require("./normalizers/request/segment-prefix-rsc");
+const _streamingmetadata = require("./lib/streaming-metadata");
+const _invarianterror = require("../shared/lib/invariant-error");
+const _decodequerypathparameter = require("./lib/decode-query-path-parameter");
+const _nofallbackerrorexternal = require("../shared/lib/no-fallback-error.external");
+const _handlers = require("./use-cache/handlers");
+const _fixmojibake = require("./lib/fix-mojibake");
+const _cachebustingsearchparam = require("../shared/lib/router/utils/cache-busting-search-param");
+const _redirectstatuscode = require("../client/components/redirect-status-code");
+const _setcachebustingsearchparam = require("../client/components/router-reducer/set-cache-busting-search-param");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+class WrappedBuildError extends Error {
+ constructor(innerError){
+ super();
+ this.innerError = innerError;
+ }
+}
+class Server {
+ getServerComponentsHmrCache() {
+ return this.nextConfig.experimental.serverComponentsHmrCache ? globalThis.__serverComponentsHmrCache : undefined;
+ }
+ /**
+ * This is used to persist cache scopes across
+ * prefetch -> full route requests for dynamic IO
+ * it's only fully used in dev
+ */ constructor(options){
+ var _this_nextConfig_i18n, _this_nextConfig_experimental_amp, _this_nextConfig_i18n1;
+ this.handleRSCRequest = (req, _res, parsedUrl)=>{
+ var _this_normalizers_segmentPrefetchRSC, _this_normalizers_prefetchRSC, _this_normalizers_rsc;
+ if (!parsedUrl.pathname) return false;
+ if ((_this_normalizers_segmentPrefetchRSC = this.normalizers.segmentPrefetchRSC) == null ? void 0 : _this_normalizers_segmentPrefetchRSC.match(parsedUrl.pathname)) {
+ const result = this.normalizers.segmentPrefetchRSC.extract(parsedUrl.pathname);
+ if (!result) return false;
+ const { originalPathname, segmentPath } = result;
+ parsedUrl.pathname = originalPathname;
+ // Mark the request as a router prefetch request.
+ req.headers[_approuterheaders.RSC_HEADER.toLowerCase()] = '1';
+ req.headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER.toLowerCase()] = '1';
+ req.headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER.toLowerCase()] = segmentPath;
+ (0, _requestmeta.addRequestMeta)(req, 'isRSCRequest', true);
+ (0, _requestmeta.addRequestMeta)(req, 'isPrefetchRSCRequest', true);
+ (0, _requestmeta.addRequestMeta)(req, 'segmentPrefetchRSCRequest', segmentPath);
+ } else if ((_this_normalizers_prefetchRSC = this.normalizers.prefetchRSC) == null ? void 0 : _this_normalizers_prefetchRSC.match(parsedUrl.pathname)) {
+ parsedUrl.pathname = this.normalizers.prefetchRSC.normalize(parsedUrl.pathname, true);
+ // Mark the request as a router prefetch request.
+ req.headers[_approuterheaders.RSC_HEADER.toLowerCase()] = '1';
+ req.headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER.toLowerCase()] = '1';
+ (0, _requestmeta.addRequestMeta)(req, 'isRSCRequest', true);
+ (0, _requestmeta.addRequestMeta)(req, 'isPrefetchRSCRequest', true);
+ } else if ((_this_normalizers_rsc = this.normalizers.rsc) == null ? void 0 : _this_normalizers_rsc.match(parsedUrl.pathname)) {
+ parsedUrl.pathname = this.normalizers.rsc.normalize(parsedUrl.pathname, true);
+ // Mark the request as a RSC request.
+ req.headers[_approuterheaders.RSC_HEADER.toLowerCase()] = '1';
+ (0, _requestmeta.addRequestMeta)(req, 'isRSCRequest', true);
+ } else if (req.headers['x-now-route-matches']) {
+ // If we didn't match, return with the flight headers stripped. If in
+ // minimal mode we didn't match based on the path, this can't be a RSC
+ // request. This is because Vercel only sends this header during
+ // revalidation requests and we want the cache to instead depend on the
+ // request path for flight information.
+ (0, _stripflightheaders.stripFlightHeaders)(req.headers);
+ return false;
+ } else if (req.headers[_approuterheaders.RSC_HEADER.toLowerCase()] === '1') {
+ (0, _requestmeta.addRequestMeta)(req, 'isRSCRequest', true);
+ if (req.headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER.toLowerCase()] === '1') {
+ (0, _requestmeta.addRequestMeta)(req, 'isPrefetchRSCRequest', true);
+ const segmentPrefetchRSCRequest = req.headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER.toLowerCase()];
+ if (typeof segmentPrefetchRSCRequest === 'string') {
+ (0, _requestmeta.addRequestMeta)(req, 'segmentPrefetchRSCRequest', segmentPrefetchRSCRequest);
+ }
+ }
+ } else {
+ // Otherwise just return without doing anything.
+ return false;
+ }
+ if (req.url) {
+ const parsed = (0, _url.parse)(req.url);
+ parsed.pathname = parsedUrl.pathname;
+ req.url = (0, _url.format)(parsed);
+ }
+ return false;
+ };
+ this.handleNextDataRequest = async (req, res, parsedUrl)=>{
+ const middleware = await this.getMiddleware();
+ const params = (0, _matchnextdatapathname.matchNextDataPathname)(parsedUrl.pathname);
+ // ignore for non-next data URLs
+ if (!params || !params.path) {
+ return false;
+ }
+ if (params.path[0] !== this.buildId) {
+ // Ignore if its a middleware request when we aren't on edge.
+ if (process.env.NEXT_RUNTIME !== 'edge' && (0, _requestmeta.getRequestMeta)(req, 'middlewareInvoke')) {
+ return false;
+ }
+ // Make sure to 404 if the buildId isn't correct
+ await this.render404(req, res, parsedUrl);
+ return true;
+ }
+ // remove buildId from URL
+ params.path.shift();
+ const lastParam = params.path[params.path.length - 1];
+ // show 404 if it doesn't end with .json
+ if (typeof lastParam !== 'string' || !lastParam.endsWith('.json')) {
+ await this.render404(req, res, parsedUrl);
+ return true;
+ }
+ // re-create page's pathname
+ let pathname = `/${params.path.join('/')}`;
+ pathname = (0, _getroutefromassetpath.default)(pathname, '.json');
+ // ensure trailing slash is normalized per config
+ if (middleware) {
+ if (this.nextConfig.trailingSlash && !pathname.endsWith('/')) {
+ pathname += '/';
+ }
+ if (!this.nextConfig.trailingSlash && pathname.length > 1 && pathname.endsWith('/')) {
+ pathname = pathname.substring(0, pathname.length - 1);
+ }
+ }
+ if (this.i18nProvider) {
+ var _req_headers_host;
+ // Remove the port from the hostname if present.
+ const hostname = req == null ? void 0 : (_req_headers_host = req.headers.host) == null ? void 0 : _req_headers_host.split(':', 1)[0].toLowerCase();
+ const domainLocale = this.i18nProvider.detectDomainLocale(hostname);
+ const defaultLocale = (domainLocale == null ? void 0 : domainLocale.defaultLocale) ?? this.i18nProvider.config.defaultLocale;
+ const localePathResult = this.i18nProvider.analyze(pathname);
+ // If the locale is detected from the path, we need to remove it
+ // from the pathname.
+ if (localePathResult.detectedLocale) {
+ pathname = localePathResult.pathname;
+ }
+ // Update the query with the detected locale and default locale.
+ (0, _requestmeta.addRequestMeta)(req, 'locale', localePathResult.detectedLocale);
+ (0, _requestmeta.addRequestMeta)(req, 'defaultLocale', defaultLocale);
+ // If the locale is not detected from the path, we need to mark that
+ // it was not inferred from default.
+ if (!localePathResult.detectedLocale) {
+ (0, _requestmeta.removeRequestMeta)(req, 'localeInferredFromDefault');
+ }
+ // If no locale was detected and we don't have middleware, we need
+ // to render a 404 page.
+ if (!localePathResult.detectedLocale && !middleware) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', defaultLocale);
+ await this.render404(req, res, parsedUrl);
+ return true;
+ }
+ }
+ parsedUrl.pathname = pathname;
+ (0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
+ return false;
+ };
+ this.handleNextImageRequest = ()=>false;
+ this.handleCatchallRenderRequest = ()=>false;
+ this.handleCatchallMiddlewareRequest = ()=>false;
+ /**
+ * Normalizes a pathname without attaching any metadata from any matched
+ * normalizer.
+ *
+ * @param pathname the pathname to normalize
+ * @returns the normalized pathname
+ */ this.normalize = (pathname)=>{
+ const normalizers = [];
+ if (this.normalizers.data) {
+ normalizers.push(this.normalizers.data);
+ }
+ // We have to put the segment prefetch normalizer before the RSC normalizer
+ // because the RSC normalizer will match the prefetch RSC routes too.
+ if (this.normalizers.segmentPrefetchRSC) {
+ normalizers.push(this.normalizers.segmentPrefetchRSC);
+ }
+ // We have to put the prefetch normalizer before the RSC normalizer
+ // because the RSC normalizer will match the prefetch RSC routes too.
+ if (this.normalizers.prefetchRSC) {
+ normalizers.push(this.normalizers.prefetchRSC);
+ }
+ if (this.normalizers.rsc) {
+ normalizers.push(this.normalizers.rsc);
+ }
+ for (const normalizer of normalizers){
+ if (!normalizer.match(pathname)) continue;
+ return normalizer.normalize(pathname, true);
+ }
+ return pathname;
+ };
+ this.normalizeAndAttachMetadata = async (req, res, url)=>{
+ let finished = await this.handleNextImageRequest(req, res, url);
+ if (finished) return true;
+ if (this.enabledDirectories.pages) {
+ finished = await this.handleNextDataRequest(req, res, url);
+ if (finished) return true;
+ }
+ return false;
+ };
+ this.prepared = false;
+ this.preparedPromise = null;
+ this.customErrorNo404Warn = (0, _utils.execOnce)(()=>{
+ _log.warn(`You have added a custom /_error page without a custom /404 page. This prevents the 404 page from being auto statically optimized.\nSee here for info: https://nextjs.org/docs/messages/custom-error-no-custom-404`);
+ });
+ const { dir = '.', quiet = false, conf, dev = false, minimalMode = false, hostname, port, experimentalTestProxy } = options;
+ this.experimentalTestProxy = experimentalTestProxy;
+ this.serverOptions = options;
+ this.dir = process.env.NEXT_RUNTIME === 'edge' ? dir : require('path').resolve(dir);
+ this.quiet = quiet;
+ this.loadEnvConfig({
+ dev
+ });
+ // TODO: should conf be normalized to prevent missing
+ // values from causing issues as this can be user provided
+ this.nextConfig = conf;
+ this.hostname = hostname;
+ if (this.hostname) {
+ // we format the hostname so that it can be fetched
+ this.fetchHostname = (0, _formathostname.formatHostname)(this.hostname);
+ }
+ this.port = port;
+ this.distDir = process.env.NEXT_RUNTIME === 'edge' ? this.nextConfig.distDir : require('path').join(this.dir, this.nextConfig.distDir);
+ this.publicDir = this.getPublicDir();
+ this.hasStaticDir = !minimalMode && this.getHasStaticDir();
+ this.i18nProvider = ((_this_nextConfig_i18n = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n.locales) ? new _i18nprovider.I18NProvider(this.nextConfig.i18n) : undefined;
+ // Configure the locale normalizer, it's used for routes inside `pages/`.
+ this.localeNormalizer = this.i18nProvider ? new _localeroutenormalizer.LocaleRouteNormalizer(this.i18nProvider) : undefined;
+ // Only serverRuntimeConfig needs the default
+ // publicRuntimeConfig gets it's default in client/index.js
+ const { serverRuntimeConfig = {}, publicRuntimeConfig, assetPrefix, generateEtags } = this.nextConfig;
+ this.buildId = this.getBuildId();
+ // this is a hack to avoid Webpack knowing this is equal to this.minimalMode
+ // because we replace this.minimalMode to true in production bundles.
+ const minimalModeKey = 'minimalMode';
+ this[minimalModeKey] = minimalMode || !!process.env.NEXT_PRIVATE_MINIMAL_MODE;
+ this.enabledDirectories = this.getEnabledDirectories(dev);
+ this.isAppPPREnabled = this.enabledDirectories.app && (0, _ppr.checkIsAppPPREnabled)(this.nextConfig.experimental.ppr);
+ this.isAppSegmentPrefetchEnabled = this.enabledDirectories.app && this.nextConfig.experimental.clientSegmentCache === true;
+ this.normalizers = {
+ // We should normalize the pathname from the RSC prefix only in minimal
+ // mode as otherwise that route is not exposed external to the server as
+ // we instead only rely on the headers.
+ rsc: this.enabledDirectories.app && this.minimalMode ? new _rsc.RSCPathnameNormalizer() : undefined,
+ prefetchRSC: this.isAppPPREnabled && this.minimalMode ? new _prefetchrsc.PrefetchRSCPathnameNormalizer() : undefined,
+ segmentPrefetchRSC: this.isAppSegmentPrefetchEnabled && this.minimalMode ? new _segmentprefixrsc.SegmentPrefixRSCPathnameNormalizer() : undefined,
+ data: this.enabledDirectories.pages ? new _nextdata.NextDataPathnameNormalizer(this.buildId) : undefined
+ };
+ this.nextFontManifest = this.getNextFontManifest();
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ process.env.NEXT_DEPLOYMENT_ID = this.nextConfig.deploymentId || '';
+ }
+ this.renderOpts = {
+ dir: this.dir,
+ supportsDynamicResponse: true,
+ trailingSlash: this.nextConfig.trailingSlash,
+ deploymentId: this.nextConfig.deploymentId,
+ strictNextHead: this.nextConfig.experimental.strictNextHead ?? true,
+ poweredByHeader: this.nextConfig.poweredByHeader,
+ canonicalBase: this.nextConfig.amp.canonicalBase || '',
+ generateEtags,
+ previewProps: this.getPrerenderManifest().preview,
+ ampOptimizerConfig: (_this_nextConfig_experimental_amp = this.nextConfig.experimental.amp) == null ? void 0 : _this_nextConfig_experimental_amp.optimizer,
+ basePath: this.nextConfig.basePath,
+ images: this.nextConfig.images,
+ optimizeCss: this.nextConfig.experimental.optimizeCss,
+ nextConfigOutput: this.nextConfig.output,
+ nextScriptWorkers: this.nextConfig.experimental.nextScriptWorkers,
+ disableOptimizedLoading: this.nextConfig.experimental.disableOptimizedLoading,
+ domainLocales: (_this_nextConfig_i18n1 = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n1.domains,
+ distDir: this.distDir,
+ serverComponents: this.enabledDirectories.app,
+ cacheLifeProfiles: this.nextConfig.experimental.cacheLife,
+ enableTainting: this.nextConfig.experimental.taint,
+ crossOrigin: this.nextConfig.crossOrigin ? this.nextConfig.crossOrigin : undefined,
+ largePageDataBytes: this.nextConfig.experimental.largePageDataBytes,
+ // Only the `publicRuntimeConfig` key is exposed to the client side
+ // It'll be rendered as part of __NEXT_DATA__ on the client side
+ runtimeConfig: Object.keys(publicRuntimeConfig).length > 0 ? publicRuntimeConfig : undefined,
+ isExperimentalCompile: this.nextConfig.experimental.isExperimentalCompile,
+ // `htmlLimitedBots` is passed to server as serialized config in string format
+ htmlLimitedBots: this.nextConfig.htmlLimitedBots,
+ experimental: {
+ expireTime: this.nextConfig.expireTime,
+ staleTimes: this.nextConfig.experimental.staleTimes,
+ clientTraceMetadata: this.nextConfig.experimental.clientTraceMetadata,
+ dynamicIO: this.nextConfig.experimental.dynamicIO ?? false,
+ clientSegmentCache: this.nextConfig.experimental.clientSegmentCache === 'client-only' ? 'client-only' : Boolean(this.nextConfig.experimental.clientSegmentCache),
+ dynamicOnHover: this.nextConfig.experimental.dynamicOnHover ?? false,
+ inlineCss: this.nextConfig.experimental.inlineCss ?? false,
+ authInterrupts: !!this.nextConfig.experimental.authInterrupts
+ },
+ onInstrumentationRequestError: this.instrumentationOnRequestError.bind(this),
+ reactMaxHeadersLength: this.nextConfig.reactMaxHeadersLength,
+ devtoolSegmentExplorer: this.nextConfig.experimental.devtoolSegmentExplorer
+ };
+ // Initialize next/config with the environment configuration
+ (0, _runtimeconfigexternal.setConfig)({
+ serverRuntimeConfig,
+ publicRuntimeConfig
+ });
+ this.pagesManifest = this.getPagesManifest();
+ this.appPathsManifest = this.getAppPathsManifest();
+ this.appPathRoutes = this.getAppPathRoutes();
+ this.interceptionRoutePatterns = this.getinterceptionRoutePatterns();
+ // Configure the routes.
+ this.matchers = this.getRouteMatchers();
+ // Start route compilation. We don't wait for the routes to finish loading
+ // because we use the `waitTillReady` promise below in `handleRequest` to
+ // wait. Also we can't `await` in the constructor.
+ void this.matchers.reload();
+ this.setAssetPrefix(assetPrefix);
+ this.responseCache = this.getResponseCache({
+ dev
+ });
+ }
+ reloadMatchers() {
+ return this.matchers.reload();
+ }
+ getRouteMatchers() {
+ // Create a new manifest loader that get's the manifests from the server.
+ const manifestLoader = new _servermanifestloader.ServerManifestLoader((name)=>{
+ switch(name){
+ case _constants.PAGES_MANIFEST:
+ return this.getPagesManifest() ?? null;
+ case _constants.APP_PATHS_MANIFEST:
+ return this.getAppPathsManifest() ?? null;
+ default:
+ return null;
+ }
+ });
+ // Configure the matchers and handlers.
+ const matchers = new _defaultroutematchermanager.DefaultRouteMatcherManager();
+ // Match pages under `pages/`.
+ matchers.push(new _pagesroutematcherprovider.PagesRouteMatcherProvider(this.distDir, manifestLoader, this.i18nProvider));
+ // Match api routes under `pages/api/`.
+ matchers.push(new _pagesapiroutematcherprovider.PagesAPIRouteMatcherProvider(this.distDir, manifestLoader, this.i18nProvider));
+ // If the app directory is enabled, then add the app matchers and handlers.
+ if (this.enabledDirectories.app) {
+ // Match app pages under `app/`.
+ matchers.push(new _apppageroutematcherprovider.AppPageRouteMatcherProvider(this.distDir, manifestLoader));
+ matchers.push(new _approuteroutematcherprovider.AppRouteRouteMatcherProvider(this.distDir, manifestLoader));
+ }
+ return matchers;
+ }
+ async instrumentationOnRequestError(...args) {
+ const [err, req, ctx] = args;
+ if (this.instrumentation) {
+ try {
+ await (this.instrumentation.onRequestError == null ? void 0 : this.instrumentation.onRequestError.call(this.instrumentation, err, {
+ path: req.url || '',
+ method: req.method || 'GET',
+ // Normalize middleware headers and other server request headers
+ headers: req instanceof _adapter.NextRequestHint ? Object.fromEntries(req.headers.entries()) : req.headers
+ }, ctx));
+ } catch (handlerErr) {
+ // Log the soft error and continue, since errors can thrown from react stream handler
+ console.error('Error in instrumentation.onRequestError:', handlerErr);
+ }
+ }
+ }
+ logError(err) {
+ if (this.quiet) return;
+ _log.error(err);
+ }
+ async handleRequest(req, res, parsedUrl) {
+ await this.prepare();
+ const method = req.method.toUpperCase();
+ const tracer = (0, _tracer.getTracer)();
+ return tracer.withPropagatedContext(req.headers, ()=>{
+ return tracer.trace(_constants1.BaseServerSpan.handleRequest, {
+ spanName: `${method} ${req.url}`,
+ kind: _tracer.SpanKind.SERVER,
+ attributes: {
+ 'http.method': method,
+ 'http.target': req.url
+ }
+ }, async (span)=>this.handleRequestImpl(req, res, parsedUrl).finally(()=>{
+ if (!span) return;
+ const isRSCRequest = (0, _requestmeta.getRequestMeta)(req, 'isRSCRequest') ?? false;
+ span.setAttributes({
+ 'http.status_code': res.statusCode,
+ 'next.rsc': isRSCRequest
+ });
+ const rootSpanAttributes = tracer.getRootSpanAttributes();
+ // We were unable to get attributes, probably OTEL is not enabled
+ if (!rootSpanAttributes) return;
+ if (rootSpanAttributes.get('next.span_type') !== _constants1.BaseServerSpan.handleRequest) {
+ console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
+ return;
+ }
+ const route = rootSpanAttributes.get('next.route');
+ if (route) {
+ const name = isRSCRequest ? `RSC ${method} ${route}` : `${method} ${route}`;
+ span.setAttributes({
+ 'next.route': route,
+ 'http.route': route,
+ 'next.span_name': name
+ });
+ span.updateName(name);
+ } else {
+ span.updateName(isRSCRequest ? `RSC ${method} ${req.url}` : `${method} ${req.url}`);
+ }
+ }));
+ });
+ }
+ async handleRequestImpl(req, res, parsedUrl) {
+ try {
+ var _originalRequest_socket, _originalRequest_socket1, _this_i18nProvider, _this_nextConfig_i18n;
+ // Wait for the matchers to be ready.
+ await this.matchers.waitTillReady();
+ // ensure cookies set in middleware are merged and
+ // not overridden by API routes/getServerSideProps
+ (0, _patchsetheader.patchSetHeaderWithCookieSupport)(req, (0, _helpers.isNodeNextResponse)(res) ? res.originalResponse : res);
+ const urlParts = (req.url || '').split('?', 1);
+ const urlNoQuery = urlParts[0];
+ // this normalizes repeated slashes in the path e.g. hello//world ->
+ // hello/world or backslashes to forward slashes, this does not
+ // handle trailing slash as that is handled the same as a next.config.js
+ // redirect
+ if (urlNoQuery == null ? void 0 : urlNoQuery.match(/(\\|\/\/)/)) {
+ const cleanUrl = (0, _utils.normalizeRepeatedSlashes)(req.url);
+ res.redirect(cleanUrl, 308).body(cleanUrl).send();
+ return;
+ }
+ // Parse url if parsedUrl not provided
+ if (!parsedUrl || typeof parsedUrl !== 'object') {
+ if (!req.url) {
+ throw Object.defineProperty(new Error('Invariant: url can not be undefined'), "__NEXT_ERROR_CODE", {
+ value: "E123",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ parsedUrl = (0, _url.parse)(req.url, true);
+ }
+ if (!parsedUrl.pathname) {
+ throw Object.defineProperty(new Error("Invariant: pathname can't be empty"), "__NEXT_ERROR_CODE", {
+ value: "E412",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Parse the querystring ourselves if the user doesn't handle querystring parsing
+ if (typeof parsedUrl.query === 'string') {
+ parsedUrl.query = Object.fromEntries(new URLSearchParams(parsedUrl.query));
+ }
+ // Update the `x-forwarded-*` headers.
+ const { originalRequest = null } = (0, _helpers.isNodeNextRequest)(req) ? req : {};
+ const xForwardedProto = originalRequest == null ? void 0 : originalRequest.headers['x-forwarded-proto'];
+ const isHttps = xForwardedProto ? xForwardedProto === 'https' : !!(originalRequest == null ? void 0 : (_originalRequest_socket = originalRequest.socket) == null ? void 0 : _originalRequest_socket.encrypted);
+ req.headers['x-forwarded-host'] ??= req.headers['host'] ?? this.hostname;
+ req.headers['x-forwarded-port'] ??= this.port ? this.port.toString() : isHttps ? '443' : '80';
+ req.headers['x-forwarded-proto'] ??= isHttps ? 'https' : 'http';
+ req.headers['x-forwarded-for'] ??= originalRequest == null ? void 0 : (_originalRequest_socket1 = originalRequest.socket) == null ? void 0 : _originalRequest_socket1.remoteAddress;
+ // This should be done before any normalization of the pathname happens as
+ // it captures the initial URL.
+ this.attachRequestMeta(req, parsedUrl);
+ let finished = await this.handleRSCRequest(req, res, parsedUrl);
+ if (finished) return;
+ const domainLocale = (_this_i18nProvider = this.i18nProvider) == null ? void 0 : _this_i18nProvider.detectDomainLocale((0, _gethostname.getHostname)(parsedUrl, req.headers));
+ const defaultLocale = (domainLocale == null ? void 0 : domainLocale.defaultLocale) || ((_this_nextConfig_i18n = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n.defaultLocale);
+ (0, _requestmeta.addRequestMeta)(req, 'defaultLocale', defaultLocale);
+ const url = (0, _parseurl.parseUrl)(req.url.replace(/^\/+/, '/'));
+ const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(url.pathname, {
+ nextConfig: this.nextConfig,
+ i18nProvider: this.i18nProvider
+ });
+ url.pathname = pathnameInfo.pathname;
+ if (pathnameInfo.basePath) {
+ req.url = (0, _removepathprefix.removePathPrefix)(req.url, this.nextConfig.basePath);
+ }
+ const useMatchedPathHeader = this.minimalMode && typeof req.headers[_constants2.MATCHED_PATH_HEADER] === 'string';
+ // TODO: merge handling with invokePath
+ if (useMatchedPathHeader) {
+ try {
+ var _this_normalizers_data, _this_i18nProvider1, _this_getRoutesManifest;
+ if (this.enabledDirectories.app) {
+ // ensure /index path is normalized for prerender
+ // in minimal mode
+ if (req.url.match(/^\/index($|\?)/)) {
+ req.url = req.url.replace(/^\/index/, '/');
+ }
+ parsedUrl.pathname = parsedUrl.pathname === '/index' ? '/' : parsedUrl.pathname;
+ }
+ // x-matched-path is the source of truth, it tells what page
+ // should be rendered because we don't process rewrites in minimalMode
+ let { pathname: matchedPath } = new URL((0, _fixmojibake.fixMojibake)(req.headers[_constants2.MATCHED_PATH_HEADER]), 'http://localhost');
+ let { pathname: urlPathname } = new URL(req.url, 'http://localhost');
+ // For ISR the URL is normalized to the prerenderPath so if
+ // it's a data request the URL path will be the data URL,
+ // basePath is already stripped by this point
+ if ((_this_normalizers_data = this.normalizers.data) == null ? void 0 : _this_normalizers_data.match(urlPathname)) {
+ (0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
+ } else if (this.isAppPPREnabled && this.minimalMode && req.headers[_constants2.NEXT_RESUME_HEADER] === '1' && req.method === 'POST') {
+ // Decode the postponed state from the request body, it will come as
+ // an array of buffers, so collect them and then concat them to form
+ // the string.
+ const body = [];
+ for await (const chunk of req.body){
+ body.push(chunk);
+ }
+ const postponed = Buffer.concat(body).toString('utf8');
+ (0, _requestmeta.addRequestMeta)(req, 'postponed', postponed);
+ }
+ matchedPath = this.normalize(matchedPath);
+ const normalizedUrlPath = this.stripNextDataPath(urlPathname);
+ matchedPath = (0, _denormalizepagepath.denormalizePagePath)(matchedPath);
+ // Perform locale detection and normalization.
+ const localeAnalysisResult = (_this_i18nProvider1 = this.i18nProvider) == null ? void 0 : _this_i18nProvider1.analyze(matchedPath, {
+ defaultLocale
+ });
+ // The locale result will be defined even if the locale was not
+ // detected for the request because it will be inferred from the
+ // default locale.
+ if (localeAnalysisResult) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', localeAnalysisResult.detectedLocale);
+ // If the detected locale was inferred from the default locale, we
+ // need to modify the metadata on the request to indicate that.
+ if (localeAnalysisResult.inferredFromDefault) {
+ (0, _requestmeta.addRequestMeta)(req, 'localeInferredFromDefault', true);
+ } else {
+ (0, _requestmeta.removeRequestMeta)(req, 'localeInferredFromDefault');
+ }
+ }
+ let srcPathname = matchedPath;
+ let pageIsDynamic = (0, _utils1.isDynamicRoute)(srcPathname);
+ let paramsResult = {
+ params: false,
+ hasValidParams: false
+ };
+ if (!pageIsDynamic) {
+ const match = await this.matchers.match(srcPathname, {
+ i18n: localeAnalysisResult
+ });
+ // Update the source pathname to the matched page's pathname.
+ if (match) {
+ srcPathname = match.definition.pathname;
+ // The page is dynamic if the params are defined. We know at this
+ // stage that the matched path is not a static page if the params
+ // were parsed from the matched path header.
+ if (typeof match.params !== 'undefined') {
+ pageIsDynamic = true;
+ paramsResult.params = match.params;
+ paramsResult.hasValidParams = true;
+ }
+ }
+ }
+ // The rest of this function can't handle i18n properly, so ensure we
+ // restore the pathname with the locale information stripped from it
+ // now that we're done matching if we're using i18n.
+ if (localeAnalysisResult) {
+ matchedPath = localeAnalysisResult.pathname;
+ }
+ const utils = (0, _serverutils.getServerUtils)({
+ pageIsDynamic,
+ page: srcPathname,
+ i18n: this.nextConfig.i18n,
+ basePath: this.nextConfig.basePath,
+ rewrites: ((_this_getRoutesManifest = this.getRoutesManifest()) == null ? void 0 : _this_getRoutesManifest.rewrites) || {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ caseSensitive: !!this.nextConfig.experimental.caseSensitiveRoutes
+ });
+ // Ensure parsedUrl.pathname includes locale before processing
+ // rewrites or they won't match correctly.
+ if (defaultLocale && !pathnameInfo.locale) {
+ parsedUrl.pathname = `/${defaultLocale}${parsedUrl.pathname}`;
+ }
+ // Store a copy of `parsedUrl.query` before calling handleRewrites.
+ // Since `handleRewrites` might add new queries to `parsedUrl.query`.
+ const originQueryParams = {
+ ...parsedUrl.query
+ };
+ const pathnameBeforeRewrite = parsedUrl.pathname;
+ const rewriteParamKeys = Object.keys(utils.handleRewrites(req, parsedUrl));
+ // Create a copy of the query params to avoid mutating the original
+ // object. This prevents any overlapping query params that have the
+ // same normalized key from causing issues.
+ const queryParams = {
+ ...parsedUrl.query
+ };
+ const didRewrite = pathnameBeforeRewrite !== parsedUrl.pathname;
+ if (didRewrite && parsedUrl.pathname) {
+ (0, _requestmeta.addRequestMeta)(req, 'rewroteURL', parsedUrl.pathname);
+ }
+ const routeParamKeys = new Set();
+ for (const [key, value] of Object.entries(parsedUrl.query)){
+ const normalizedKey = (0, _utils3.normalizeNextQueryParam)(key);
+ if (!normalizedKey) continue;
+ // Remove the prefixed key from the query params because we want
+ // to consume it for the dynamic route matcher.
+ delete parsedUrl.query[key];
+ routeParamKeys.add(normalizedKey);
+ if (typeof value === 'undefined') continue;
+ queryParams[normalizedKey] = Array.isArray(value) ? value.map((v)=>(0, _decodequerypathparameter.decodeQueryPathParameter)(v)) : (0, _decodequerypathparameter.decodeQueryPathParameter)(value);
+ }
+ // interpolate dynamic params and normalize URL if needed
+ if (pageIsDynamic) {
+ let params = {};
+ // If we don't already have valid params, try to parse them from
+ // the query params.
+ if (!paramsResult.hasValidParams) {
+ paramsResult = utils.normalizeDynamicRouteParams(queryParams, false);
+ }
+ // for prerendered ISR paths we attempt parsing the route
+ // params from the URL directly as route-matches may not
+ // contain the correct values due to the filesystem path
+ // matching before the dynamic route has been matched
+ if (!paramsResult.hasValidParams && !(0, _utils1.isDynamicRoute)(normalizedUrlPath)) {
+ let matcherParams = utils.dynamicRouteMatcher == null ? void 0 : utils.dynamicRouteMatcher.call(utils, normalizedUrlPath);
+ if (matcherParams) {
+ utils.normalizeDynamicRouteParams(matcherParams, false);
+ Object.assign(paramsResult.params, matcherParams);
+ paramsResult.hasValidParams = true;
+ }
+ }
+ // if an action request is bypassing a prerender and we
+ // don't have the params in the URL since it was prerendered
+ // and matched during handle: 'filesystem' rather than dynamic route
+ // resolving we need to parse the params from the matched-path.
+ // Note: this is similar to above case but from match-path instead
+ // of from the request URL since a rewrite could cause that to not
+ // match the src pathname
+ if (// we can have a collision with /index and a top-level /[slug]
+ matchedPath !== '/index' && !paramsResult.hasValidParams && !(0, _utils1.isDynamicRoute)(matchedPath)) {
+ let matcherParams = utils.dynamicRouteMatcher == null ? void 0 : utils.dynamicRouteMatcher.call(utils, matchedPath);
+ if (matcherParams) {
+ const curParamsResult = utils.normalizeDynamicRouteParams(matcherParams, false);
+ if (curParamsResult.hasValidParams) {
+ Object.assign(params, matcherParams);
+ paramsResult = curParamsResult;
+ }
+ }
+ }
+ if (paramsResult.hasValidParams) {
+ params = paramsResult.params;
+ }
+ const routeMatchesHeader = req.headers['x-now-route-matches'];
+ if (typeof routeMatchesHeader === 'string' && routeMatchesHeader && (0, _utils1.isDynamicRoute)(matchedPath) && !paramsResult.hasValidParams) {
+ const routeMatches = utils.getParamsFromRouteMatches(routeMatchesHeader);
+ if (routeMatches) {
+ paramsResult = utils.normalizeDynamicRouteParams(routeMatches, true);
+ if (paramsResult.hasValidParams) {
+ params = paramsResult.params;
+ }
+ }
+ }
+ // Try to parse the params from the query if we couldn't parse them
+ // from the route matches but ignore missing optional params.
+ if (!paramsResult.hasValidParams) {
+ paramsResult = utils.normalizeDynamicRouteParams(queryParams, true);
+ if (paramsResult.hasValidParams) {
+ params = paramsResult.params;
+ }
+ }
+ // If the pathname being requested is the same as the source
+ // pathname, and we don't have valid params, we want to use the
+ // default route matches.
+ if (utils.defaultRouteMatches && normalizedUrlPath === srcPathname && !paramsResult.hasValidParams) {
+ params = utils.defaultRouteMatches;
+ // If the route matches header is an empty string, we want to
+ // render a fallback shell. This is because we know this came from
+ // a prerender (it has the header) but it's values were filtered
+ // out (because the allowQuery was empty). If it was undefined
+ // then we know that the request is hitting the lambda directly.
+ if (routeMatchesHeader === '') {
+ (0, _requestmeta.addRequestMeta)(req, 'renderFallbackShell', true);
+ }
+ }
+ if (params) {
+ matchedPath = utils.interpolateDynamicPath(srcPathname, params);
+ req.url = utils.interpolateDynamicPath(req.url, params);
+ // If the request is for a segment prefetch, we need to update the
+ // segment prefetch request path to include the interpolated
+ // params.
+ let segmentPrefetchRSCRequest = (0, _requestmeta.getRequestMeta)(req, 'segmentPrefetchRSCRequest');
+ if (segmentPrefetchRSCRequest && (0, _utils1.isDynamicRoute)(segmentPrefetchRSCRequest, false)) {
+ segmentPrefetchRSCRequest = utils.interpolateDynamicPath(segmentPrefetchRSCRequest, params);
+ req.headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER.toLowerCase()] = segmentPrefetchRSCRequest;
+ (0, _requestmeta.addRequestMeta)(req, 'segmentPrefetchRSCRequest', segmentPrefetchRSCRequest);
+ }
+ }
+ }
+ if (pageIsDynamic || didRewrite) {
+ var _utils_defaultRouteRegex;
+ utils.normalizeCdnUrl(req, [
+ ...rewriteParamKeys,
+ ...Object.keys(((_utils_defaultRouteRegex = utils.defaultRouteRegex) == null ? void 0 : _utils_defaultRouteRegex.groups) || {})
+ ]);
+ }
+ // Remove the route `params` keys from `parsedUrl.query` if they are
+ // not in the original query params.
+ // If it's used in both route `params` and query `searchParams`, it should be kept.
+ for (const key of routeParamKeys){
+ if (!(key in originQueryParams)) {
+ delete parsedUrl.query[key];
+ }
+ }
+ parsedUrl.pathname = matchedPath;
+ url.pathname = parsedUrl.pathname;
+ finished = await this.normalizeAndAttachMetadata(req, res, parsedUrl);
+ if (finished) return;
+ } catch (err) {
+ if (err instanceof _utils.DecodeError || err instanceof _utils.NormalizeError) {
+ res.statusCode = 400;
+ return this.renderError(null, req, res, '/_error', {});
+ }
+ throw err;
+ }
+ }
+ (0, _requestmeta.addRequestMeta)(req, 'isLocaleDomain', Boolean(domainLocale));
+ if (pathnameInfo.locale) {
+ req.url = (0, _url.format)(url);
+ (0, _requestmeta.addRequestMeta)(req, 'didStripLocale', true);
+ }
+ // If we aren't in minimal mode or there is no locale in the query
+ // string, add the locale to the query string.
+ if (!this.minimalMode || !(0, _requestmeta.getRequestMeta)(req, 'locale')) {
+ // If the locale is in the pathname, add it to the query string.
+ if (pathnameInfo.locale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', pathnameInfo.locale);
+ } else if (defaultLocale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', defaultLocale);
+ (0, _requestmeta.addRequestMeta)(req, 'localeInferredFromDefault', true);
+ }
+ }
+ // set incremental cache to request meta so it can
+ // be passed down for edge functions and the fetch disk
+ // cache can be leveraged locally
+ if (!this.serverOptions.webServerConfig && !(0, _requestmeta.getRequestMeta)(req, 'incrementalCache')) {
+ const incrementalCache = await this.getIncrementalCache({
+ requestHeaders: Object.assign({}, req.headers)
+ });
+ incrementalCache.resetRequestCache();
+ (0, _requestmeta.addRequestMeta)(req, 'incrementalCache', incrementalCache);
+ globalThis.__incrementalCache = incrementalCache;
+ }
+ const cacheHandlers = (0, _handlers.getCacheHandlers)();
+ if (cacheHandlers) {
+ await Promise.all([
+ ...cacheHandlers
+ ].map(async (cacheHandler)=>{
+ if ('refreshTags' in cacheHandler) {
+ // Note: cacheHandler.refreshTags() is called lazily before the
+ // first cache entry is retrieved. It allows us to skip the
+ // refresh request if no caches are read at all.
+ } else {
+ const previouslyRevalidatedTags = (0, _serverutils.getPreviouslyRevalidatedTags)(req.headers, this.getPrerenderManifest().preview.previewModeId);
+ await cacheHandler.receiveExpiredTags(...previouslyRevalidatedTags);
+ }
+ }));
+ }
+ // set server components HMR cache to request meta so it can be passed
+ // down for edge functions
+ if (!(0, _requestmeta.getRequestMeta)(req, 'serverComponentsHmrCache')) {
+ (0, _requestmeta.addRequestMeta)(req, 'serverComponentsHmrCache', this.getServerComponentsHmrCache());
+ }
+ // when invokePath is specified we can short short circuit resolving
+ // we only honor this header if we are inside of a render worker to
+ // prevent external users coercing the routing path
+ const invokePath = (0, _requestmeta.getRequestMeta)(req, 'invokePath');
+ const useInvokePath = !useMatchedPathHeader && process.env.NEXT_RUNTIME !== 'edge' && invokePath;
+ if (useInvokePath) {
+ var _this_nextConfig_i18n1;
+ const invokeStatus = (0, _requestmeta.getRequestMeta)(req, 'invokeStatus');
+ if (invokeStatus) {
+ const invokeQuery = (0, _requestmeta.getRequestMeta)(req, 'invokeQuery');
+ if (invokeQuery) {
+ Object.assign(parsedUrl.query, invokeQuery);
+ }
+ res.statusCode = invokeStatus;
+ let err = (0, _requestmeta.getRequestMeta)(req, 'invokeError') || null;
+ return this.renderError(err, req, res, '/_error', parsedUrl.query);
+ }
+ const parsedMatchedPath = new URL(invokePath || '/', 'http://n');
+ const invokePathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedMatchedPath.pathname, {
+ nextConfig: this.nextConfig,
+ parseData: false
+ });
+ if (invokePathnameInfo.locale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', invokePathnameInfo.locale);
+ }
+ if (parsedUrl.pathname !== parsedMatchedPath.pathname) {
+ parsedUrl.pathname = parsedMatchedPath.pathname;
+ (0, _requestmeta.addRequestMeta)(req, 'rewroteURL', invokePathnameInfo.pathname);
+ }
+ const normalizeResult = (0, _normalizelocalepath.normalizeLocalePath)((0, _removepathprefix.removePathPrefix)(parsedUrl.pathname, this.nextConfig.basePath || ''), (_this_nextConfig_i18n1 = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n1.locales);
+ if (normalizeResult.detectedLocale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', normalizeResult.detectedLocale);
+ }
+ parsedUrl.pathname = normalizeResult.pathname;
+ for (const key of Object.keys(parsedUrl.query)){
+ delete parsedUrl.query[key];
+ }
+ const invokeQuery = (0, _requestmeta.getRequestMeta)(req, 'invokeQuery');
+ if (invokeQuery) {
+ Object.assign(parsedUrl.query, invokeQuery);
+ }
+ finished = await this.normalizeAndAttachMetadata(req, res, parsedUrl);
+ if (finished) return;
+ await this.handleCatchallRenderRequest(req, res, parsedUrl);
+ return;
+ }
+ if (process.env.NEXT_RUNTIME !== 'edge' && (0, _requestmeta.getRequestMeta)(req, 'middlewareInvoke')) {
+ finished = await this.normalizeAndAttachMetadata(req, res, parsedUrl);
+ if (finished) return;
+ finished = await this.handleCatchallMiddlewareRequest(req, res, parsedUrl);
+ if (finished) return;
+ const err = new Error();
+ err.result = {
+ response: new Response(null, {
+ headers: {
+ 'x-middleware-next': '1'
+ }
+ })
+ };
+ err.bubble = true;
+ throw err;
+ }
+ // This wasn't a request via the matched path or the invoke path, so
+ // prepare for a legacy run by removing the base path.
+ // ensure we strip the basePath when not using an invoke header
+ if (!useMatchedPathHeader && pathnameInfo.basePath) {
+ parsedUrl.pathname = (0, _removepathprefix.removePathPrefix)(parsedUrl.pathname, pathnameInfo.basePath);
+ }
+ res.statusCode = 200;
+ return await this.run(req, res, parsedUrl);
+ } catch (err) {
+ if (err instanceof _nofallbackerrorexternal.NoFallbackError) {
+ throw err;
+ }
+ if (err && typeof err === 'object' && err.code === 'ERR_INVALID_URL' || err instanceof _utils.DecodeError || err instanceof _utils.NormalizeError) {
+ res.statusCode = 400;
+ return this.renderError(null, req, res, '/_error', {});
+ }
+ if (this.minimalMode || this.renderOpts.dev || (0, _tracer.isBubbledError)(err) && err.bubble) {
+ throw err;
+ }
+ this.logError((0, _iserror.getProperError)(err));
+ res.statusCode = 500;
+ res.body('Internal Server Error').send();
+ }
+ }
+ /**
+ * @internal - this method is internal to Next.js and should not be used directly by end-users
+ */ getRequestHandlerWithMetadata(meta) {
+ const handler = this.getRequestHandler();
+ return (req, res, parsedUrl)=>{
+ (0, _requestmeta.setRequestMeta)(req, meta);
+ return handler(req, res, parsedUrl);
+ };
+ }
+ getRequestHandler() {
+ return this.handleRequest.bind(this);
+ }
+ setAssetPrefix(prefix) {
+ this.renderOpts.assetPrefix = prefix ? prefix.replace(/\/$/, '') : '';
+ }
+ /**
+ * Runs async initialization of server.
+ * It is idempotent, won't fire underlying initialization more than once.
+ */ async prepare() {
+ if (this.prepared) return;
+ // Get instrumentation module
+ if (!this.instrumentation) {
+ this.instrumentation = await this.loadInstrumentationModule();
+ }
+ if (this.preparedPromise === null) {
+ this.preparedPromise = this.prepareImpl().then(()=>{
+ this.prepared = true;
+ this.preparedPromise = null;
+ });
+ }
+ return this.preparedPromise;
+ }
+ async prepareImpl() {}
+ async loadInstrumentationModule() {}
+ async close() {}
+ getAppPathRoutes() {
+ const appPathRoutes = {};
+ Object.keys(this.appPathsManifest || {}).forEach((entry)=>{
+ const normalizedPath = (0, _apppaths.normalizeAppPath)(entry);
+ if (!appPathRoutes[normalizedPath]) {
+ appPathRoutes[normalizedPath] = [];
+ }
+ appPathRoutes[normalizedPath].push(entry);
+ });
+ return appPathRoutes;
+ }
+ async run(req, res, parsedUrl) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.run, async ()=>this.runImpl(req, res, parsedUrl));
+ }
+ async runImpl(req, res, parsedUrl) {
+ await this.handleCatchallRenderRequest(req, res, parsedUrl);
+ }
+ async pipe(fn, partialContext) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.pipe, async ()=>this.pipeImpl(fn, partialContext));
+ }
+ async pipeImpl(fn, partialContext) {
+ const ua = partialContext.req.headers['user-agent'] || '';
+ const ctx = {
+ ...partialContext,
+ renderOpts: {
+ ...this.renderOpts,
+ // `renderOpts.botType` is accumulated in `this.renderImpl()`
+ supportsDynamicResponse: !this.renderOpts.botType,
+ serveStreamingMetadata: (0, _streamingmetadata.shouldServeStreamingMetadata)(ua, this.nextConfig.htmlLimitedBots)
+ }
+ };
+ const payload = await fn(ctx);
+ if (payload === null) {
+ return;
+ }
+ const { req, res } = ctx;
+ const originalStatus = res.statusCode;
+ const { body, type } = payload;
+ let { cacheControl } = payload;
+ if (!res.sent) {
+ const { generateEtags, poweredByHeader, dev } = this.renderOpts;
+ // In dev, we should not cache pages for any reason.
+ if (dev) {
+ res.setHeader('Cache-Control', 'no-store, must-revalidate');
+ cacheControl = undefined;
+ }
+ if (cacheControl && cacheControl.expire === undefined) {
+ cacheControl.expire = this.nextConfig.expireTime;
+ }
+ await this.sendRenderResult(req, res, {
+ result: body,
+ type,
+ generateEtags,
+ poweredByHeader,
+ cacheControl
+ });
+ res.statusCode = originalStatus;
+ }
+ }
+ async getStaticHTML(fn, partialContext) {
+ const ctx = {
+ ...partialContext,
+ renderOpts: {
+ ...this.renderOpts,
+ supportsDynamicResponse: false
+ }
+ };
+ const payload = await fn(ctx);
+ if (payload === null) {
+ return null;
+ }
+ return payload.body.toUnchunkedString();
+ }
+ async render(req, res, pathname, query = {}, parsedUrl, internalRender = false) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.render, async ()=>this.renderImpl(req, res, pathname, query, parsedUrl, internalRender));
+ }
+ getWaitUntil() {
+ const builtinRequestContext = (0, _builtinrequestcontext.getBuiltinRequestContext)();
+ if (builtinRequestContext) {
+ // the platform provided a request context.
+ // use the `waitUntil` from there, whether actually present or not --
+ // if not present, `after` will error.
+ // NOTE: if we're in an edge runtime sandbox, this context will be used to forward the outer waitUntil.
+ return builtinRequestContext.waitUntil;
+ }
+ if (this.minimalMode) {
+ // we're built for a serverless environment, and `waitUntil` is not available,
+ // but using a noop would likely lead to incorrect behavior,
+ // because we have no way of keeping the invocation alive.
+ // return nothing, and `after` will error if used.
+ //
+ // NOTE: for edge functions, `NextWebServer` always runs in minimal mode.
+ //
+ // NOTE: if we're in an edge runtime sandbox, waitUntil will be passed in using "@next/request-context",
+ // so we won't get here.
+ return undefined;
+ }
+ return this.getInternalWaitUntil();
+ }
+ getInternalWaitUntil() {
+ return undefined;
+ }
+ async renderImpl(req, res, pathname, query = {}, parsedUrl, internalRender = false) {
+ var _req_url;
+ if (!pathname.startsWith('/')) {
+ console.warn(`Cannot render page with path "${pathname}", did you mean "/${pathname}"?. See more info here: https://nextjs.org/docs/messages/render-no-starting-slash`);
+ }
+ if (this.serverOptions.customServer && pathname === '/index' && !await this.hasPage('/index')) {
+ // maintain backwards compatibility for custom server
+ // (see custom-server integration tests)
+ pathname = '/';
+ }
+ const ua = req.headers['user-agent'] || '';
+ this.renderOpts.botType = (0, _isbot.getBotType)(ua);
+ // we allow custom servers to call render for all URLs
+ // so check if we need to serve a static _next file or not.
+ // we don't modify the URL for _next/data request but still
+ // call render so we special case this to prevent an infinite loop
+ if (!internalRender && !this.minimalMode && !(0, _requestmeta.getRequestMeta)(req, 'isNextDataReq') && (((_req_url = req.url) == null ? void 0 : _req_url.match(/^\/_next\//)) || this.hasStaticDir && req.url.match(/^\/static\//))) {
+ return this.handleRequest(req, res, parsedUrl);
+ }
+ if ((0, _utils2.isBlockedPage)(pathname)) {
+ return this.render404(req, res, parsedUrl);
+ }
+ return this.pipe((ctx)=>this.renderToResponse(ctx), {
+ req,
+ res,
+ pathname,
+ query
+ });
+ }
+ async getStaticPaths({ pathname }) {
+ var _this_getPrerenderManifest_dynamicRoutes_pathname;
+ // Read whether or not fallback should exist from the manifest.
+ const fallbackField = (_this_getPrerenderManifest_dynamicRoutes_pathname = this.getPrerenderManifest().dynamicRoutes[pathname]) == null ? void 0 : _this_getPrerenderManifest_dynamicRoutes_pathname.fallback;
+ return {
+ // `staticPaths` is intentionally set to `undefined` as it should've
+ // been caught when checking disk data.
+ staticPaths: undefined,
+ fallbackMode: (0, _fallback.parseFallbackField)(fallbackField)
+ };
+ }
+ async renderToResponseWithComponents(requestContext, findComponentsResult) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.renderToResponseWithComponents, async ()=>this.renderToResponseWithComponentsImpl(requestContext, findComponentsResult));
+ }
+ pathCouldBeIntercepted(resolvedPathname) {
+ return (0, _interceptionroutes.isInterceptionRouteAppPath)(resolvedPathname) || this.interceptionRoutePatterns.some((regexp)=>{
+ return regexp.test(resolvedPathname);
+ });
+ }
+ setVaryHeader(req, res, isAppPath, resolvedPathname) {
+ const baseVaryHeader = `${_approuterheaders.RSC_HEADER}, ${_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER}, ${_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER}, ${_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}`;
+ const isRSCRequest = (0, _requestmeta.getRequestMeta)(req, 'isRSCRequest') ?? false;
+ let addedNextUrlToVary = false;
+ if (isAppPath && this.pathCouldBeIntercepted(resolvedPathname)) {
+ // Interception route responses can vary based on the `Next-URL` header.
+ // We use the Vary header to signal this behavior to the client to properly cache the response.
+ res.appendHeader('vary', `${baseVaryHeader}, ${_approuterheaders.NEXT_URL}`);
+ addedNextUrlToVary = true;
+ } else if (isAppPath || isRSCRequest) {
+ // We don't need to include `Next-URL` in the Vary header for non-interception routes since it won't affect the response.
+ // We also set this header for pages to avoid caching issues when navigating between pages and app.
+ res.appendHeader('vary', baseVaryHeader);
+ }
+ if (!addedNextUrlToVary) {
+ // Remove `Next-URL` from the request headers we determined it wasn't necessary to include in the Vary header.
+ // This is to avoid any dependency on the `Next-URL` header being present when preparing the response.
+ delete req.headers[_approuterheaders.NEXT_URL];
+ }
+ }
+ async renderToResponseWithComponentsImpl({ req, res, pathname, renderOpts: opts }, { components, query }) {
+ var _components_Component, _this_nextConfig_i18n, _this, _this_nextConfig_i18n1, _cacheEntry_value;
+ if (pathname === _constants.UNDERSCORE_NOT_FOUND_ROUTE) {
+ pathname = '/404';
+ }
+ const isErrorPathname = pathname === '/_error';
+ const is404Page = pathname === '/404' || isErrorPathname && res.statusCode === 404;
+ const is500Page = pathname === '/500' || isErrorPathname && res.statusCode === 500;
+ const isAppPath = components.isAppPath === true;
+ const hasServerProps = !!components.getServerSideProps;
+ let hasGetStaticPaths = !!components.getStaticPaths;
+ const isPossibleServerAction = (0, _serveractionrequestmeta.getIsPossibleServerAction)(req);
+ const hasGetInitialProps = !!((_components_Component = components.Component) == null ? void 0 : _components_Component.getInitialProps);
+ let isSSG = !!components.getStaticProps;
+ // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later
+ const isRSCRequest = (0, _requestmeta.getRequestMeta)(req, 'isRSCRequest') ?? false;
+ // Not all CDNs respect the Vary header when caching. We must assume that
+ // only the URL is used to vary the responses. The Next client computes a
+ // hash of the header values and sends it as a search param. Before
+ // responding to a request, we must verify that the hash matches the
+ // expected value. Neglecting to do this properly can lead to cache
+ // poisoning attacks on certain CDNs.
+ if (!this.minimalMode && this.nextConfig.experimental.validateRSCRequestHeaders && isRSCRequest) {
+ const headers = req.headers;
+ const expectedHash = (0, _cachebustingsearchparam.computeCacheBustingSearchParam)(headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER.toLowerCase()], headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER.toLowerCase()], headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER.toLowerCase()], headers[_approuterheaders.NEXT_URL.toLowerCase()]);
+ const actualHash = (0, _requestmeta.getRequestMeta)(req, 'cacheBustingSearchParam') ?? new URL(req.url || '', 'http://localhost').searchParams.get(_approuterheaders.NEXT_RSC_UNION_QUERY);
+ if (expectedHash !== actualHash) {
+ // The hash sent by the client does not match the expected value.
+ // Redirect to the URL with the correct cache-busting search param.
+ // This prevents cache poisoning attacks on CDNs that don't respect Vary headers.
+ // Note: When no headers are present, expectedHash is empty string and client
+ // must send `_rsc` param, otherwise actualHash is null and hash check fails.
+ const url = new URL(req.url || '', 'http://localhost');
+ (0, _setcachebustingsearchparam.setCacheBustingSearchParamWithHash)(url, expectedHash);
+ res.statusCode = 307;
+ res.setHeader('location', `${url.pathname}${url.search}`);
+ res.body('').send();
+ return null;
+ }
+ }
+ // Compute the iSSG cache key. We use the rewroteUrl since
+ // pages with fallback: false are allowed to be rewritten to
+ // and we need to look up the path by the rewritten path
+ let urlPathname = (0, _url.parse)(req.url || '').pathname || '/';
+ let resolvedUrlPathname = (0, _requestmeta.getRequestMeta)(req, 'rewroteURL') || urlPathname;
+ this.setVaryHeader(req, res, isAppPath, resolvedUrlPathname);
+ let staticPaths;
+ let fallbackMode;
+ let hasFallback = false;
+ const isDynamic = (0, _utils1.isDynamicRoute)(components.page);
+ const prerenderManifest = this.getPrerenderManifest();
+ if (isAppPath && isDynamic) {
+ const pathsResult = await this.getStaticPaths({
+ pathname,
+ page: components.page,
+ isAppPath,
+ requestHeaders: req.headers
+ });
+ staticPaths = pathsResult.staticPaths;
+ fallbackMode = pathsResult.fallbackMode;
+ hasFallback = typeof fallbackMode !== 'undefined';
+ if (this.nextConfig.output === 'export') {
+ const page = components.page;
+ if (!staticPaths) {
+ throw Object.defineProperty(new Error(`Page "${page}" is missing exported function "generateStaticParams()", which is required with "output: export" config.`), "__NEXT_ERROR_CODE", {
+ value: "E353",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const resolvedWithoutSlash = (0, _removetrailingslash.removeTrailingSlash)(resolvedUrlPathname);
+ if (!staticPaths.includes(resolvedWithoutSlash)) {
+ throw Object.defineProperty(new Error(`Page "${page}" is missing param "${resolvedWithoutSlash}" in "generateStaticParams()", which is required with "output: export" config.`), "__NEXT_ERROR_CODE", {
+ value: "E443",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (hasFallback) {
+ hasGetStaticPaths = true;
+ }
+ }
+ if (hasFallback || (staticPaths == null ? void 0 : staticPaths.includes(resolvedUrlPathname)) || // this signals revalidation in deploy environments
+ // TODO: make this more generic
+ req.headers['x-now-route-matches']) {
+ isSSG = true;
+ } else if (!this.renderOpts.dev) {
+ isSSG ||= !!prerenderManifest.routes[(0, _toroute.toRoute)(pathname)];
+ }
+ // Toggle whether or not this is a Data request
+ const isNextDataRequest = !!((0, _requestmeta.getRequestMeta)(req, 'isNextDataReq') || req.headers['x-nextjs-data'] && this.serverOptions.webServerConfig) && (isSSG || hasServerProps);
+ /**
+ * If true, this indicates that the request being made is for an app
+ * prefetch request.
+ */ const isPrefetchRSCRequest = (0, _requestmeta.getRequestMeta)(req, 'isPrefetchRSCRequest') ?? false;
+ // when we are handling a middleware prefetch and it doesn't
+ // resolve to a static data route we bail early to avoid
+ // unexpected SSR invocations
+ if (!isSSG && req.headers['x-middleware-prefetch'] && !(is404Page || pathname === '/_error')) {
+ res.setHeader(_constants2.MATCHED_PATH_HEADER, pathname);
+ res.setHeader('x-middleware-skip', '1');
+ res.setHeader('cache-control', 'private, no-cache, no-store, max-age=0, must-revalidate');
+ res.body('{}').send();
+ return null;
+ }
+ // normalize req.url for SSG paths as it is not exposed
+ // to getStaticProps and the asPath should not expose /_next/data
+ if (isSSG && this.minimalMode && req.headers[_constants2.MATCHED_PATH_HEADER] && req.url.startsWith('/_next/data')) {
+ req.url = this.stripNextDataPath(req.url);
+ }
+ const locale = (0, _requestmeta.getRequestMeta)(req, 'locale');
+ const defaultLocale = isSSG ? (_this_nextConfig_i18n = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n.defaultLocale : (0, _requestmeta.getRequestMeta)(req, 'defaultLocale');
+ if (!!req.headers['x-nextjs-data'] && (!res.statusCode || res.statusCode === 200)) {
+ res.setHeader('x-nextjs-matched-path', `${locale ? `/${locale}` : ''}${pathname}`);
+ }
+ let routeModule;
+ if (components.routeModule) {
+ routeModule = components.routeModule;
+ }
+ /**
+ * If the route being rendered is an app page, and the ppr feature has been
+ * enabled, then the given route _could_ support PPR.
+ */ const couldSupportPPR = this.isAppPPREnabled && typeof routeModule !== 'undefined' && (0, _checks.isAppPageRouteModule)(routeModule);
+ // When enabled, this will allow the use of the `?__nextppronly` query to
+ // enable debugging of the static shell.
+ const hasDebugStaticShellQuery = process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING === '1' && typeof query.__nextppronly !== 'undefined' && couldSupportPPR;
+ // When enabled, this will allow the use of the `?__nextppronly` query
+ // to enable debugging of the fallback shell.
+ const hasDebugFallbackShellQuery = hasDebugStaticShellQuery && query.__nextppronly === 'fallback';
+ // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the
+ // prerender manifest and this is an app page.
+ const isRoutePPREnabled = couldSupportPPR && (((_this = prerenderManifest.routes[pathname] ?? prerenderManifest.dynamicRoutes[pathname]) == null ? void 0 : _this.renderingMode) === 'PARTIALLY_STATIC' || // Ideally we'd want to check the appConfig to see if this page has PPR
+ // enabled or not, but that would require plumbing the appConfig through
+ // to the server during development. We assume that the page supports it
+ // but only during development.
+ hasDebugStaticShellQuery && (this.renderOpts.dev === true || this.experimentalTestProxy === true));
+ const isDebugStaticShell = hasDebugStaticShellQuery && isRoutePPREnabled;
+ // We should enable debugging dynamic accesses when the static shell
+ // debugging has been enabled and we're also in development mode.
+ const isDebugDynamicAccesses = isDebugStaticShell && this.renderOpts.dev === true;
+ const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled;
+ // If we're in minimal mode, then try to get the postponed information from
+ // the request metadata. If available, use it for resuming the postponed
+ // render.
+ const minimalPostponed = isRoutePPREnabled ? (0, _requestmeta.getRequestMeta)(req, 'postponed') : undefined;
+ // If PPR is enabled, and this is a RSC request (but not a prefetch), then
+ // we can use this fact to only generate the flight data for the request
+ // because we can't cache the HTML (as it's also dynamic).
+ const isDynamicRSCRequest = isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest;
+ // Need to read this before it's stripped by stripFlightHeaders. We don't
+ // need to transfer it to the request meta because it's only read
+ // within this function; the static segment data should have already been
+ // generated, so we will always either return a static response or a 404.
+ const segmentPrefetchHeader = (0, _requestmeta.getRequestMeta)(req, 'segmentPrefetchRSCRequest');
+ const isHtmlBot = (0, _streamingmetadata.isHtmlBotRequest)(req);
+ if (isHtmlBot && isRoutePPREnabled) {
+ isSSG = false;
+ this.renderOpts.serveStreamingMetadata = false;
+ }
+ // we need to ensure the status code if /404 is visited directly
+ if (is404Page && !isNextDataRequest && !isRSCRequest) {
+ res.statusCode = 404;
+ }
+ // ensure correct status is set when visiting a status page
+ // directly e.g. /500
+ if (_constants.STATIC_STATUS_PAGES.includes(pathname)) {
+ res.statusCode = parseInt(pathname.slice(1), 10);
+ }
+ if (// Server actions can use non-GET/HEAD methods.
+ !isPossibleServerAction && // Resume can use non-GET/HEAD methods.
+ !minimalPostponed && !is404Page && !is500Page && pathname !== '/_error' && req.method !== 'HEAD' && req.method !== 'GET' && (typeof components.Component === 'string' || isSSG)) {
+ res.statusCode = 405;
+ res.setHeader('Allow', [
+ 'GET',
+ 'HEAD'
+ ]);
+ res.body('Method Not Allowed').send();
+ return null;
+ }
+ // handle static page
+ if (typeof components.Component === 'string') {
+ return {
+ type: 'html',
+ // TODO: Static pages should be serialized as RenderResult
+ body: _renderresult.default.fromStatic(components.Component)
+ };
+ }
+ // Ensure that if the `amp` query parameter is falsy that we remove it from
+ // the query object. This ensures it won't be found by the `in` operator.
+ if ('amp' in query && !query.amp) delete query.amp;
+ if (opts.supportsDynamicResponse === true) {
+ var _components_Document;
+ const ua = req.headers['user-agent'] || '';
+ const isBotRequest = (0, _isbot.isBot)(ua);
+ const isSupportedDocument = typeof ((_components_Document = components.Document) == null ? void 0 : _components_Document.getInitialProps) !== 'function' || // The built-in `Document` component also supports dynamic HTML for concurrent mode.
+ _constants.NEXT_BUILTIN_DOCUMENT in components.Document;
+ // Disable dynamic HTML in cases that we know it won't be generated,
+ // so that we can continue generating a cache key when possible.
+ // TODO-APP: should the first render for a dynamic app path
+ // be static so we can collect revalidate and populate the
+ // cache if there are no dynamic data requirements
+ opts.supportsDynamicResponse = !isSSG && !isBotRequest && !query.amp && isSupportedDocument;
+ }
+ // In development, we always want to generate dynamic HTML.
+ if (!isNextDataRequest && isAppPath && opts.dev) {
+ opts.supportsDynamicResponse = true;
+ }
+ const locales = (_this_nextConfig_i18n1 = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n1.locales;
+ let previewData;
+ let isPreviewMode = false;
+ if (hasServerProps || isSSG || isAppPath) {
+ // For the edge runtime, we don't support preview mode in SSG.
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ const { tryGetPreviewData } = require('./api-utils/node/try-get-preview-data');
+ previewData = tryGetPreviewData(req, res, this.renderOpts.previewProps, !!this.nextConfig.experimental.multiZoneDraftMode);
+ isPreviewMode = previewData !== false;
+ }
+ }
+ // If this is a request for an app path that should be statically generated
+ // and we aren't in the edge runtime, strip the flight headers so it will
+ // generate the static response.
+ if (isAppPath && !opts.dev && !isPreviewMode && isSSG && isRSCRequest && !isDynamicRSCRequest && (!(0, _isedgeruntime.isEdgeRuntime)(opts.runtime) || this.serverOptions.webServerConfig)) {
+ (0, _stripflightheaders.stripFlightHeaders)(req.headers);
+ }
+ let { isOnDemandRevalidate, revalidateOnlyGenerated } = (0, _apiutils.checkIsOnDemandRevalidate)(req, this.renderOpts.previewProps);
+ if (isSSG && this.minimalMode && req.headers[_constants2.MATCHED_PATH_HEADER]) {
+ // the url value is already correct when the matched-path header is set
+ resolvedUrlPathname = urlPathname;
+ }
+ urlPathname = (0, _removetrailingslash.removeTrailingSlash)(urlPathname);
+ resolvedUrlPathname = (0, _removetrailingslash.removeTrailingSlash)(resolvedUrlPathname);
+ if (this.localeNormalizer) {
+ resolvedUrlPathname = this.localeNormalizer.normalize(resolvedUrlPathname);
+ }
+ const handleRedirect = (pageData)=>{
+ const redirect = {
+ destination: pageData.pageProps.__N_REDIRECT,
+ statusCode: pageData.pageProps.__N_REDIRECT_STATUS,
+ basePath: pageData.pageProps.__N_REDIRECT_BASE_PATH
+ };
+ const statusCode = (0, _redirectstatus.getRedirectStatus)(redirect);
+ const { basePath } = this.nextConfig;
+ if (basePath && redirect.basePath !== false && redirect.destination.startsWith('/')) {
+ redirect.destination = `${basePath}${redirect.destination}`;
+ }
+ if (redirect.destination.startsWith('/')) {
+ redirect.destination = (0, _utils.normalizeRepeatedSlashes)(redirect.destination);
+ }
+ res.redirect(redirect.destination, statusCode).body(redirect.destination).send();
+ };
+ // remove /_next/data prefix from urlPathname so it matches
+ // for direct page visit and /_next/data visit
+ if (isNextDataRequest) {
+ resolvedUrlPathname = this.stripNextDataPath(resolvedUrlPathname);
+ urlPathname = this.stripNextDataPath(urlPathname);
+ }
+ let ssgCacheKey = null;
+ if (!isPreviewMode && isSSG && !opts.supportsDynamicResponse && !isPossibleServerAction && !minimalPostponed && !isDynamicRSCRequest) {
+ ssgCacheKey = `${locale ? `/${locale}` : ''}${(pathname === '/' || resolvedUrlPathname === '/') && locale ? '' : resolvedUrlPathname}${query.amp ? '.amp' : ''}`;
+ }
+ if ((is404Page || is500Page) && isSSG) {
+ ssgCacheKey = `${locale ? `/${locale}` : ''}${pathname}${query.amp ? '.amp' : ''}`;
+ }
+ if (ssgCacheKey) {
+ ssgCacheKey = (0, _decodepathparams.decodePathParams)(ssgCacheKey);
+ // ensure /index and / is normalized to one key
+ ssgCacheKey = ssgCacheKey === '/index' && pathname === '/' ? '/' : ssgCacheKey;
+ }
+ // use existing incrementalCache instance if available
+ const incrementalCache = process.env.NEXT_RUNTIME === 'edge' && globalThis.__incrementalCache ? globalThis.__incrementalCache : await this.getIncrementalCache({
+ requestHeaders: Object.assign({}, req.headers)
+ });
+ // TODO: investigate, this is not safe across multiple concurrent requests
+ incrementalCache.resetRequestCache();
+ const doRender = async ({ postponed, pagesFallback = false, fallbackRouteParams })=>{
+ // In development, we always want to generate dynamic HTML.
+ let supportsDynamicResponse = // If we're in development, we always support dynamic HTML, unless it's
+ // a data request, in which case we only produce static HTML.
+ !isNextDataRequest && opts.dev === true || // If this is not SSG or does not have static paths, then it supports
+ // dynamic HTML.
+ !isSSG && !hasGetStaticPaths || // If this request has provided postponed data, it supports dynamic
+ // HTML.
+ typeof postponed === 'string' || // If this is a dynamic RSC request, then this render supports dynamic
+ // HTML (it's dynamic).
+ isDynamicRSCRequest;
+ const origQuery = (0, _url.parse)(req.url || '', true).query;
+ // clear any dynamic route params so they aren't in
+ // the resolvedUrl
+ if (opts.params) {
+ Object.keys(opts.params).forEach((key)=>{
+ delete origQuery[key];
+ });
+ }
+ const hadTrailingSlash = urlPathname !== '/' && this.nextConfig.trailingSlash;
+ const resolvedUrl = (0, _url.format)({
+ pathname: `${resolvedUrlPathname}${hadTrailingSlash ? '/' : ''}`,
+ // make sure to only add query values from original URL
+ query: origQuery
+ });
+ // When html bots request PPR page, perform the full dynamic rendering.
+ const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled;
+ const renderOpts = {
+ ...components,
+ ...opts,
+ ...isAppPath ? {
+ incrementalCache,
+ // This is a revalidation request if the request is for a static
+ // page and it is not being resumed from a postponed render and
+ // it is not a dynamic RSC request then it is a revalidation
+ // request.
+ isRevalidate: isSSG && !postponed && !isDynamicRSCRequest,
+ serverActions: this.nextConfig.experimental.serverActions
+ } : {},
+ isNextDataRequest,
+ resolvedUrl,
+ locale,
+ locales,
+ defaultLocale,
+ multiZoneDraftMode: this.nextConfig.experimental.multiZoneDraftMode,
+ // For getServerSideProps and getInitialProps we need to ensure we use the original URL
+ // and not the resolved URL to prevent a hydration mismatch on
+ // asPath
+ resolvedAsPath: hasServerProps || hasGetInitialProps ? (0, _url.format)({
+ // we use the original URL pathname less the _next/data prefix if
+ // present
+ pathname: `${urlPathname}${hadTrailingSlash ? '/' : ''}`,
+ query: origQuery
+ }) : resolvedUrl,
+ experimental: {
+ ...opts.experimental,
+ isRoutePPREnabled
+ },
+ supportsDynamicResponse,
+ shouldWaitOnAllReady,
+ isOnDemandRevalidate,
+ isDraftMode: isPreviewMode,
+ isPossibleServerAction,
+ postponed,
+ waitUntil: this.getWaitUntil(),
+ onClose: res.onClose.bind(res),
+ onAfterTaskError: undefined,
+ // only available in dev
+ setIsrStatus: this.setIsrStatus
+ };
+ if (isDebugStaticShell || isDebugDynamicAccesses) {
+ supportsDynamicResponse = false;
+ renderOpts.nextExport = true;
+ renderOpts.supportsDynamicResponse = false;
+ renderOpts.isStaticGeneration = true;
+ renderOpts.isRevalidate = true;
+ renderOpts.isDebugDynamicAccesses = isDebugDynamicAccesses;
+ }
+ // Legacy render methods will return a render result that needs to be
+ // served by the server.
+ let result;
+ if (routeModule) {
+ if ((0, _checks.isAppRouteRouteModule)(routeModule) || (0, _checks.isPagesRouteModule)(routeModule) || (0, _checks.isAppPageRouteModule)(routeModule)) {
+ // An OPTIONS request to a page handler is invalid.
+ if (req.method === 'OPTIONS' && !is404Page && !(0, _checks.isAppRouteRouteModule)(routeModule)) {
+ await (0, _sendresponse.sendResponse)(req, res, new Response(null, {
+ status: 400
+ }));
+ return null;
+ }
+ const request = (0, _helpers.isNodeNextRequest)(req) ? req.originalRequest : req;
+ const response = (0, _helpers.isNodeNextResponse)(res) ? res.originalResponse : res;
+ if (components.ComponentMod.handler && process.env.NEXT_RUNTIME !== 'edge') {
+ const parsedInitUrl = (0, _url.parse)((0, _requestmeta.getRequestMeta)(req, 'initURL') || req.url);
+ let initPathname = parsedInitUrl.pathname || '/';
+ for (const normalizer of [
+ this.normalizers.segmentPrefetchRSC,
+ this.normalizers.prefetchRSC,
+ this.normalizers.rsc
+ ]){
+ if (normalizer == null ? void 0 : normalizer.match(initPathname)) {
+ initPathname = normalizer.normalize(initPathname);
+ }
+ }
+ request.url = `${initPathname}${parsedInitUrl.search || ''}`;
+ // propagate the request context for dev
+ (0, _requestmeta.setRequestMeta)(request, (0, _requestmeta.getRequestMeta)(req));
+ (0, _requestmeta.addRequestMeta)(request, 'projectDir', this.dir);
+ (0, _requestmeta.addRequestMeta)(request, 'distDir', this.distDir);
+ (0, _requestmeta.addRequestMeta)(request, 'isIsrFallback', pagesFallback);
+ (0, _requestmeta.addRequestMeta)(request, 'query', query);
+ (0, _requestmeta.addRequestMeta)(request, 'params', opts.params);
+ (0, _requestmeta.addRequestMeta)(request, 'ampValidator', this.renderOpts.ampValidator);
+ (0, _requestmeta.addRequestMeta)(request, 'minimalMode', this.minimalMode);
+ if (renderOpts.err) {
+ (0, _requestmeta.addRequestMeta)(request, 'invokeError', renderOpts.err);
+ }
+ const handler = components.ComponentMod.handler;
+ const maybeDevRequest = // we need to capture fetch metrics when they are set
+ // and can't wait for handler to resolve as the fetch
+ // metrics are logged on response close which happens
+ // before handler resolves
+ process.env.NODE_ENV === 'development' ? new Proxy(request, {
+ get (target, prop) {
+ if (typeof target[prop] === 'function') {
+ return target[prop].bind(target);
+ }
+ return target[prop];
+ },
+ set (target, prop, value) {
+ if (prop === 'fetchMetrics') {
+ ;
+ req.fetchMetrics = value;
+ }
+ target[prop] = value;
+ return true;
+ }
+ }) : request;
+ result = await handler(maybeDevRequest, response, {
+ waitUntil: this.getWaitUntil()
+ });
+ // response is handled fully in handler
+ return null;
+ } else {
+ if ((0, _checks.isPagesRouteModule)(routeModule)) {
+ // Due to the way we pass data by mutating `renderOpts`, we can't extend
+ // the object here but only updating its `clientReferenceManifest` and
+ // `nextFontManifest` properties.
+ // https://github.com/vercel/next.js/blob/df7cbd904c3bd85f399d1ce90680c0ecf92d2752/packages/next/server/render.tsx#L947-L952
+ renderOpts.nextFontManifest = this.nextFontManifest;
+ renderOpts.clientReferenceManifest = components.clientReferenceManifest;
+ // Call the built-in render method on the module.
+ try {
+ result = await routeModule.render(request, response, {
+ page: pathname,
+ params: opts.params,
+ query,
+ renderOpts,
+ sharedContext: {
+ buildId: this.buildId,
+ deploymentId: this.nextConfig.deploymentId,
+ customServer: this.serverOptions.customServer || undefined
+ },
+ renderContext: {
+ isFallback: pagesFallback,
+ isDraftMode: renderOpts.isDraftMode,
+ developmentNotFoundSourcePage: (0, _requestmeta.getRequestMeta)(req, 'developmentNotFoundSourcePage')
+ }
+ });
+ } catch (err) {
+ await this.instrumentationOnRequestError(err, req, {
+ routerKind: 'Pages Router',
+ routePath: pathname,
+ routeType: 'render',
+ revalidateReason: (0, _utils4.getRevalidateReason)({
+ isRevalidate: isSSG,
+ isOnDemandRevalidate: renderOpts.isOnDemandRevalidate
+ })
+ });
+ throw err;
+ }
+ } else {
+ const module1 = components.routeModule;
+ // Due to the way we pass data by mutating `renderOpts`, we can't extend the
+ // object here but only updating its `nextFontManifest` field.
+ // https://github.com/vercel/next.js/blob/df7cbd904c3bd85f399d1ce90680c0ecf92d2752/packages/next/server/render.tsx#L947-L952
+ renderOpts.nextFontManifest = this.nextFontManifest;
+ const context = {
+ page: is404Page ? '/404' : pathname,
+ params: opts.params,
+ query,
+ fallbackRouteParams,
+ renderOpts,
+ serverComponentsHmrCache: this.getServerComponentsHmrCache(),
+ sharedContext: {
+ buildId: this.buildId
+ }
+ };
+ // TODO: adapt for putting the RDC inside the postponed data
+ // If we're in dev, and this isn't a prefetch or a server action,
+ // we should seed the resume data cache.
+ if (this.nextConfig.experimental.dynamicIO && this.renderOpts.dev && !isPrefetchRSCRequest && !isPossibleServerAction) {
+ const warmup = await module1.warmup(req, res, context);
+ // If the warmup is successful, we should use the resume data
+ // cache from the warmup.
+ if (warmup.metadata.renderResumeDataCache) {
+ renderOpts.renderResumeDataCache = warmup.metadata.renderResumeDataCache;
+ }
+ }
+ // Call the built-in render method on the module.
+ result = await module1.render(req, res, context);
+ }
+ }
+ } else {
+ throw Object.defineProperty(new Error('Invariant: Unknown route module type'), "__NEXT_ERROR_CODE", {
+ value: "E450",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ } else {
+ // If we didn't match a page, we should fallback to using the legacy
+ // render method.
+ result = await this.renderHTML(req, res, pathname, query, renderOpts);
+ }
+ const { metadata } = result;
+ const { cacheControl, headers = {}, // Add any fetch tags that were on the page to the response headers.
+ fetchTags: cacheTags } = metadata;
+ if (cacheTags) {
+ headers[_constants2.NEXT_CACHE_TAGS_HEADER] = cacheTags;
+ }
+ // Pull any fetch metrics from the render onto the request.
+ ;
+ req.fetchMetrics = metadata.fetchMetrics;
+ // we don't throw static to dynamic errors in dev as isSSG
+ // is a best guess in dev since we don't have the prerender pass
+ // to know whether the path is actually static or not
+ if (isAppPath && isSSG && (cacheControl == null ? void 0 : cacheControl.revalidate) === 0 && !this.renderOpts.dev && !isRoutePPREnabled) {
+ const staticBailoutInfo = metadata.staticBailoutInfo;
+ const err = Object.defineProperty(new Error(`Page changed from static to dynamic at runtime ${urlPathname}${(staticBailoutInfo == null ? void 0 : staticBailoutInfo.description) ? `, reason: ${staticBailoutInfo.description}` : ``}` + `\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`), "__NEXT_ERROR_CODE", {
+ value: "E132",
+ enumerable: false,
+ configurable: true
+ });
+ if (staticBailoutInfo == null ? void 0 : staticBailoutInfo.stack) {
+ const stack = staticBailoutInfo.stack;
+ err.stack = err.message + stack.substring(stack.indexOf('\n'));
+ }
+ throw err;
+ }
+ // Based on the metadata, we can determine what kind of cache result we
+ // should return.
+ // Handle `isNotFound`.
+ if ('isNotFound' in metadata && metadata.isNotFound) {
+ return {
+ value: null,
+ cacheControl
+ };
+ }
+ // Handle `isRedirect`.
+ if (metadata.isRedirect) {
+ return {
+ value: {
+ kind: _responsecache.CachedRouteKind.REDIRECT,
+ props: metadata.pageData ?? metadata.flightData
+ },
+ cacheControl
+ };
+ }
+ // Handle `isNull`.
+ if (result.isNull) {
+ return null;
+ }
+ // We now have a valid HTML result that we can return to the user.
+ if (isAppPath) {
+ return {
+ value: {
+ kind: _responsecache.CachedRouteKind.APP_PAGE,
+ html: result,
+ headers,
+ rscData: metadata.flightData,
+ postponed: metadata.postponed,
+ status: metadata.statusCode,
+ segmentData: metadata.segmentData
+ },
+ cacheControl
+ };
+ }
+ return {
+ value: {
+ kind: _responsecache.CachedRouteKind.PAGES,
+ html: result,
+ pageData: metadata.pageData ?? metadata.flightData,
+ headers,
+ status: isAppPath ? res.statusCode : undefined
+ },
+ cacheControl
+ };
+ };
+ let responseGenerator = async ({ hasResolved, previousCacheEntry, isRevalidating })=>{
+ const isProduction = !this.renderOpts.dev;
+ const didRespond = hasResolved || res.sent;
+ // If we haven't found the static paths for the route, then do it now.
+ if (!staticPaths && isDynamic) {
+ if (hasGetStaticPaths) {
+ const pathsResult = await this.getStaticPaths({
+ pathname,
+ requestHeaders: req.headers,
+ isAppPath,
+ page: components.page
+ });
+ staticPaths = pathsResult.staticPaths;
+ fallbackMode = pathsResult.fallbackMode;
+ } else {
+ staticPaths = undefined;
+ fallbackMode = _fallback.FallbackMode.NOT_FOUND;
+ }
+ }
+ // When serving a bot request, we want to serve a blocking render and not
+ // the prerendered page. This ensures that the correct content is served
+ // to the bot in the head.
+ if (fallbackMode === _fallback.FallbackMode.PRERENDER && (0, _isbot.isBot)(req.headers['user-agent'] || '')) {
+ fallbackMode = _fallback.FallbackMode.BLOCKING_STATIC_RENDER;
+ }
+ // skip on-demand revalidate if cache is not present and
+ // revalidate-if-generated is set
+ if (isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry && !this.minimalMode) {
+ await this.render404(req, res);
+ return null;
+ }
+ if ((previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) === -1) {
+ isOnDemandRevalidate = true;
+ }
+ // TODO: adapt for PPR
+ // only allow on-demand revalidate for fallback: true/blocking
+ // or for prerendered fallback: false paths
+ if (isOnDemandRevalidate && (fallbackMode !== _fallback.FallbackMode.NOT_FOUND || previousCacheEntry)) {
+ fallbackMode = _fallback.FallbackMode.BLOCKING_STATIC_RENDER;
+ }
+ // We use `ssgCacheKey` here as it is normalized to match the encoding
+ // from getStaticPaths along with including the locale.
+ //
+ // We use the `resolvedUrlPathname` for the development case when this
+ // is an app path since it doesn't include locale information.
+ //
+ // We decode the `resolvedUrlPathname` to correctly match the app path
+ // with prerendered paths.
+ let staticPathKey = ssgCacheKey;
+ if (!staticPathKey && opts.dev && isAppPath) {
+ staticPathKey = (0, _decodepathparams.decodePathParams)(resolvedUrlPathname);
+ }
+ if (staticPathKey && query.amp) {
+ staticPathKey = staticPathKey.replace(/\.amp$/, '');
+ }
+ const isPageIncludedInStaticPaths = staticPathKey && (staticPaths == null ? void 0 : staticPaths.includes(staticPathKey));
+ // When experimental compile is used, no pages have been prerendered,
+ // so they should all be blocking.
+ if (this.nextConfig.experimental.isExperimentalCompile) {
+ fallbackMode = _fallback.FallbackMode.BLOCKING_STATIC_RENDER;
+ }
+ // When we did not respond from cache, we need to choose to block on
+ // rendering or return a skeleton.
+ //
+ // - Data requests always block.
+ // - Blocking mode fallback always blocks.
+ // - Preview mode toggles all pages to be resolved in a blocking manner.
+ // - Non-dynamic pages should block (though this is an impossible
+ // case in production).
+ // - Dynamic pages should return their skeleton if not defined in
+ // getStaticPaths, then finish the data request on the client-side.
+ //
+ if (process.env.NEXT_RUNTIME !== 'edge' && !this.minimalMode && fallbackMode !== _fallback.FallbackMode.BLOCKING_STATIC_RENDER && staticPathKey && !didRespond && !isPreviewMode && isDynamic && (isProduction || !staticPaths || !isPageIncludedInStaticPaths)) {
+ if (// In development, fall through to render to handle missing
+ // getStaticPaths.
+ (isProduction || staticPaths && (staticPaths == null ? void 0 : staticPaths.length) > 0) && // When fallback isn't present, abort this render so we 404
+ fallbackMode === _fallback.FallbackMode.NOT_FOUND) {
+ throw new _nofallbackerrorexternal.NoFallbackError();
+ }
+ let fallbackResponse;
+ // If this is a pages router page.
+ if ((0, _checks.isPagesRouteModule)(components.routeModule) && !isNextDataRequest) {
+ // We use the response cache here to handle the revalidation and
+ // management of the fallback shell.
+ fallbackResponse = await this.responseCache.get(isProduction ? locale ? `/${locale}${pathname}` : pathname : null, // This is the response generator for the fallback shell.
+ async ({ previousCacheEntry: previousFallbackCacheEntry = null })=>{
+ // For the pages router, fallbacks cannot be revalidated or
+ // generated in production. In the case of a missing fallback,
+ // we return null, but if it's being revalidated, we just return
+ // the previous fallback cache entry. This preserves the previous
+ // behavior.
+ if (isProduction) {
+ return (0, _utils5.toResponseCacheEntry)(previousFallbackCacheEntry);
+ }
+ // We pass `undefined` and `null` as it doesn't apply to the pages
+ // router.
+ return doRender({
+ postponed: undefined,
+ // For the pages router, fallbacks can only be generated on
+ // demand in development, so if we're not in production, and we
+ // aren't a app path.
+ pagesFallback: true,
+ fallbackRouteParams: null
+ });
+ }, {
+ routeKind: _routekind.RouteKind.PAGES,
+ incrementalCache,
+ isRoutePPREnabled,
+ isFallback: true
+ });
+ } else if (isRoutePPREnabled && (0, _checks.isAppPageRouteModule)(components.routeModule) && !isRSCRequest) {
+ // We use the response cache here to handle the revalidation and
+ // management of the fallback shell.
+ fallbackResponse = await this.responseCache.get(isProduction ? pathname : null, // This is the response generator for the fallback shell.
+ async ()=>doRender({
+ // We pass `undefined` as rendering a fallback isn't resumed
+ // here.
+ postponed: undefined,
+ pagesFallback: undefined,
+ fallbackRouteParams: // If we're in production or we're debugging the fallback
+ // shell then we should postpone when dynamic params are
+ // accessed.
+ isProduction || isDebugFallbackShell ? (0, _fallbackparams.getFallbackRouteParams)(pathname) : null
+ }), {
+ routeKind: _routekind.RouteKind.APP_PAGE,
+ incrementalCache,
+ isRoutePPREnabled,
+ isFallback: true
+ });
+ }
+ // If the fallback response was set to null, then we should return null.
+ if (fallbackResponse === null) return null;
+ // Otherwise, if we did get a fallback response, we should return it.
+ if (fallbackResponse) {
+ // Remove the cache control from the response to prevent it from being
+ // used in the surrounding cache.
+ delete fallbackResponse.cacheControl;
+ return fallbackResponse;
+ }
+ }
+ // Only requests that aren't revalidating can be resumed. If we have the
+ // minimal postponed data, then we should resume the render with it.
+ const postponed = !isOnDemandRevalidate && !isRevalidating && minimalPostponed ? minimalPostponed : undefined;
+ // When we're in minimal mode, if we're trying to debug the static shell,
+ // we should just return nothing instead of resuming the dynamic render.
+ if ((isDebugStaticShell || isDebugDynamicAccesses) && typeof postponed !== 'undefined') {
+ return {
+ cacheControl: {
+ revalidate: 1,
+ expire: undefined
+ },
+ value: {
+ kind: _responsecache.CachedRouteKind.PAGES,
+ html: _renderresult.default.fromStatic(''),
+ pageData: {},
+ headers: undefined,
+ status: undefined
+ }
+ };
+ }
+ // If this is a dynamic route with PPR enabled and the default route
+ // matches were set, then we should pass the fallback route params to
+ // the renderer as this is a fallback revalidation request.
+ const fallbackRouteParams = isDynamic && isRoutePPREnabled && ((0, _requestmeta.getRequestMeta)(req, 'renderFallbackShell') || isDebugFallbackShell) ? (0, _fallbackparams.getFallbackRouteParams)(pathname) : null;
+ // Perform the render.
+ return doRender({
+ postponed,
+ pagesFallback: undefined,
+ fallbackRouteParams
+ });
+ };
+ if (process.env.NEXT_RUNTIME !== 'edge' && // default _error module in dev doesn't have handler yet
+ components.ComponentMod.handler && ((0, _checks.isPagesRouteModule)(components.routeModule) || (0, _checks.isAppRouteRouteModule)(components.routeModule) || (0, _checks.isAppPageRouteModule)(components.routeModule))) {
+ if ((routeModule == null ? void 0 : routeModule.isDev) && (0, _utils1.isDynamicRoute)(pathname) && (components.getStaticPaths || isAppPath)) {
+ await this.getStaticPaths({
+ pathname,
+ requestHeaders: req.headers,
+ page: components.page,
+ isAppPath
+ });
+ }
+ await doRender({
+ postponed: undefined,
+ pagesFallback: false,
+ fallbackRouteParams: null
+ });
+ return null;
+ }
+ const cacheEntry = await this.responseCache.get(ssgCacheKey, responseGenerator, {
+ routeKind: // If the route module is not defined, we can assume it's a page being
+ // rendered and thus check isAppPath.
+ (routeModule == null ? void 0 : routeModule.definition.kind) ?? (isAppPath ? _routekind.RouteKind.APP_PAGE : _routekind.RouteKind.PAGES),
+ incrementalCache,
+ isOnDemandRevalidate,
+ isPrefetch: req.headers.purpose === 'prefetch',
+ isRoutePPREnabled
+ });
+ if (isPreviewMode) {
+ res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
+ }
+ if (!cacheEntry) {
+ if (ssgCacheKey && !(isOnDemandRevalidate && revalidateOnlyGenerated) && !(0, _checks.isPagesRouteModule)(components.routeModule) && !(0, _checks.isAppRouteRouteModule)(components.routeModule) && !(0, _checks.isAppPageRouteModule)(components.routeModule)) {
+ // A cache entry might not be generated if a response is written
+ // in `getInitialProps` or `getServerSideProps`, but those shouldn't
+ // have a cache key. If we do have a cache key but we don't end up
+ // with a cache entry, then either Next.js or the application has a
+ // bug that needs fixing.
+ throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), "__NEXT_ERROR_CODE", {
+ value: "E62",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return null;
+ }
+ const didPostpone = ((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) === _responsecache.CachedRouteKind.APP_PAGE && typeof cacheEntry.value.postponed === 'string';
+ if (isSSG && // We don't want to send a cache header for requests that contain dynamic
+ // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC
+ // request, then we should set the cache header.
+ !isDynamicRSCRequest && (!didPostpone || isPrefetchRSCRequest)) {
+ if (!this.minimalMode) {
+ // set x-nextjs-cache header to match the header
+ // we set for the image-optimizer
+ res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');
+ }
+ // Set a header used by the client router to signal the response is static
+ // and should respect the `static` cache staleTime value.
+ res.setHeader(_approuterheaders.NEXT_IS_PRERENDER_HEADER, '1');
+ }
+ const { value: cachedData } = cacheEntry;
+ // If the cache value is an image, we should error early.
+ if ((cachedData == null ? void 0 : cachedData.kind) === _responsecache.CachedRouteKind.IMAGE) {
+ throw Object.defineProperty(new _invarianterror.InvariantError('SSG should not return an image cache value'), "__NEXT_ERROR_CODE", {
+ value: "E659",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Coerce the cache control parameter from the render.
+ let cacheControl;
+ // If this is a resume request in minimal mode it is streamed with dynamic
+ // content and should not be cached.
+ if (minimalPostponed) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } else if (this.minimalMode && isRSCRequest && !isPrefetchRSCRequest && isRoutePPREnabled) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } else if (!this.renderOpts.dev || hasServerProps && !isNextDataRequest) {
+ // If this is a preview mode request, we shouldn't cache it
+ if (isPreviewMode) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } else if (!isSSG) {
+ if (!res.getHeader('Cache-Control')) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ }
+ } else if (is404Page) {
+ const notFoundRevalidate = (0, _requestmeta.getRequestMeta)(req, 'notFoundRevalidate');
+ cacheControl = {
+ revalidate: typeof notFoundRevalidate === 'undefined' ? 0 : notFoundRevalidate,
+ expire: undefined
+ };
+ } else if (is500Page) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } else if (cacheEntry.cacheControl) {
+ // If the cache entry has a cache control with a revalidate value that's
+ // a number, use it.
+ if (typeof cacheEntry.cacheControl.revalidate === 'number') {
+ var _cacheEntry_cacheControl;
+ if (cacheEntry.cacheControl.revalidate < 1) {
+ throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`), "__NEXT_ERROR_CODE", {
+ value: "E22",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ cacheControl = {
+ revalidate: cacheEntry.cacheControl.revalidate,
+ expire: ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.expire) ?? this.nextConfig.expireTime
+ };
+ } else {
+ cacheControl = {
+ revalidate: _constants2.CACHE_ONE_YEAR,
+ expire: undefined
+ };
+ }
+ }
+ }
+ cacheEntry.cacheControl = cacheControl;
+ if (typeof segmentPrefetchHeader === 'string' && (cachedData == null ? void 0 : cachedData.kind) === _responsecache.CachedRouteKind.APP_PAGE && cachedData.segmentData) {
+ var _cachedData_headers;
+ // This is a prefetch request issued by the client Segment Cache. These
+ // should never reach the application layer (lambda). We should either
+ // respond from the cache (HIT) or respond with 204 No Content (MISS).
+ // Set a header to indicate that PPR is enabled for this route. This
+ // lets the client distinguish between a regular cache miss and a cache
+ // miss due to PPR being disabled. In other contexts this header is used
+ // to indicate that the response contains dynamic data, but here we're
+ // only using it to indicate that the feature is enabled — the segment
+ // response itself contains whether the data is dynamic.
+ res.setHeader(_approuterheaders.NEXT_DID_POSTPONE_HEADER, '2');
+ // Add the cache tags header to the response if it exists and we're in
+ // minimal mode while rendering a static page.
+ const tags = (_cachedData_headers = cachedData.headers) == null ? void 0 : _cachedData_headers[_constants2.NEXT_CACHE_TAGS_HEADER];
+ if (this.minimalMode && isSSG && tags && typeof tags === 'string') {
+ res.setHeader(_constants2.NEXT_CACHE_TAGS_HEADER, tags);
+ }
+ const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader);
+ if (matchedSegment !== undefined) {
+ // Cache hit
+ return {
+ type: 'rsc',
+ body: _renderresult.default.fromStatic(matchedSegment),
+ // TODO: Eventually this should use cache control of the individual
+ // segment, not the whole page.
+ cacheControl: cacheEntry.cacheControl
+ };
+ }
+ // Cache miss. Either a cache entry for this route has not been generated
+ // (which technically should not be possible when PPR is enabled, because
+ // at a minimum there should always be a fallback entry) or there's no
+ // match for the requested segment. Respond with a 204 No Content. We
+ // don't bother to respond with 404, because these requests are only
+ // issued as part of a prefetch.
+ res.statusCode = 204;
+ return {
+ type: 'rsc',
+ body: _renderresult.default.fromStatic(''),
+ cacheControl: cacheEntry == null ? void 0 : cacheEntry.cacheControl
+ };
+ }
+ // If there's a callback for `onCacheEntry`, call it with the cache entry
+ // and the revalidate options.
+ const onCacheEntry = (0, _requestmeta.getRequestMeta)(req, 'onCacheEntry');
+ if (onCacheEntry) {
+ var _cacheEntry_value1, _cacheEntry_value2;
+ const finished = await onCacheEntry({
+ ...cacheEntry,
+ // TODO: remove this when upstream doesn't
+ // always expect this value to be "PAGE"
+ value: {
+ ...cacheEntry.value,
+ kind: ((_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind) === _responsecache.CachedRouteKind.APP_PAGE ? 'PAGE' : (_cacheEntry_value2 = cacheEntry.value) == null ? void 0 : _cacheEntry_value2.kind
+ }
+ }, {
+ url: (0, _requestmeta.getRequestMeta)(req, 'initURL')
+ });
+ if (finished) {
+ // TODO: maybe we have to end the request?
+ return null;
+ }
+ }
+ if (!cachedData) {
+ var _cacheEntry_cacheControl1;
+ // add revalidate metadata before rendering 404 page
+ // so that we can use this as source of truth for the
+ // cache-control header instead of what the 404 page returns
+ // for the revalidate value
+ (0, _requestmeta.addRequestMeta)(req, 'notFoundRevalidate', (_cacheEntry_cacheControl1 = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl1.revalidate);
+ // If cache control is already set on the response we don't
+ // override it to allow users to customize it via next.config
+ if (cacheEntry.cacheControl && !res.getHeader('Cache-Control')) {
+ res.setHeader('Cache-Control', (0, _cachecontrol.getCacheControlHeader)(cacheEntry.cacheControl));
+ }
+ if (isNextDataRequest) {
+ res.statusCode = 404;
+ res.body('{"notFound":true}').send();
+ return null;
+ }
+ if (this.renderOpts.dev) {
+ (0, _requestmeta.addRequestMeta)(req, 'developmentNotFoundSourcePage', pathname);
+ }
+ await this.render404(req, res, {
+ pathname,
+ query
+ }, false);
+ return null;
+ } else if (cachedData.kind === _responsecache.CachedRouteKind.REDIRECT) {
+ // If cache control is already set on the response we don't
+ // override it to allow users to customize it via next.config
+ if (cacheEntry.cacheControl && !res.getHeader('Cache-Control')) {
+ res.setHeader('Cache-Control', (0, _cachecontrol.getCacheControlHeader)(cacheEntry.cacheControl));
+ }
+ if (isNextDataRequest) {
+ return {
+ type: 'json',
+ body: _renderresult.default.fromStatic(// @TODO: Handle flight data.
+ JSON.stringify(cachedData.props)),
+ cacheControl: cacheEntry.cacheControl
+ };
+ } else {
+ await handleRedirect(cachedData.props);
+ return null;
+ }
+ } else if (cachedData.kind === _responsecache.CachedRouteKind.APP_ROUTE) {
+ // this is handled inside the app_route handler fully
+ throw Object.defineProperty(new Error(`Invariant: unexpected APP_ROUTE cache data`), "__NEXT_ERROR_CODE", {
+ value: "E702",
+ enumerable: false,
+ configurable: true
+ });
+ } else if (cachedData.kind === _responsecache.CachedRouteKind.APP_PAGE) {
+ var _cachedData_headers1;
+ // If the request has a postponed state and it's a resume request we
+ // should error.
+ if (didPostpone && minimalPostponed) {
+ throw Object.defineProperty(new Error('Invariant: postponed state should not be present on a resume request'), "__NEXT_ERROR_CODE", {
+ value: "E396",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (cachedData.headers) {
+ const headers = {
+ ...cachedData.headers
+ };
+ if (!this.minimalMode || !isSSG) {
+ delete headers[_constants2.NEXT_CACHE_TAGS_HEADER];
+ }
+ for (let [key, value] of Object.entries(headers)){
+ if (typeof value === 'undefined') continue;
+ if (Array.isArray(value)) {
+ for (const v of value){
+ res.appendHeader(key, v);
+ }
+ } else if (typeof value === 'number') {
+ value = value.toString();
+ res.appendHeader(key, value);
+ } else {
+ res.appendHeader(key, value);
+ }
+ }
+ }
+ // Add the cache tags header to the response if it exists and we're in
+ // minimal mode while rendering a static page.
+ const tags = (_cachedData_headers1 = cachedData.headers) == null ? void 0 : _cachedData_headers1[_constants2.NEXT_CACHE_TAGS_HEADER];
+ if (this.minimalMode && isSSG && tags && typeof tags === 'string') {
+ res.setHeader(_constants2.NEXT_CACHE_TAGS_HEADER, tags);
+ }
+ // If the request is a data request, then we shouldn't set the status code
+ // from the response because it should always be 200. This should be gated
+ // behind the experimental PPR flag.
+ if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {
+ res.statusCode = cachedData.status;
+ }
+ // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes
+ if (!this.minimalMode && cachedData.status && _redirectstatuscode.RedirectStatusCode[cachedData.status] && isRSCRequest) {
+ res.statusCode = 200;
+ }
+ // Mark that the request did postpone.
+ if (didPostpone) {
+ res.setHeader(_approuterheaders.NEXT_DID_POSTPONE_HEADER, '1');
+ }
+ // we don't go through this block when preview mode is true
+ // as preview mode is a dynamic request (bypasses cache) and doesn't
+ // generate both HTML and payloads in the same request so continue to just
+ // return the generated payload
+ if (isRSCRequest && !isPreviewMode) {
+ // If this is a dynamic RSC request, then stream the response.
+ if (typeof cachedData.rscData === 'undefined') {
+ if (cachedData.postponed) {
+ throw Object.defineProperty(new Error('Invariant: Expected postponed to be undefined'), "__NEXT_ERROR_CODE", {
+ value: "E372",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return {
+ type: 'rsc',
+ body: cachedData.html,
+ // Dynamic RSC responses cannot be cached, even if they're
+ // configured with `force-static` because we have no way of
+ // distinguishing between `force-static` and pages that have no
+ // postponed state.
+ // TODO: distinguish `force-static` from pages with no postponed state (static)
+ cacheControl: isDynamicRSCRequest ? {
+ revalidate: 0,
+ expire: undefined
+ } : cacheEntry.cacheControl
+ };
+ }
+ // As this isn't a prefetch request, we should serve the static flight
+ // data.
+ return {
+ type: 'rsc',
+ body: _renderresult.default.fromStatic(cachedData.rscData),
+ cacheControl: cacheEntry.cacheControl
+ };
+ }
+ // This is a request for HTML data.
+ let body = cachedData.html;
+ // If there's no postponed state, we should just serve the HTML. This
+ // should also be the case for a resume request because it's completed
+ // as a server render (rather than a static render).
+ if (!didPostpone || this.minimalMode) {
+ return {
+ type: 'html',
+ body,
+ cacheControl: cacheEntry.cacheControl
+ };
+ }
+ // If we're debugging the static shell or the dynamic API accesses, we
+ // should just serve the HTML without resuming the render. The returned
+ // HTML will be the static shell so all the Dynamic API's will be used
+ // during static generation.
+ if (isDebugStaticShell || isDebugDynamicAccesses) {
+ // Since we're not resuming the render, we need to at least add the
+ // closing body and html tags to create valid HTML.
+ body.chain(new ReadableStream({
+ start (controller) {
+ controller.enqueue(_encodedtags.ENCODED_TAGS.CLOSED.BODY_AND_HTML);
+ controller.close();
+ }
+ }));
+ return {
+ type: 'html',
+ body,
+ cacheControl: {
+ revalidate: 0,
+ expire: undefined
+ }
+ };
+ }
+ // This request has postponed, so let's create a new transformer that the
+ // dynamic data can pipe to that will attach the dynamic data to the end
+ // of the response.
+ const transformer = new TransformStream();
+ body.chain(transformer.readable);
+ // Perform the render again, but this time, provide the postponed state.
+ // We don't await because we want the result to start streaming now, and
+ // we've already chained the transformer's readable to the render result.
+ doRender({
+ postponed: cachedData.postponed,
+ pagesFallback: undefined,
+ // This is a resume render, not a fallback render, so we don't need to
+ // set this.
+ fallbackRouteParams: null
+ }).then(async (result)=>{
+ var _result_value;
+ if (!result) {
+ throw Object.defineProperty(new Error('Invariant: expected a result to be returned'), "__NEXT_ERROR_CODE", {
+ value: "E463",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (((_result_value = result.value) == null ? void 0 : _result_value.kind) !== _responsecache.CachedRouteKind.APP_PAGE) {
+ var _result_value1;
+ throw Object.defineProperty(new Error(`Invariant: expected a page response, got ${(_result_value1 = result.value) == null ? void 0 : _result_value1.kind}`), "__NEXT_ERROR_CODE", {
+ value: "E305",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Pipe the resume result to the transformer.
+ await result.value.html.pipeTo(transformer.writable);
+ }).catch((err)=>{
+ // An error occurred during piping or preparing the render, abort
+ // the transformers writer so we can terminate the stream.
+ transformer.writable.abort(err).catch((e)=>{
+ console.error("couldn't abort transformer", e);
+ });
+ });
+ return {
+ type: 'html',
+ body,
+ // We don't want to cache the response if it has postponed data because
+ // the response being sent to the client it's dynamic parts are streamed
+ // to the client on the same request.
+ cacheControl: {
+ revalidate: 0,
+ expire: undefined
+ }
+ };
+ } else if (isNextDataRequest) {
+ return {
+ type: 'json',
+ body: _renderresult.default.fromStatic(JSON.stringify(cachedData.pageData)),
+ cacheControl: cacheEntry.cacheControl
+ };
+ } else {
+ return {
+ type: 'html',
+ body: cachedData.html,
+ cacheControl: cacheEntry.cacheControl
+ };
+ }
+ }
+ stripNextDataPath(path, stripLocale = true) {
+ if (path.includes(this.buildId)) {
+ const splitPath = path.substring(path.indexOf(this.buildId) + this.buildId.length);
+ path = (0, _denormalizepagepath.denormalizePagePath)(splitPath.replace(/\.json$/, ''));
+ }
+ if (this.localeNormalizer && stripLocale) {
+ return this.localeNormalizer.normalize(path);
+ }
+ return path;
+ }
+ // map the route to the actual bundle name
+ getOriginalAppPaths(route) {
+ if (this.enabledDirectories.app) {
+ var _this_appPathRoutes;
+ const originalAppPath = (_this_appPathRoutes = this.appPathRoutes) == null ? void 0 : _this_appPathRoutes[route];
+ if (!originalAppPath) {
+ return null;
+ }
+ return originalAppPath;
+ }
+ return null;
+ }
+ async renderPageComponent(ctx, bubbleNoFallback) {
+ var _this_nextConfig_experimental_sri;
+ const { query, pathname } = ctx;
+ const appPaths = this.getOriginalAppPaths(pathname);
+ const isAppPath = Array.isArray(appPaths);
+ let page = pathname;
+ if (isAppPath) {
+ // the last item in the array is the root page, if there are parallel routes
+ page = appPaths[appPaths.length - 1];
+ }
+ const result = await this.findPageComponents({
+ locale: (0, _requestmeta.getRequestMeta)(ctx.req, 'locale'),
+ page,
+ query,
+ params: ctx.renderOpts.params || {},
+ isAppPath,
+ sriEnabled: !!((_this_nextConfig_experimental_sri = this.nextConfig.experimental.sri) == null ? void 0 : _this_nextConfig_experimental_sri.algorithm),
+ appPaths,
+ // Ensuring for loading page component routes is done via the matcher.
+ shouldEnsure: false
+ });
+ if (result) {
+ (0, _tracer.getTracer)().setRootSpanAttribute('next.route', pathname);
+ try {
+ return await this.renderToResponseWithComponents(ctx, result);
+ } catch (err) {
+ const isNoFallbackError = err instanceof _nofallbackerrorexternal.NoFallbackError;
+ if (!isNoFallbackError || isNoFallbackError && bubbleNoFallback) {
+ throw err;
+ }
+ }
+ }
+ return false;
+ }
+ async renderToResponse(ctx) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.renderToResponse, {
+ spanName: `rendering page`,
+ attributes: {
+ 'next.route': ctx.pathname
+ }
+ }, async ()=>{
+ return this.renderToResponseImpl(ctx);
+ });
+ }
+ async renderToResponseImpl(ctx) {
+ var _this_i18nProvider;
+ const { req, res, query, pathname } = ctx;
+ let page = pathname;
+ const bubbleNoFallback = (0, _requestmeta.getRequestMeta)(ctx.req, 'bubbleNoFallback') ?? false;
+ if (!this.minimalMode && this.nextConfig.experimental.validateRSCRequestHeaders) {
+ (0, _requestmeta.addRequestMeta)(ctx.req, 'cacheBustingSearchParam', query[_approuterheaders.NEXT_RSC_UNION_QUERY]);
+ }
+ delete query[_approuterheaders.NEXT_RSC_UNION_QUERY];
+ const options = {
+ i18n: (_this_i18nProvider = this.i18nProvider) == null ? void 0 : _this_i18nProvider.fromRequest(req, pathname)
+ };
+ try {
+ for await (const match of this.matchers.matchAll(pathname, options)){
+ // when a specific invoke-output is meant to be matched
+ // ensure a prior dynamic route/page doesn't take priority
+ const invokeOutput = (0, _requestmeta.getRequestMeta)(ctx.req, 'invokeOutput');
+ if (!this.minimalMode && typeof invokeOutput === 'string' && (0, _utils1.isDynamicRoute)(invokeOutput || '') && invokeOutput !== match.definition.pathname) {
+ continue;
+ }
+ const result = await this.renderPageComponent({
+ ...ctx,
+ pathname: match.definition.pathname,
+ renderOpts: {
+ ...ctx.renderOpts,
+ params: match.params
+ }
+ }, bubbleNoFallback);
+ if (result !== false) return result;
+ }
+ // currently edge functions aren't receiving the x-matched-path
+ // header so we need to fallback to matching the current page
+ // when we weren't able to match via dynamic route to handle
+ // the rewrite case
+ // @ts-expect-error extended in child class web-server
+ if (this.serverOptions.webServerConfig) {
+ // @ts-expect-error extended in child class web-server
+ ctx.pathname = this.serverOptions.webServerConfig.page;
+ const result = await this.renderPageComponent(ctx, bubbleNoFallback);
+ if (result !== false) return result;
+ }
+ } catch (error) {
+ const err = (0, _iserror.getProperError)(error);
+ if (error instanceof _utils.MissingStaticPage) {
+ console.error('Invariant: failed to load static page', JSON.stringify({
+ page,
+ url: ctx.req.url,
+ matchedPath: ctx.req.headers[_constants2.MATCHED_PATH_HEADER],
+ initUrl: (0, _requestmeta.getRequestMeta)(ctx.req, 'initURL'),
+ didRewrite: !!(0, _requestmeta.getRequestMeta)(ctx.req, 'rewroteURL'),
+ rewroteUrl: (0, _requestmeta.getRequestMeta)(ctx.req, 'rewroteURL')
+ }, null, 2));
+ throw err;
+ }
+ if (err instanceof _nofallbackerrorexternal.NoFallbackError && bubbleNoFallback) {
+ throw err;
+ }
+ if (err instanceof _utils.DecodeError || err instanceof _utils.NormalizeError) {
+ res.statusCode = 400;
+ return await this.renderErrorToResponse(ctx, err);
+ }
+ res.statusCode = 500;
+ // if pages/500 is present we still need to trigger
+ // /_error `getInitialProps` to allow reporting error
+ if (await this.hasPage('/500')) {
+ (0, _requestmeta.addRequestMeta)(ctx.req, 'customErrorRender', true);
+ await this.renderErrorToResponse(ctx, err);
+ (0, _requestmeta.removeRequestMeta)(ctx.req, 'customErrorRender');
+ }
+ const isWrappedError = err instanceof WrappedBuildError;
+ if (!isWrappedError) {
+ if (this.minimalMode && process.env.NEXT_RUNTIME !== 'edge' || this.renderOpts.dev) {
+ if ((0, _iserror.default)(err)) err.page = page;
+ throw err;
+ }
+ this.logError((0, _iserror.getProperError)(err));
+ }
+ const response = await this.renderErrorToResponse(ctx, isWrappedError ? err.innerError : err);
+ return response;
+ }
+ const middleware = await this.getMiddleware();
+ if (middleware && !!ctx.req.headers['x-nextjs-data'] && (!res.statusCode || res.statusCode === 200 || res.statusCode === 404)) {
+ const locale = (0, _requestmeta.getRequestMeta)(req, 'locale');
+ res.setHeader('x-nextjs-matched-path', `${locale ? `/${locale}` : ''}${pathname}`);
+ res.statusCode = 200;
+ res.setHeader('content-type', 'application/json');
+ res.body('{}');
+ res.send();
+ return null;
+ }
+ res.statusCode = 404;
+ return this.renderErrorToResponse(ctx, null);
+ }
+ async renderToHTML(req, res, pathname, query = {}) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.renderToHTML, async ()=>{
+ return this.renderToHTMLImpl(req, res, pathname, query);
+ });
+ }
+ async renderToHTMLImpl(req, res, pathname, query = {}) {
+ return this.getStaticHTML((ctx)=>this.renderToResponse(ctx), {
+ req,
+ res,
+ pathname,
+ query
+ });
+ }
+ async renderError(err, req, res, pathname, query = {}, setHeaders = true) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.renderError, async ()=>{
+ return this.renderErrorImpl(err, req, res, pathname, query, setHeaders);
+ });
+ }
+ async renderErrorImpl(err, req, res, pathname, query = {}, setHeaders = true) {
+ if (setHeaders) {
+ res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
+ }
+ return this.pipe(async (ctx)=>{
+ const response = await this.renderErrorToResponse(ctx, err);
+ if (this.minimalMode && res.statusCode === 500) {
+ throw err;
+ }
+ return response;
+ }, {
+ req,
+ res,
+ pathname,
+ query
+ });
+ }
+ async renderErrorToResponse(ctx, err) {
+ return (0, _tracer.getTracer)().trace(_constants1.BaseServerSpan.renderErrorToResponse, async ()=>{
+ return this.renderErrorToResponseImpl(ctx, err);
+ });
+ }
+ async renderErrorToResponseImpl(ctx, err) {
+ // Short-circuit favicon.ico in development to avoid compiling 404 page when the app has no favicon.ico.
+ // Since favicon.ico is automatically requested by the browser.
+ if (this.renderOpts.dev && ctx.pathname === '/favicon.ico') {
+ return {
+ type: 'html',
+ body: _renderresult.default.fromStatic('')
+ };
+ }
+ const { res, query } = ctx;
+ try {
+ let result = null;
+ const is404 = res.statusCode === 404;
+ let using404Page = false;
+ if (is404) {
+ if (this.enabledDirectories.app) {
+ // Use the not-found entry in app directory
+ result = await this.findPageComponents({
+ locale: (0, _requestmeta.getRequestMeta)(ctx.req, 'locale'),
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,
+ query,
+ params: {},
+ isAppPath: true,
+ shouldEnsure: true,
+ url: ctx.req.url
+ });
+ using404Page = result !== null;
+ }
+ if (!result && await this.hasPage('/404')) {
+ result = await this.findPageComponents({
+ locale: (0, _requestmeta.getRequestMeta)(ctx.req, 'locale'),
+ page: '/404',
+ query,
+ params: {},
+ isAppPath: false,
+ // Ensuring can't be done here because you never "match" a 404 route.
+ shouldEnsure: true,
+ url: ctx.req.url
+ });
+ using404Page = result !== null;
+ }
+ }
+ let statusPage = `/${res.statusCode}`;
+ if (!(0, _requestmeta.getRequestMeta)(ctx.req, 'customErrorRender') && !result && _constants.STATIC_STATUS_PAGES.includes(statusPage)) {
+ // skip ensuring /500 in dev mode as it isn't used and the
+ // dev overlay is used instead
+ if (statusPage !== '/500' || !this.renderOpts.dev) {
+ result = await this.findPageComponents({
+ locale: (0, _requestmeta.getRequestMeta)(ctx.req, 'locale'),
+ page: statusPage,
+ query,
+ params: {},
+ isAppPath: false,
+ // Ensuring can't be done here because you never "match" a 500
+ // route.
+ shouldEnsure: true,
+ url: ctx.req.url
+ });
+ }
+ }
+ if (!result) {
+ result = await this.findPageComponents({
+ locale: (0, _requestmeta.getRequestMeta)(ctx.req, 'locale'),
+ page: '/_error',
+ query,
+ params: {},
+ isAppPath: false,
+ // Ensuring can't be done here because you never "match" an error
+ // route.
+ shouldEnsure: true,
+ url: ctx.req.url
+ });
+ statusPage = '/_error';
+ }
+ if (process.env.NODE_ENV !== 'production' && !using404Page && await this.hasPage('/_error') && !await this.hasPage('/404')) {
+ this.customErrorNo404Warn();
+ }
+ if (!result) {
+ // this can occur when a project directory has been moved/deleted
+ // which is handled in the parent process in development
+ if (this.renderOpts.dev) {
+ return {
+ type: 'html',
+ // wait for dev-server to restart before refreshing
+ body: _renderresult.default.fromStatic(`
+ missing required error components, refreshing...
+ `)
+ };
+ }
+ throw new WrappedBuildError(Object.defineProperty(new Error('missing required error components'), "__NEXT_ERROR_CODE", {
+ value: "E60",
+ enumerable: false,
+ configurable: true
+ }));
+ }
+ // If the page has a route module, use it for the new match. If it doesn't
+ // have a route module, remove the match.
+ if (result.components.routeModule) {
+ (0, _requestmeta.addRequestMeta)(ctx.req, 'match', {
+ definition: result.components.routeModule.definition,
+ params: undefined
+ });
+ } else {
+ (0, _requestmeta.removeRequestMeta)(ctx.req, 'match');
+ }
+ try {
+ return await this.renderToResponseWithComponents({
+ ...ctx,
+ pathname: statusPage,
+ renderOpts: {
+ ...ctx.renderOpts,
+ err
+ }
+ }, result);
+ } catch (maybeFallbackError) {
+ if (maybeFallbackError instanceof _nofallbackerrorexternal.NoFallbackError) {
+ throw Object.defineProperty(new Error('invariant: failed to render error page'), "__NEXT_ERROR_CODE", {
+ value: "E55",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ throw maybeFallbackError;
+ }
+ } catch (error) {
+ const renderToHtmlError = (0, _iserror.getProperError)(error);
+ const isWrappedError = renderToHtmlError instanceof WrappedBuildError;
+ if (!isWrappedError) {
+ this.logError(renderToHtmlError);
+ }
+ res.statusCode = 500;
+ const fallbackComponents = await this.getFallbackErrorComponents(ctx.req.url);
+ if (fallbackComponents) {
+ // There was an error, so use it's definition from the route module
+ // to add the match to the request.
+ (0, _requestmeta.addRequestMeta)(ctx.req, 'match', {
+ definition: fallbackComponents.routeModule.definition,
+ params: undefined
+ });
+ return this.renderToResponseWithComponents({
+ ...ctx,
+ pathname: '/_error',
+ renderOpts: {
+ ...ctx.renderOpts,
+ // We render `renderToHtmlError` here because `err` is
+ // already captured in the stacktrace.
+ err: isWrappedError ? renderToHtmlError.innerError : renderToHtmlError
+ }
+ }, {
+ query,
+ components: fallbackComponents
+ });
+ }
+ return {
+ type: 'html',
+ body: _renderresult.default.fromStatic('Internal Server Error')
+ };
+ }
+ }
+ async renderErrorToHTML(err, req, res, pathname, query = {}) {
+ return this.getStaticHTML((ctx)=>this.renderErrorToResponse(ctx, err), {
+ req,
+ res,
+ pathname,
+ query
+ });
+ }
+ async render404(req, res, parsedUrl, setHeaders = true) {
+ const { pathname, query } = parsedUrl ? parsedUrl : (0, _url.parse)(req.url, true);
+ // Ensure the locales are provided on the request meta.
+ if (this.nextConfig.i18n) {
+ if (!(0, _requestmeta.getRequestMeta)(req, 'locale')) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', this.nextConfig.i18n.defaultLocale);
+ }
+ (0, _requestmeta.addRequestMeta)(req, 'defaultLocale', this.nextConfig.i18n.defaultLocale);
+ }
+ res.statusCode = 404;
+ return this.renderError(null, req, res, pathname, query, setHeaders);
+ }
+}
+
+//# sourceMappingURL=base-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/body-streams.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/body-streams.js
new file mode 100644
index 0000000000000000000000000000000000000000..a0ca3627dfbbea243dd3e7e2d497628a4fa538ef
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/body-streams.js
@@ -0,0 +1,90 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getCloneableBody: null,
+ requestToBodyStream: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getCloneableBody: function() {
+ return getCloneableBody;
+ },
+ requestToBodyStream: function() {
+ return requestToBodyStream;
+ }
+});
+const _stream = require("stream");
+function requestToBodyStream(context, KUint8Array, stream) {
+ return new context.ReadableStream({
+ start: async (controller)=>{
+ for await (const chunk of stream){
+ controller.enqueue(new KUint8Array(chunk));
+ }
+ controller.close();
+ }
+ });
+}
+function replaceRequestBody(base, stream) {
+ for(const key in stream){
+ let v = stream[key];
+ if (typeof v === 'function') {
+ v = v.bind(base);
+ }
+ base[key] = v;
+ }
+ return base;
+}
+function getCloneableBody(readable) {
+ let buffered = null;
+ const endPromise = new Promise((resolve, reject)=>{
+ readable.on('end', resolve);
+ readable.on('error', reject);
+ }).catch((error)=>{
+ return {
+ error
+ };
+ });
+ return {
+ /**
+ * Replaces the original request body if necessary.
+ * This is done because once we read the body from the original request,
+ * we can't read it again.
+ */ async finalize () {
+ if (buffered) {
+ const res = await endPromise;
+ if (res && typeof res === 'object' && res.error) {
+ throw res.error;
+ }
+ replaceRequestBody(readable, buffered);
+ buffered = readable;
+ }
+ },
+ /**
+ * Clones the body stream
+ * to pass into a middleware
+ */ cloneBodyStream () {
+ const input = buffered ?? readable;
+ const p1 = new _stream.PassThrough();
+ const p2 = new _stream.PassThrough();
+ input.on('data', (chunk)=>{
+ p1.push(chunk);
+ p2.push(chunk);
+ });
+ input.on('end', ()=>{
+ p1.push(null);
+ p2.push(null);
+ });
+ buffered = p2;
+ return p1;
+ }
+ };
+}
+
+//# sourceMappingURL=body-streams.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/cache-dir.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/cache-dir.js
new file mode 100644
index 0000000000000000000000000000000000000000..e182bfd42cddb87f8d0d412b3eebbddf6341f8d2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/cache-dir.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getStorageDirectory", {
+ enumerable: true,
+ get: function() {
+ return getStorageDirectory;
+ }
+});
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _isdocker = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/is-docker"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function getStorageDirectory(distDir) {
+ const isLikelyEphemeral = (0, _isdocker.default)();
+ if (isLikelyEphemeral) {
+ return undefined;
+ }
+ return _path.default.join(distDir, 'cache');
+}
+
+//# sourceMappingURL=cache-dir.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/capsize-font-metrics.json b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/capsize-font-metrics.json
new file mode 100644
index 0000000000000000000000000000000000000000..7d1c5691b4c8e6c4bab329c81c05dd18c0c22fb2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/capsize-font-metrics.json
@@ -0,0 +1,181516 @@
+{
+ "aBeeZee": {
+ "familyName": "ABeeZee",
+ "fullName": "ABeeZee Regular",
+ "postscriptName": "ABeeZee-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "ABeeZee",
+ "fullName": "ABeeZee Regular",
+ "postscriptName": "ABeeZee-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "ABeeZee",
+ "fullName": "ABeeZee Italic",
+ "postscriptName": "ABeeZee-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "aDLaMDisplay": {
+ "familyName": "ADLaM Display",
+ "fullName": "ADLaM Display Regular",
+ "postscriptName": "ADLaMDisplay-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2140,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 991,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 991
+ },
+ "thai": {
+ "xWidthAvg": 1370
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "ADLaM Display",
+ "fullName": "ADLaM Display Regular",
+ "postscriptName": "ADLaMDisplay-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2140,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 991,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 991
+ },
+ "thai": {
+ "xWidthAvg": 1370
+ }
+ }
+ }
+ }
+ },
+ "aROneSans": {
+ "familyName": "AR One Sans",
+ "fullName": "AR One Sans Regular",
+ "postscriptName": "AROneSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1060,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "AR One Sans",
+ "fullName": "AR One Sans Medium",
+ "postscriptName": "AROneSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1060,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "AR One Sans",
+ "fullName": "AR One Sans SemiBold",
+ "postscriptName": "AROneSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1060,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "AR One Sans",
+ "fullName": "AR One Sans Bold",
+ "postscriptName": "AROneSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1060,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "AR One Sans",
+ "fullName": "AR One Sans Regular",
+ "postscriptName": "AROneSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1060,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "abel": {
+ "familyName": "Abel",
+ "fullName": "Abel Regular",
+ "postscriptName": "Abel-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2006,
+ "descent": -604,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1044,
+ "xWidthAvg": 783,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 783
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Abel",
+ "fullName": "Abel Regular",
+ "postscriptName": "Abel-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2006,
+ "descent": -604,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1044,
+ "xWidthAvg": 783,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 783
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "abhayaLibre": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre Regular",
+ "postscriptName": "AbhayaLibre-Regular",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre Medium",
+ "postscriptName": "AbhayaLibre-Medium",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "600": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre SemiBold",
+ "postscriptName": "AbhayaLibre-SemiBold",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "700": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre Bold",
+ "postscriptName": "AbhayaLibre-Bold",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "800": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre ExtraBold",
+ "postscriptName": "AbhayaLibre-ExtraBold",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Abhaya Libre",
+ "fullName": "Abhaya Libre Regular",
+ "postscriptName": "AbhayaLibre-Regular",
+ "category": "serif",
+ "ascent": 860,
+ "descent": -348,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ }
+ }
+ },
+ "aboreto": {
+ "familyName": "Aboreto",
+ "fullName": "Aboreto Regular",
+ "postscriptName": "Aboreto-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 930,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 585,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 585
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aboreto",
+ "fullName": "Aboreto Regular",
+ "postscriptName": "Aboreto-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 930,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 585,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 585
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ }
+ }
+ }
+ },
+ "abrilFatface": {
+ "familyName": "Abril Fatface",
+ "fullName": "Abril Fatface",
+ "postscriptName": "AbrilFatface-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1058,
+ "descent": -291,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Abril Fatface",
+ "fullName": "Abril Fatface",
+ "postscriptName": "AbrilFatface-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1058,
+ "descent": -291,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "abyssinicaSIL": {
+ "familyName": "Abyssinica SIL",
+ "fullName": "Abyssinica SIL",
+ "postscriptName": "AbyssinicaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1108,
+ "ascent": 2034,
+ "descent": -682,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Abyssinica SIL",
+ "fullName": "Abyssinica SIL",
+ "postscriptName": "AbyssinicaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1108,
+ "ascent": 2034,
+ "descent": -682,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "aclonica": {
+ "familyName": "Aclonica",
+ "fullName": "Aclonica Regular",
+ "postscriptName": "Aclonica-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 1687,
+ "descent": -533,
+ "lineGap": 101,
+ "unitsPerEm": 2048,
+ "xHeight": 1155,
+ "xWidthAvg": 1132,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1132
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aclonica",
+ "fullName": "Aclonica Regular",
+ "postscriptName": "Aclonica-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 1687,
+ "descent": -533,
+ "lineGap": 101,
+ "unitsPerEm": 2048,
+ "xHeight": 1155,
+ "xWidthAvg": 1132,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1132
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ }
+ }
+ },
+ "acme": {
+ "familyName": "Acme",
+ "fullName": "Acme Regular",
+ "postscriptName": "Acme-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 959,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 107,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 154
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Acme",
+ "fullName": "Acme Regular",
+ "postscriptName": "Acme-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 959,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 107,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 154
+ }
+ }
+ }
+ }
+ },
+ "actor": {
+ "familyName": "Actor",
+ "fullName": "Actor Regular",
+ "postscriptName": "Actor-Regular",
+ "category": "sans-serif",
+ "capHeight": 682,
+ "ascent": 941,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 360
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Actor",
+ "fullName": "Actor Regular",
+ "postscriptName": "Actor-Regular",
+ "category": "sans-serif",
+ "capHeight": 682,
+ "ascent": 941,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 360
+ }
+ }
+ }
+ }
+ },
+ "adamina": {
+ "familyName": "Adamina",
+ "fullName": "Adamina Regular",
+ "postscriptName": "Adamina-Regular",
+ "category": "serif",
+ "capHeight": 796,
+ "ascent": 1072,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Adamina",
+ "fullName": "Adamina Regular",
+ "postscriptName": "Adamina-Regular",
+ "category": "serif",
+ "capHeight": 796,
+ "ascent": 1072,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "adventPro": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Regular",
+ "postscriptName": "AdventPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Thin",
+ "postscriptName": "AdventPro-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro ExtraLight",
+ "postscriptName": "AdventPro-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 359
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Light",
+ "postscriptName": "AdventPro-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Medium",
+ "postscriptName": "AdventPro-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro SemiBold",
+ "postscriptName": "AdventPro-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Bold",
+ "postscriptName": "AdventPro-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro ExtraBold",
+ "postscriptName": "AdventPro-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Black",
+ "postscriptName": "AdventPro-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Regular",
+ "postscriptName": "AdventPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Italic",
+ "postscriptName": "AdventPro-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Black Italic",
+ "postscriptName": "AdventPro-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro ExtraBold Italic",
+ "postscriptName": "AdventPro-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Bold Italic",
+ "postscriptName": "AdventPro-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro SemiBold Italic",
+ "postscriptName": "AdventPro-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Medium Italic",
+ "postscriptName": "AdventPro-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Light Italic",
+ "postscriptName": "AdventPro-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro ExtraLight Italic",
+ "postscriptName": "AdventPro-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Advent Pro",
+ "fullName": "Advent Pro Thin Italic",
+ "postscriptName": "AdventPro-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 964,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "afacad": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Regular",
+ "postscriptName": "Afacad-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Medium",
+ "postscriptName": "Afacad-Medium",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 572,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 572
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600": {
+ "familyName": "Afacad",
+ "fullName": "Afacad SemiBold",
+ "postscriptName": "Afacad-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Bold",
+ "postscriptName": "Afacad-Bold",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 569,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 569
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Regular",
+ "postscriptName": "Afacad-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Italic",
+ "postscriptName": "Afacad-Italic",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Bold Italic",
+ "postscriptName": "Afacad-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 569,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 569
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Afacad",
+ "fullName": "Afacad SemiBold Italic",
+ "postscriptName": "Afacad-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Afacad",
+ "fullName": "Afacad Medium Italic",
+ "postscriptName": "Afacad-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 572,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 572
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "afacadFlux": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Regular",
+ "postscriptName": "AfacadFlux-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Thin",
+ "postscriptName": "AfacadFlux-Thin",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 570,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "200": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux ExtraLight",
+ "postscriptName": "AfacadFlux-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 578,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "300": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Light",
+ "postscriptName": "AfacadFlux-Light",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 585,
+ "xWidthAvg": 566,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 566
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Medium",
+ "postscriptName": "AfacadFlux-Medium",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 572,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 572
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux SemiBold",
+ "postscriptName": "AfacadFlux-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Bold",
+ "postscriptName": "AfacadFlux-Bold",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 569,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 569
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "800": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux ExtraBold",
+ "postscriptName": "AfacadFlux-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 615,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "900": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Black",
+ "postscriptName": "AfacadFlux-Black",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 623,
+ "xWidthAvg": 586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 586
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Afacad Flux",
+ "fullName": "Afacad Flux Regular",
+ "postscriptName": "AfacadFlux-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1440,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1440,
+ "xHeight": 600,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "agbalumo": {
+ "familyName": "Agbalumo",
+ "fullName": "Agbalumo Regular",
+ "postscriptName": "Agbalumo-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1200,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 799
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Agbalumo",
+ "fullName": "Agbalumo Regular",
+ "postscriptName": "Agbalumo-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1200,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 799
+ }
+ }
+ }
+ }
+ },
+ "agdasima": {
+ "familyName": "Agdasima",
+ "fullName": "Agdasima Regular",
+ "postscriptName": "Agdasima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2015,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 649,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 649
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Agdasima",
+ "fullName": "Agdasima Bold",
+ "postscriptName": "Agdasima-Bold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2042,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 702,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 702
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Agdasima",
+ "fullName": "Agdasima Regular",
+ "postscriptName": "Agdasima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2015,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 649,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 649
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "aguafinaScript": {
+ "familyName": "Aguafina Script",
+ "fullName": "Aguafina Script Regular",
+ "postscriptName": "AguafinaScript-Regular",
+ "category": "handwriting",
+ "capHeight": 780,
+ "ascent": 966,
+ "descent": -581,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 356,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aguafina Script",
+ "fullName": "Aguafina Script Regular",
+ "postscriptName": "AguafinaScript-Regular",
+ "category": "handwriting",
+ "capHeight": 780,
+ "ascent": 966,
+ "descent": -581,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 356,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "akatab": {
+ "familyName": "Akatab",
+ "fullName": "Akatab",
+ "postscriptName": "Akatab-Regular",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 914,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 914
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Akatab",
+ "fullName": "Akatab Medium",
+ "postscriptName": "Akatab-Medium",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 925,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 925
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "600": {
+ "familyName": "Akatab",
+ "fullName": "Akatab SemiBold",
+ "postscriptName": "Akatab-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 933,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 933
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "700": {
+ "familyName": "Akatab",
+ "fullName": "Akatab Bold",
+ "postscriptName": "Akatab-Bold",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 942,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 942
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "800": {
+ "familyName": "Akatab",
+ "fullName": "Akatab ExtraBold",
+ "postscriptName": "Akatab-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 955,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 955
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "900": {
+ "familyName": "Akatab",
+ "fullName": "Akatab Black",
+ "postscriptName": "Akatab-Black",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Akatab",
+ "fullName": "Akatab",
+ "postscriptName": "Akatab-Regular",
+ "category": "sans-serif",
+ "capHeight": 1393,
+ "ascent": 2093,
+ "descent": -711,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 914,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 914
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ }
+ }
+ },
+ "akayaKanadaka": {
+ "familyName": "Akaya Kanadaka",
+ "fullName": "Akaya Kanadaka Regular",
+ "postscriptName": "AkayaKanadaka-Regular",
+ "category": "display",
+ "capHeight": 634,
+ "ascent": 920,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 396,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Akaya Kanadaka",
+ "fullName": "Akaya Kanadaka Regular",
+ "postscriptName": "AkayaKanadaka-Regular",
+ "category": "display",
+ "capHeight": 634,
+ "ascent": 920,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 396,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ }
+ }
+ },
+ "akayaTelivigala": {
+ "familyName": "Akaya Telivigala",
+ "fullName": "Akaya Telivigala Regular",
+ "postscriptName": "AkayaTelivigala-Regular",
+ "category": "display",
+ "capHeight": 613,
+ "ascent": 920,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Akaya Telivigala",
+ "fullName": "Akaya Telivigala Regular",
+ "postscriptName": "AkayaTelivigala-Regular",
+ "category": "display",
+ "capHeight": 613,
+ "ascent": 920,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ }
+ }
+ },
+ "akronim": {
+ "familyName": "Akronim",
+ "fullName": "Akronim Regular",
+ "postscriptName": "Akronim-Regular",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 785,
+ "descent": -314,
+ "lineGap": 43,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 333
+ },
+ "thai": {
+ "xWidthAvg": 342
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Akronim",
+ "fullName": "Akronim Regular",
+ "postscriptName": "Akronim-Regular",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 785,
+ "descent": -314,
+ "lineGap": 43,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 333
+ },
+ "thai": {
+ "xWidthAvg": 342
+ }
+ }
+ }
+ }
+ },
+ "akshar": {
+ "familyName": "Akshar",
+ "fullName": "Akshar Regular",
+ "postscriptName": "Akshar-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Akshar",
+ "fullName": "Akshar Light",
+ "postscriptName": "Akshar-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 357,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 357
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ },
+ "500": {
+ "familyName": "Akshar",
+ "fullName": "Akshar Medium",
+ "postscriptName": "Akshar-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 895
+ }
+ }
+ },
+ "600": {
+ "familyName": "Akshar",
+ "fullName": "Akshar SemiBold",
+ "postscriptName": "Akshar-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 943
+ }
+ }
+ },
+ "700": {
+ "familyName": "Akshar",
+ "fullName": "Akshar Bold",
+ "postscriptName": "Akshar-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 990
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Akshar",
+ "fullName": "Akshar Regular",
+ "postscriptName": "Akshar-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 990,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ }
+ }
+ },
+ "aladin": {
+ "familyName": "Aladin",
+ "fullName": "Aladin Regular",
+ "postscriptName": "Aladin-Regular",
+ "category": "display",
+ "capHeight": 387,
+ "ascent": 905,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 337,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aladin",
+ "fullName": "Aladin Regular",
+ "postscriptName": "Aladin-Regular",
+ "category": "display",
+ "capHeight": 387,
+ "ascent": 905,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 337,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "alata": {
+ "familyName": "Alata",
+ "fullName": "Alata Regular",
+ "postscriptName": "Alata-Regular",
+ "category": "sans-serif",
+ "capHeight": 735,
+ "ascent": 1100,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alata",
+ "fullName": "Alata Regular",
+ "postscriptName": "Alata-Regular",
+ "category": "sans-serif",
+ "capHeight": 735,
+ "ascent": 1100,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ }
+ }
+ },
+ "alatsi": {
+ "familyName": "Alatsi",
+ "fullName": "Alatsi Regular",
+ "postscriptName": "Alatsi-Regular",
+ "category": "sans-serif",
+ "capHeight": 1394,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 996,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1728
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alatsi",
+ "fullName": "Alatsi Regular",
+ "postscriptName": "Alatsi-Regular",
+ "category": "sans-serif",
+ "capHeight": 1394,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 996,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1728
+ }
+ }
+ }
+ }
+ },
+ "albertSans": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Regular",
+ "postscriptName": "AlbertSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Thin",
+ "postscriptName": "AlbertSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 678
+ }
+ }
+ },
+ "200": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans ExtraLight",
+ "postscriptName": "AlbertSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 673
+ }
+ }
+ },
+ "300": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Light",
+ "postscriptName": "AlbertSans-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Medium",
+ "postscriptName": "AlbertSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "600": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans SemiBold",
+ "postscriptName": "AlbertSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 639
+ }
+ }
+ },
+ "700": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Bold",
+ "postscriptName": "AlbertSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "800": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans ExtraBold",
+ "postscriptName": "AlbertSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ },
+ "900": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Black",
+ "postscriptName": "AlbertSans-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Regular",
+ "postscriptName": "AlbertSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Italic",
+ "postscriptName": "AlbertSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Black Italic",
+ "postscriptName": "AlbertSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans ExtraBold Italic",
+ "postscriptName": "AlbertSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Bold Italic",
+ "postscriptName": "AlbertSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans SemiBold Italic",
+ "postscriptName": "AlbertSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 639
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Medium Italic",
+ "postscriptName": "AlbertSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Light Italic",
+ "postscriptName": "AlbertSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans ExtraLight Italic",
+ "postscriptName": "AlbertSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 673
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Albert Sans",
+ "fullName": "Albert Sans Thin Italic",
+ "postscriptName": "AlbertSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 678
+ }
+ }
+ }
+ }
+ },
+ "aldrich": {
+ "familyName": "Aldrich",
+ "fullName": "Aldrich Regular",
+ "postscriptName": "Aldrich-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1475,
+ "descent": -430,
+ "lineGap": 98,
+ "unitsPerEm": 2048,
+ "xHeight": 1065,
+ "xWidthAvg": 1060,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1060
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aldrich",
+ "fullName": "Aldrich Regular",
+ "postscriptName": "Aldrich-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1475,
+ "descent": -430,
+ "lineGap": 98,
+ "unitsPerEm": 2048,
+ "xHeight": 1065,
+ "xWidthAvg": 1060,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1060
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "alef": {
+ "familyName": "Alef",
+ "fullName": "Alef Regular",
+ "postscriptName": "Alef-Regular",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2067,
+ "descent": -722,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Alef",
+ "fullName": "Alef Bold",
+ "postscriptName": "Alef-Bold",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2067,
+ "descent": -722,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 1020,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1020
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alef",
+ "fullName": "Alef Regular",
+ "postscriptName": "Alef-Regular",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2067,
+ "descent": -722,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "alegreya": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Regular",
+ "postscriptName": "Alegreya-Regular",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Medium",
+ "postscriptName": "Alegreya-Medium",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "600": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya SemiBold",
+ "postscriptName": "Alegreya-SemiBold",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Bold",
+ "postscriptName": "Alegreya-Bold",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya ExtraBold",
+ "postscriptName": "Alegreya-ExtraBold",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Black",
+ "postscriptName": "Alegreya-Black",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Regular",
+ "postscriptName": "Alegreya-Regular",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Italic",
+ "postscriptName": "Alegreya-Italic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Black Italic",
+ "postscriptName": "Alegreya-BlackItalic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya ExtraBold Italic",
+ "postscriptName": "Alegreya-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Bold Italic",
+ "postscriptName": "Alegreya-BoldItalic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya SemiBold Italic",
+ "postscriptName": "Alegreya-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Alegreya",
+ "fullName": "Alegreya Medium Italic",
+ "postscriptName": "Alegreya-MediumItalic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ }
+ }
+ },
+ "alegreyaSC": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Regular",
+ "postscriptName": "AlegreyaSC-Regular",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Medium",
+ "postscriptName": "AlegreyaSC-Medium",
+ "category": "serif",
+ "capHeight": 638,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Bold",
+ "postscriptName": "AlegreyaSC-Bold",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 461,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC ExtraBold",
+ "postscriptName": "AlegreyaSC-ExtraBold",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Black",
+ "postscriptName": "AlegreyaSC-Black",
+ "category": "serif",
+ "capHeight": 647,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Regular",
+ "postscriptName": "AlegreyaSC-Regular",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Italic",
+ "postscriptName": "AlegreyaSC-Italic",
+ "category": "serif",
+ "capHeight": 636,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Black Italic",
+ "postscriptName": "AlegreyaSC-BlackItalic",
+ "category": "serif",
+ "capHeight": 647,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC ExtraBold Italic",
+ "postscriptName": "AlegreyaSC-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Bold Italic",
+ "postscriptName": "AlegreyaSC-BoldItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 461,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Alegreya SC",
+ "fullName": "Alegreya SC Medium Italic",
+ "postscriptName": "AlegreyaSC-MediumItalic",
+ "category": "serif",
+ "capHeight": 638,
+ "ascent": 1016,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ }
+ }
+ },
+ "alegreyaSans": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Regular",
+ "postscriptName": "AlegreyaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 641,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 165
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Thin",
+ "postscriptName": "AlegreyaSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 637,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ },
+ "300": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Light",
+ "postscriptName": "AlegreyaSans-Light",
+ "category": "sans-serif",
+ "capHeight": 639,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 172
+ }
+ }
+ },
+ "500": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Medium",
+ "postscriptName": "AlegreyaSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 642,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 461,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Bold",
+ "postscriptName": "AlegreyaSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 151
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans ExtraBold",
+ "postscriptName": "AlegreyaSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 645,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 145
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Black",
+ "postscriptName": "AlegreyaSans-Black",
+ "category": "sans-serif",
+ "capHeight": 647,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 135
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Regular",
+ "postscriptName": "AlegreyaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 641,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 165
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Italic",
+ "postscriptName": "AlegreyaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 167
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Black Italic",
+ "postscriptName": "AlegreyaSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 647,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 135
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans ExtraBold Italic",
+ "postscriptName": "AlegreyaSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 645,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 146
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Bold Italic",
+ "postscriptName": "AlegreyaSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 464,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 152
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Medium Italic",
+ "postscriptName": "AlegreyaSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 642,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 359
+ },
+ "thai": {
+ "xWidthAvg": 161
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Light Italic",
+ "postscriptName": "AlegreyaSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 639,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 173
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Alegreya Sans",
+ "fullName": "Alegreya Sans Thin Italic",
+ "postscriptName": "AlegreyaSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 637,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 340,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 340
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "alegreyaSansSC": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Regular",
+ "postscriptName": "AlegreyaSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 641,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 165
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Thin",
+ "postscriptName": "AlegreyaSansSC-Thin",
+ "category": "sans-serif",
+ "capHeight": 637,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ },
+ "300": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Light",
+ "postscriptName": "AlegreyaSansSC-Light",
+ "category": "sans-serif",
+ "capHeight": 639,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 172
+ }
+ }
+ },
+ "500": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Medium",
+ "postscriptName": "AlegreyaSansSC-Medium",
+ "category": "sans-serif",
+ "capHeight": 642,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 461,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Bold",
+ "postscriptName": "AlegreyaSansSC-Bold",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 151
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC ExtraBold",
+ "postscriptName": "AlegreyaSansSC-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 645,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 145
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Black",
+ "postscriptName": "AlegreyaSansSC-Black",
+ "category": "sans-serif",
+ "capHeight": 647,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 135
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Regular",
+ "postscriptName": "AlegreyaSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 641,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 165
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Italic",
+ "postscriptName": "AlegreyaSansSC-Italic",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 167
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Black Italic",
+ "postscriptName": "AlegreyaSansSC-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 647,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 135
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC ExtraBold Italic",
+ "postscriptName": "AlegreyaSansSC-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 645,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 146
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Bold Italic",
+ "postscriptName": "AlegreyaSansSC-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 464,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 152
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Medium Italic",
+ "postscriptName": "AlegreyaSansSC-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 642,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 161
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Light Italic",
+ "postscriptName": "AlegreyaSansSC-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 639,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 173
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Alegreya Sans SC",
+ "fullName": "Alegreya Sans SC Thin Italic",
+ "postscriptName": "AlegreyaSansSC-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 637,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "aleo": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Regular",
+ "postscriptName": "Aleo-Regular",
+ "category": "serif",
+ "capHeight": 737,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Thin",
+ "postscriptName": "Aleo-Thin",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "200": {
+ "familyName": "Aleo",
+ "fullName": "Aleo ExtraLight",
+ "postscriptName": "Aleo-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "300": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Light",
+ "postscriptName": "Aleo-Light",
+ "category": "serif",
+ "capHeight": 719,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "500": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Medium",
+ "postscriptName": "Aleo-Medium",
+ "category": "serif",
+ "capHeight": 739,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "600": {
+ "familyName": "Aleo",
+ "fullName": "Aleo SemiBold",
+ "postscriptName": "Aleo-SemiBold",
+ "category": "serif",
+ "capHeight": 741,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "700": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Bold",
+ "postscriptName": "Aleo-Bold",
+ "category": "serif",
+ "capHeight": 744,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ },
+ "800": {
+ "familyName": "Aleo",
+ "fullName": "Aleo ExtraBold",
+ "postscriptName": "Aleo-ExtraBold",
+ "category": "serif",
+ "capHeight": 747,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "900": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Black",
+ "postscriptName": "Aleo-Black",
+ "category": "serif",
+ "capHeight": 749,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Regular",
+ "postscriptName": "Aleo-Regular",
+ "category": "serif",
+ "capHeight": 737,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Italic",
+ "postscriptName": "Aleo-Italic",
+ "category": "serif",
+ "capHeight": 737,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Black Italic",
+ "postscriptName": "Aleo-BlackItalic",
+ "category": "serif",
+ "capHeight": 749,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo ExtraBold Italic",
+ "postscriptName": "Aleo-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 747,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Bold Italic",
+ "postscriptName": "Aleo-BoldItalic",
+ "category": "serif",
+ "capHeight": 744,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo SemiBold Italic",
+ "postscriptName": "Aleo-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 741,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Medium Italic",
+ "postscriptName": "Aleo-MediumItalic",
+ "category": "serif",
+ "capHeight": 739,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Light Italic",
+ "postscriptName": "Aleo-LightItalic",
+ "category": "serif",
+ "capHeight": 719,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo ExtraLight Italic",
+ "postscriptName": "Aleo-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Aleo",
+ "fullName": "Aleo Thin Italic",
+ "postscriptName": "Aleo-ThinItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 905,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ }
+ }
+ },
+ "alexBrush": {
+ "familyName": "Alex Brush",
+ "fullName": "Alex Brush Regular",
+ "postscriptName": "AlexBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 825,
+ "descent": -425,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alex Brush",
+ "fullName": "Alex Brush Regular",
+ "postscriptName": "AlexBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 825,
+ "descent": -425,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ }
+ }
+ },
+ "alexandria": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Regular",
+ "postscriptName": "Alexandria-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Thin",
+ "postscriptName": "Alexandria-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "200": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria ExtraLight",
+ "postscriptName": "Alexandria-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Light",
+ "postscriptName": "Alexandria-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "500": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Medium",
+ "postscriptName": "Alexandria-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria SemiBold",
+ "postscriptName": "Alexandria-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Bold",
+ "postscriptName": "Alexandria-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria ExtraBold",
+ "postscriptName": "Alexandria-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Black",
+ "postscriptName": "Alexandria-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alexandria",
+ "fullName": "Alexandria Regular",
+ "postscriptName": "Alexandria-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ }
+ }
+ },
+ "alfaSlabOne": {
+ "familyName": "Alfa Slab One",
+ "fullName": "Alfa Slab One Regular",
+ "postscriptName": "AlfaSlabOne-Regular",
+ "category": "display",
+ "capHeight": 778,
+ "ascent": 1036,
+ "descent": -333,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 730
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alfa Slab One",
+ "fullName": "Alfa Slab One Regular",
+ "postscriptName": "AlfaSlabOne-Regular",
+ "category": "display",
+ "capHeight": 778,
+ "ascent": 1036,
+ "descent": -333,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 730
+ }
+ }
+ }
+ }
+ },
+ "alice": {
+ "familyName": "Alice",
+ "fullName": "Alice Regular",
+ "postscriptName": "Alice-Regular",
+ "category": "serif",
+ "capHeight": 631,
+ "ascent": 909,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 453,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alice",
+ "fullName": "Alice Regular",
+ "postscriptName": "Alice-Regular",
+ "category": "serif",
+ "capHeight": 631,
+ "ascent": 909,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 453,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ }
+ }
+ },
+ "alike": {
+ "familyName": "Alike",
+ "fullName": "Alike Regular",
+ "postscriptName": "Alike-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 984,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alike",
+ "fullName": "Alike Regular",
+ "postscriptName": "Alike-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 984,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ }
+ }
+ }
+ },
+ "alikeAngular": {
+ "familyName": "Alike Angular",
+ "fullName": "Alike Angular Regular",
+ "postscriptName": "AlikeAngular-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 984,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alike Angular",
+ "fullName": "Alike Angular Regular",
+ "postscriptName": "AlikeAngular-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 984,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ }
+ }
+ }
+ },
+ "alkalami": {
+ "familyName": "Alkalami",
+ "fullName": "Alkalami",
+ "postscriptName": "Alkalami-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1035,
+ "descent": -857,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alkalami",
+ "fullName": "Alkalami",
+ "postscriptName": "Alkalami-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1035,
+ "descent": -857,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ }
+ }
+ },
+ "alkatra": {
+ "familyName": "Alkatra",
+ "fullName": "Alkatra Regular",
+ "postscriptName": "Alkatra-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Alkatra",
+ "fullName": "Alkatra Medium",
+ "postscriptName": "Alkatra-Medium",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Alkatra",
+ "fullName": "Alkatra SemiBold",
+ "postscriptName": "Alkatra-SemiBold",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alkatra",
+ "fullName": "Alkatra Bold",
+ "postscriptName": "Alkatra-Bold",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alkatra",
+ "fullName": "Alkatra Regular",
+ "postscriptName": "Alkatra-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "allan": {
+ "familyName": "Allan",
+ "fullName": "Allan Regular",
+ "postscriptName": "Allan-Regular",
+ "category": "display",
+ "capHeight": 1483,
+ "ascent": 1928,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 638,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 638
+ },
+ "thai": {
+ "xWidthAvg": 1495
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Allan",
+ "fullName": "Allan Bold",
+ "postscriptName": "Allan-Bold",
+ "category": "display",
+ "ascent": 1836,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 688,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 688
+ },
+ "thai": {
+ "xWidthAvg": 1460
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Allan",
+ "fullName": "Allan Regular",
+ "postscriptName": "Allan-Regular",
+ "category": "display",
+ "capHeight": 1483,
+ "ascent": 1928,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 638,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 638
+ },
+ "thai": {
+ "xWidthAvg": 1495
+ }
+ }
+ }
+ }
+ },
+ "allerta": {
+ "familyName": "Allerta",
+ "fullName": "Allerta Regular",
+ "postscriptName": "Allerta-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1057,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 564,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Allerta",
+ "fullName": "Allerta Regular",
+ "postscriptName": "Allerta-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1057,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 564,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ }
+ }
+ }
+ },
+ "allertaStencil": {
+ "familyName": "Allerta Stencil",
+ "fullName": "Allerta Stencil Regular",
+ "postscriptName": "AllertaStencil-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1057,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 564,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Allerta Stencil",
+ "fullName": "Allerta Stencil Regular",
+ "postscriptName": "AllertaStencil-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1057,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 564,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ }
+ }
+ }
+ },
+ "allison": {
+ "familyName": "Allison",
+ "fullName": "Allison Regular",
+ "postscriptName": "Allison-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 890,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 246,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 246
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Allison",
+ "fullName": "Allison Regular",
+ "postscriptName": "Allison-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 890,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 246,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 246
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ }
+ }
+ },
+ "allura": {
+ "familyName": "Allura",
+ "fullName": "Allura Regular",
+ "postscriptName": "Allura-Regular",
+ "category": "handwriting",
+ "capHeight": 590,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 295,
+ "xWidthAvg": 338,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 338
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Allura",
+ "fullName": "Allura Regular",
+ "postscriptName": "Allura-Regular",
+ "category": "handwriting",
+ "capHeight": 590,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 295,
+ "xWidthAvg": 338,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 338
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "almarai": {
+ "familyName": "Almarai",
+ "fullName": "Almarai",
+ "postscriptName": "Almarai-Regular",
+ "category": "sans-serif",
+ "capHeight": 716,
+ "ascent": 905,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 184
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Almarai",
+ "fullName": "Almarai Light",
+ "postscriptName": "Almarai-Light",
+ "category": "sans-serif",
+ "capHeight": 716,
+ "ascent": 905,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 184
+ }
+ }
+ },
+ "700": {
+ "familyName": "Almarai",
+ "fullName": "Almarai Bold",
+ "postscriptName": "Almarai-Bold",
+ "category": "sans-serif",
+ "capHeight": 716,
+ "ascent": 905,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 184
+ }
+ }
+ },
+ "800": {
+ "familyName": "Almarai",
+ "fullName": "Almarai Extrabold",
+ "postscriptName": "Almarai-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 716,
+ "ascent": 905,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 184
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Almarai",
+ "fullName": "Almarai",
+ "postscriptName": "Almarai-Regular",
+ "category": "sans-serif",
+ "capHeight": 716,
+ "ascent": 905,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 184
+ }
+ }
+ }
+ }
+ },
+ "almendra": {
+ "familyName": "Almendra",
+ "fullName": "Almendra Regular",
+ "postscriptName": "Almendra-Regular",
+ "category": "serif",
+ "capHeight": 666,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Almendra",
+ "fullName": "Almendra Bold",
+ "postscriptName": "Almendra-Bold",
+ "category": "serif",
+ "capHeight": 666,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Almendra",
+ "fullName": "Almendra Regular",
+ "postscriptName": "Almendra-Regular",
+ "category": "serif",
+ "capHeight": 666,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Almendra",
+ "fullName": "Almendra Italic",
+ "postscriptName": "Almendra-Italic",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Almendra",
+ "fullName": "Almendra Bold Italic",
+ "postscriptName": "Almendra-BoldItalic",
+ "category": "serif",
+ "capHeight": 679,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "almendraDisplay": {
+ "familyName": "Almendra Display",
+ "fullName": "Almendra Display Regular",
+ "postscriptName": "AlmendraDisplay-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Almendra Display",
+ "fullName": "Almendra Display Regular",
+ "postscriptName": "AlmendraDisplay-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 951,
+ "descent": -345,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "almendraSC": {
+ "familyName": "Almendra SC",
+ "fullName": "Almendra SC Regular",
+ "postscriptName": "AlmendraSC-Regular",
+ "category": "serif",
+ "capHeight": 271,
+ "ascent": 939,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 193,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Almendra SC",
+ "fullName": "Almendra SC Regular",
+ "postscriptName": "AlmendraSC-Regular",
+ "category": "serif",
+ "capHeight": 271,
+ "ascent": 939,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 193,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "alumniSans": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Regular",
+ "postscriptName": "AlumniSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 300
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Thin",
+ "postscriptName": "AlumniSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 290,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 290
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "200": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans ExtraLight",
+ "postscriptName": "AlumniSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "300": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Light",
+ "postscriptName": "AlumniSans-Light",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "500": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Medium",
+ "postscriptName": "AlumniSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "600": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans SemiBold",
+ "postscriptName": "AlumniSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "700": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Bold",
+ "postscriptName": "AlumniSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 314,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 314
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "800": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans ExtraBold",
+ "postscriptName": "AlumniSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "900": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Black",
+ "postscriptName": "AlumniSans-Black",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 325,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 325
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Regular",
+ "postscriptName": "AlumniSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 300
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Italic",
+ "postscriptName": "AlumniSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Black Italic",
+ "postscriptName": "AlumniSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans ExtraBold Italic",
+ "postscriptName": "AlumniSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 322,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 322
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Bold Italic",
+ "postscriptName": "AlumniSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 316,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 316
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans SemiBold Italic",
+ "postscriptName": "AlumniSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 310,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 310
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Medium Italic",
+ "postscriptName": "AlumniSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Light Italic",
+ "postscriptName": "AlumniSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 297,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 297
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans ExtraLight Italic",
+ "postscriptName": "AlumniSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 294,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 294
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Alumni Sans",
+ "fullName": "Alumni Sans Thin Italic",
+ "postscriptName": "AlumniSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 291,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 291
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ }
+ }
+ },
+ "alumniSansCollegiateOne": {
+ "familyName": "Alumni Sans Collegiate One",
+ "fullName": "Alumni Sans Collegiate One Regular",
+ "postscriptName": "AlumniSansCollegiateOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alumni Sans Collegiate One",
+ "fullName": "Alumni Sans Collegiate One Regular",
+ "postscriptName": "AlumniSansCollegiateOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alumni Sans Collegiate One",
+ "fullName": "Alumni Sans Collegiate One Italic",
+ "postscriptName": "AlumniSansCollegiateOne-Italic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ }
+ }
+ },
+ "alumniSansInlineOne": {
+ "familyName": "Alumni Sans Inline One",
+ "fullName": "Alumni Sans Inline One Regular",
+ "postscriptName": "AlumniSansInlineOne-Regular",
+ "category": "display",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alumni Sans Inline One",
+ "fullName": "Alumni Sans Inline One Regular",
+ "postscriptName": "AlumniSansInlineOne-Regular",
+ "category": "display",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alumni Sans Inline One",
+ "fullName": "Alumni Sans Inline One Italic",
+ "postscriptName": "AlumniSansInlineOne-Italic",
+ "category": "display",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ }
+ }
+ },
+ "alumniSansPinstripe": {
+ "familyName": "Alumni Sans Pinstripe",
+ "fullName": "Alumni Sans Pinstripe Regular",
+ "postscriptName": "AlumniSansPinstripe-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 289
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Alumni Sans Pinstripe",
+ "fullName": "Alumni Sans Pinstripe Regular",
+ "postscriptName": "AlumniSansPinstripe-Regular",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 289
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Alumni Sans Pinstripe",
+ "fullName": "Alumni Sans Pinstripe Italic",
+ "postscriptName": "AlumniSansPinstripe-Italic",
+ "category": "sans-serif",
+ "capHeight": 591,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 291,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 291
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ }
+ }
+ },
+ "amarante": {
+ "familyName": "Amarante",
+ "fullName": "Amarante Regular",
+ "postscriptName": "Amarante-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1010,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Amarante",
+ "fullName": "Amarante Regular",
+ "postscriptName": "Amarante-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1010,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1364
+ }
+ }
+ }
+ }
+ },
+ "amaranth": {
+ "familyName": "Amaranth",
+ "fullName": "Amaranth Regular",
+ "postscriptName": "Amaranth-Regular",
+ "category": "sans-serif",
+ "capHeight": 677,
+ "ascent": 976,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 273
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Amaranth",
+ "fullName": "Amaranth Bold",
+ "postscriptName": "Amaranth-Bold",
+ "category": "sans-serif",
+ "capHeight": 677,
+ "ascent": 976,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 273
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Amaranth",
+ "fullName": "Amaranth Regular",
+ "postscriptName": "Amaranth-Regular",
+ "category": "sans-serif",
+ "capHeight": 677,
+ "ascent": 976,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 273
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Amaranth",
+ "fullName": "Amaranth Italic",
+ "postscriptName": "Amaranth-Italic",
+ "category": "sans-serif",
+ "capHeight": 677,
+ "ascent": 976,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 265
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Amaranth",
+ "fullName": "Amaranth Bold Italic",
+ "postscriptName": "Amaranth-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 953,
+ "descent": -258,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 265
+ }
+ }
+ }
+ }
+ },
+ "amaticSC": {
+ "familyName": "Amatic SC",
+ "fullName": "Amatic SC Regular",
+ "postscriptName": "AmaticSC-Regular",
+ "category": "handwriting",
+ "capHeight": 754,
+ "ascent": 1016,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 659,
+ "xWidthAvg": 287,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 287
+ },
+ "thai": {
+ "xWidthAvg": 365
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Amatic SC",
+ "fullName": "Amatic SC Bold",
+ "postscriptName": "AmaticSC-Bold",
+ "category": "handwriting",
+ "capHeight": 758,
+ "ascent": 1016,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 667,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 365
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Amatic SC",
+ "fullName": "Amatic SC Regular",
+ "postscriptName": "AmaticSC-Regular",
+ "category": "handwriting",
+ "capHeight": 754,
+ "ascent": 1016,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 659,
+ "xWidthAvg": 287,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 287
+ },
+ "thai": {
+ "xWidthAvg": 365
+ }
+ }
+ }
+ }
+ },
+ "amethysta": {
+ "familyName": "Amethysta",
+ "fullName": "Amethysta Regular",
+ "postscriptName": "Amethysta-Regular",
+ "category": "serif",
+ "capHeight": 1475,
+ "ascent": 2022,
+ "descent": -563,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1004,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1004
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Amethysta",
+ "fullName": "Amethysta Regular",
+ "postscriptName": "Amethysta-Regular",
+ "category": "serif",
+ "capHeight": 1475,
+ "ascent": 2022,
+ "descent": -563,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1004,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1004
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "amiko": {
+ "familyName": "Amiko",
+ "fullName": "Amiko Regular",
+ "postscriptName": "Amiko-Regular",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 928,
+ "descent": -406,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 770
+ }
+ },
+ "variants": {
+ "600": {
+ "familyName": "Amiko",
+ "fullName": "Amiko SemiBold",
+ "postscriptName": "Amiko-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 928,
+ "descent": -406,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 770
+ }
+ }
+ },
+ "700": {
+ "familyName": "Amiko",
+ "fullName": "Amiko Bold",
+ "postscriptName": "Amiko-Bold",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 928,
+ "descent": -406,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 770
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Amiko",
+ "fullName": "Amiko Regular",
+ "postscriptName": "Amiko-Regular",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 928,
+ "descent": -406,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 770
+ }
+ }
+ }
+ }
+ },
+ "amiri": {
+ "familyName": "Amiri",
+ "fullName": "Amiri Regular",
+ "postscriptName": "Amiri-Regular",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1124,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Amiri",
+ "fullName": "Amiri Bold",
+ "postscriptName": "Amiri-Bold",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1124,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Amiri",
+ "fullName": "Amiri Regular",
+ "postscriptName": "Amiri-Regular",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1124,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Amiri",
+ "fullName": "Amiri Italic",
+ "postscriptName": "Amiri-Italic",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1124,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Amiri",
+ "fullName": "Amiri Bold Italic",
+ "postscriptName": "Amiri-BoldItalic",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1124,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "amiriQuran": {
+ "familyName": "Amiri Quran",
+ "fullName": "Amiri Quran Regular",
+ "postscriptName": "AmiriQuran-Regular",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1815,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Amiri Quran",
+ "fullName": "Amiri Quran Regular",
+ "postscriptName": "AmiriQuran-Regular",
+ "category": "serif",
+ "capHeight": 646,
+ "ascent": 1815,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "amita": {
+ "familyName": "Amita",
+ "fullName": "Amita Regular",
+ "postscriptName": "Amita-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 1292,
+ "descent": -650,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 215
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Amita",
+ "fullName": "Amita Bold",
+ "postscriptName": "Amita-Bold",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 1292,
+ "descent": -650,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 215
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Amita",
+ "fullName": "Amita Regular",
+ "postscriptName": "Amita-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 1292,
+ "descent": -650,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 215
+ }
+ }
+ }
+ }
+ },
+ "anaheim": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim Regular",
+ "postscriptName": "Anaheim-Regular",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 985,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1055
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim Medium",
+ "postscriptName": "Anaheim-Medium",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1035
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim SemiBold",
+ "postscriptName": "Anaheim-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 995,
+ "xWidthAvg": 887,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 887
+ },
+ "thai": {
+ "xWidthAvg": 1014
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim Bold",
+ "postscriptName": "Anaheim-Bold",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1005,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 973
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim ExtraBold",
+ "postscriptName": "Anaheim-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1015,
+ "xWidthAvg": 975,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 975
+ },
+ "thai": {
+ "xWidthAvg": 933
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anaheim",
+ "fullName": "Anaheim Regular",
+ "postscriptName": "Anaheim-Regular",
+ "category": "sans-serif",
+ "capHeight": 1284,
+ "ascent": 1968,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 985,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1055
+ }
+ }
+ }
+ }
+ },
+ "andadaPro": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Regular",
+ "postscriptName": "AndadaPro-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Medium",
+ "postscriptName": "AndadaPro-Medium",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "600": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro SemiBold",
+ "postscriptName": "AndadaPro-SemiBold",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 630
+ }
+ }
+ },
+ "700": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Bold",
+ "postscriptName": "AndadaPro-Bold",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "800": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro ExtraBold",
+ "postscriptName": "AndadaPro-ExtraBold",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 626
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Regular",
+ "postscriptName": "AndadaPro-Regular",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Italic",
+ "postscriptName": "AndadaPro-Italic",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 623
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro ExtraBold Italic",
+ "postscriptName": "AndadaPro-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Bold Italic",
+ "postscriptName": "AndadaPro-BoldItalic",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro SemiBold Italic",
+ "postscriptName": "AndadaPro-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 621
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Andada Pro",
+ "fullName": "Andada Pro Medium Italic",
+ "postscriptName": "AndadaPro-MediumItalic",
+ "category": "serif",
+ "capHeight": 705,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ }
+ }
+ },
+ "andika": {
+ "familyName": "Andika",
+ "fullName": "Andika",
+ "postscriptName": "Andika",
+ "category": "sans-serif",
+ "capHeight": 1485,
+ "ascent": 2500,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 958,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 958
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Andika",
+ "fullName": "Andika Bold",
+ "postscriptName": "Andika-Bold",
+ "category": "sans-serif",
+ "capHeight": 1485,
+ "ascent": 2500,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 1006,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1006
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Andika",
+ "fullName": "Andika",
+ "postscriptName": "Andika",
+ "category": "sans-serif",
+ "capHeight": 1485,
+ "ascent": 2500,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 958,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 958
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Andika",
+ "fullName": "Andika Italic",
+ "postscriptName": "Andika-Italic",
+ "category": "sans-serif",
+ "capHeight": 1485,
+ "ascent": 2500,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 946,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 946
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Andika",
+ "fullName": "Andika Bold Italic",
+ "postscriptName": "Andika-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1485,
+ "ascent": 2500,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "anekBangla": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Regular",
+ "postscriptName": "AnekBangla-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Thin",
+ "postscriptName": "AnekBangla-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 797,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 797
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla ExtraLight",
+ "postscriptName": "AnekBangla-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 807,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 807
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Light",
+ "postscriptName": "AnekBangla-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 818,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 818
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Medium",
+ "postscriptName": "AnekBangla-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla SemiBold",
+ "postscriptName": "AnekBangla-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Bold",
+ "postscriptName": "AnekBangla-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla ExtraBold",
+ "postscriptName": "AnekBangla-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Bangla",
+ "fullName": "Anek Bangla Regular",
+ "postscriptName": "AnekBangla-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2500,
+ "descent": -1232,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekDevanagari": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Regular",
+ "postscriptName": "AnekDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 839,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 839
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Thin",
+ "postscriptName": "AnekDevanagari-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 804,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 804
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari ExtraLight",
+ "postscriptName": "AnekDevanagari-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 816,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 816
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Light",
+ "postscriptName": "AnekDevanagari-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Medium",
+ "postscriptName": "AnekDevanagari-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari SemiBold",
+ "postscriptName": "AnekDevanagari-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 869,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 869
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Bold",
+ "postscriptName": "AnekDevanagari-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 886,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 886
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari ExtraBold",
+ "postscriptName": "AnekDevanagari-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Devanagari",
+ "fullName": "Anek Devanagari Regular",
+ "postscriptName": "AnekDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2026,
+ "descent": -1385,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 839,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 839
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekGujarati": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Regular",
+ "postscriptName": "AnekGujarati-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Thin",
+ "postscriptName": "AnekGujarati-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 802,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 802
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati ExtraLight",
+ "postscriptName": "AnekGujarati-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Light",
+ "postscriptName": "AnekGujarati-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 825,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 825
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Medium",
+ "postscriptName": "AnekGujarati-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati SemiBold",
+ "postscriptName": "AnekGujarati-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 866,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 866
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Bold",
+ "postscriptName": "AnekGujarati-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 882,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 882
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati ExtraBold",
+ "postscriptName": "AnekGujarati-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Gujarati",
+ "fullName": "Anek Gujarati Regular",
+ "postscriptName": "AnekGujarati-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1975,
+ "descent": -1064,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekGurmukhi": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Regular",
+ "postscriptName": "AnekGurmukhi-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Thin",
+ "postscriptName": "AnekGurmukhi-Thin",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 825,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 825
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi ExtraLight",
+ "postscriptName": "AnekGurmukhi-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Light",
+ "postscriptName": "AnekGurmukhi-Light",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Medium",
+ "postscriptName": "AnekGurmukhi-Medium",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi SemiBold",
+ "postscriptName": "AnekGurmukhi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Bold",
+ "postscriptName": "AnekGurmukhi-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi ExtraBold",
+ "postscriptName": "AnekGurmukhi-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Gurmukhi",
+ "fullName": "Anek Gurmukhi Regular",
+ "postscriptName": "AnekGurmukhi-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 494,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekKannada": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Regular",
+ "postscriptName": "AnekKannada-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Thin",
+ "postscriptName": "AnekKannada-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 812,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 812
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada ExtraLight",
+ "postscriptName": "AnekKannada-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 824,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 824
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Light",
+ "postscriptName": "AnekKannada-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Medium",
+ "postscriptName": "AnekKannada-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada SemiBold",
+ "postscriptName": "AnekKannada-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 878,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 878
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Bold",
+ "postscriptName": "AnekKannada-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada ExtraBold",
+ "postscriptName": "AnekKannada-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 912,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 912
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Kannada",
+ "fullName": "Anek Kannada Regular",
+ "postscriptName": "AnekKannada-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2030,
+ "descent": -1310,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekLatin": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Regular",
+ "postscriptName": "AnekLatin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Thin",
+ "postscriptName": "AnekLatin-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 806,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 806
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin ExtraLight",
+ "postscriptName": "AnekLatin-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 817,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 817
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Light",
+ "postscriptName": "AnekLatin-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Medium",
+ "postscriptName": "AnekLatin-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 847,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 847
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin SemiBold",
+ "postscriptName": "AnekLatin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Bold",
+ "postscriptName": "AnekLatin-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 885,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 885
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin ExtraBold",
+ "postscriptName": "AnekLatin-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 901,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 901
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Latin",
+ "fullName": "Anek Latin Regular",
+ "postscriptName": "AnekLatin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekMalayalam": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Regular",
+ "postscriptName": "AnekMalayalam-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 847,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 847
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Thin",
+ "postscriptName": "AnekMalayalam-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 810,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 810
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam ExtraLight",
+ "postscriptName": "AnekMalayalam-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 823,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 823
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Light",
+ "postscriptName": "AnekMalayalam-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 835,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 835
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Medium",
+ "postscriptName": "AnekMalayalam-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam SemiBold",
+ "postscriptName": "AnekMalayalam-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 879,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 879
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Bold",
+ "postscriptName": "AnekMalayalam-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam ExtraBold",
+ "postscriptName": "AnekMalayalam-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 914,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 914
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Malayalam",
+ "fullName": "Anek Malayalam Regular",
+ "postscriptName": "AnekMalayalam-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 2035,
+ "descent": -830,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 847,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 847
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekOdia": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Regular",
+ "postscriptName": "AnekOdia-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Thin",
+ "postscriptName": "AnekOdia-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 806,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 806
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia ExtraLight",
+ "postscriptName": "AnekOdia-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 817,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 817
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Light",
+ "postscriptName": "AnekOdia-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Medium",
+ "postscriptName": "AnekOdia-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 847,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 847
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia SemiBold",
+ "postscriptName": "AnekOdia-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Bold",
+ "postscriptName": "AnekOdia-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 885,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 885
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia ExtraBold",
+ "postscriptName": "AnekOdia-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 901,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 901
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Odia",
+ "fullName": "Anek Odia Regular",
+ "postscriptName": "AnekOdia-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1960,
+ "descent": -1400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekTamil": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Regular",
+ "postscriptName": "AnekTamil-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Thin",
+ "postscriptName": "AnekTamil-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 825,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 825
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil ExtraLight",
+ "postscriptName": "AnekTamil-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Light",
+ "postscriptName": "AnekTamil-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Medium",
+ "postscriptName": "AnekTamil-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil SemiBold",
+ "postscriptName": "AnekTamil-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Bold",
+ "postscriptName": "AnekTamil-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil ExtraBold",
+ "postscriptName": "AnekTamil-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Tamil",
+ "fullName": "Anek Tamil Regular",
+ "postscriptName": "AnekTamil-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1963,
+ "descent": -853,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "anekTelugu": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Regular",
+ "postscriptName": "AnekTelugu-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Thin",
+ "postscriptName": "AnekTelugu-Thin",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 807,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 807
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu ExtraLight",
+ "postscriptName": "AnekTelugu-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 820,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 820
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Light",
+ "postscriptName": "AnekTelugu-Light",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 833,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 833
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Medium",
+ "postscriptName": "AnekTelugu-Medium",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu SemiBold",
+ "postscriptName": "AnekTelugu-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 877,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 877
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Bold",
+ "postscriptName": "AnekTelugu-Bold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu ExtraBold",
+ "postscriptName": "AnekTelugu-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anek Telugu",
+ "fullName": "Anek Telugu Regular",
+ "postscriptName": "AnekTelugu-Regular",
+ "category": "sans-serif",
+ "capHeight": 1278,
+ "ascent": 1800,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 978,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 1160
+ }
+ }
+ }
+ }
+ },
+ "angkor": {
+ "familyName": "Angkor",
+ "fullName": "Angkor Regular",
+ "postscriptName": "Angkor-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1180,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1180
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Angkor",
+ "fullName": "Angkor Regular",
+ "postscriptName": "Angkor-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1180,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1180
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "annapurnaSIL": {
+ "familyName": "Annapurna SIL",
+ "fullName": "Annapurna SIL",
+ "postscriptName": "AnnapurnaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1939,
+ "descent": -984,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Annapurna SIL",
+ "fullName": "Annapurna SIL Bold",
+ "postscriptName": "AnnapurnaSIL-Bold",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1939,
+ "descent": -984,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 903,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 903
+ },
+ "thai": {
+ "xWidthAvg": 1260
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Annapurna SIL",
+ "fullName": "Annapurna SIL",
+ "postscriptName": "AnnapurnaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1939,
+ "descent": -984,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ }
+ }
+ },
+ "annieUseYourTelescope": {
+ "familyName": "Annie Use Your Telescope",
+ "fullName": "Annie Use Your Telescope Regular",
+ "postscriptName": "AnnieUseYourTelescope-Regular",
+ "category": "handwriting",
+ "capHeight": 730,
+ "ascent": 1049,
+ "descent": -419,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 427,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Annie Use Your Telescope",
+ "fullName": "Annie Use Your Telescope Regular",
+ "postscriptName": "AnnieUseYourTelescope-Regular",
+ "category": "handwriting",
+ "capHeight": 730,
+ "ascent": 1049,
+ "descent": -419,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 427,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ }
+ }
+ }
+ },
+ "anonymousPro": {
+ "familyName": "Anonymous Pro",
+ "fullName": "Anonymous Pro Regular",
+ "postscriptName": "AnonymousPro-Regular",
+ "category": "monospace",
+ "capHeight": 1305,
+ "ascent": 1675,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 932,
+ "xWidthAvg": 1118,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1118
+ },
+ "thai": {
+ "xWidthAvg": 1118
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Anonymous Pro",
+ "fullName": "Anonymous Pro Bold",
+ "postscriptName": "AnonymousPro-Bold",
+ "category": "monospace",
+ "capHeight": 1305,
+ "ascent": 1675,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 932,
+ "xWidthAvg": 1118,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1118
+ },
+ "thai": {
+ "xWidthAvg": 1118
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anonymous Pro",
+ "fullName": "Anonymous Pro Regular",
+ "postscriptName": "AnonymousPro-Regular",
+ "category": "monospace",
+ "capHeight": 1305,
+ "ascent": 1675,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 932,
+ "xWidthAvg": 1118,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1118
+ },
+ "thai": {
+ "xWidthAvg": 1118
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Anonymous Pro",
+ "fullName": "Anonymous Pro Italic",
+ "postscriptName": "AnonymousPro-Italic",
+ "category": "monospace",
+ "capHeight": 1305,
+ "ascent": 1675,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 932,
+ "xWidthAvg": 1118,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1118
+ },
+ "thai": {
+ "xWidthAvg": 1118
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Anonymous Pro",
+ "fullName": "Anonymous Pro Bold Italic",
+ "postscriptName": "AnonymousPro-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1305,
+ "ascent": 1675,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 932,
+ "xWidthAvg": 1118,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1118
+ },
+ "thai": {
+ "xWidthAvg": 1118
+ }
+ }
+ }
+ }
+ },
+ "anta": {
+ "familyName": "Anta",
+ "fullName": "Anta Regular",
+ "postscriptName": "Anta-Regular",
+ "category": "sans-serif",
+ "capHeight": 1422,
+ "ascent": 1966,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1049,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Anta",
+ "fullName": "Anta Regular",
+ "postscriptName": "Anta-Regular",
+ "category": "sans-serif",
+ "capHeight": 1422,
+ "ascent": 1966,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1049,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "antic": {
+ "familyName": "Antic",
+ "fullName": "Antic Regular",
+ "postscriptName": "Antic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Antic",
+ "fullName": "Antic Regular",
+ "postscriptName": "Antic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ }
+ }
+ }
+ },
+ "anticDidone": {
+ "familyName": "Antic Didone",
+ "fullName": "Antic Didone Regular",
+ "postscriptName": "AnticDidone-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Antic Didone",
+ "fullName": "Antic Didone Regular",
+ "postscriptName": "AnticDidone-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ }
+ }
+ }
+ },
+ "anticSlab": {
+ "familyName": "Antic Slab",
+ "fullName": "Antic Slab Regular",
+ "postscriptName": "AnticSlab-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Antic Slab",
+ "fullName": "Antic Slab Regular",
+ "postscriptName": "AnticSlab-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ }
+ }
+ }
+ },
+ "anton": {
+ "familyName": "Anton",
+ "fullName": "Anton Regular",
+ "postscriptName": "Anton-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2409,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1022
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Anton",
+ "fullName": "Anton Regular",
+ "postscriptName": "Anton-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2409,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1022
+ }
+ }
+ }
+ }
+ },
+ "antonSC": {
+ "familyName": "Anton SC",
+ "fullName": "Anton SC Regular",
+ "postscriptName": "AntonSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2409,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1022
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Anton SC",
+ "fullName": "Anton SC Regular",
+ "postscriptName": "AntonSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2409,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1022
+ }
+ }
+ }
+ }
+ },
+ "antonio": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Regular",
+ "postscriptName": "Antonio-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 765,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 765
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Thin",
+ "postscriptName": "Antonio-Thin",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 716,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 716
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "200": {
+ "familyName": "Antonio",
+ "fullName": "Antonio ExtraLight",
+ "postscriptName": "Antonio-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 730,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 730
+ },
+ "thai": {
+ "xWidthAvg": 1117
+ }
+ }
+ },
+ "300": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Light",
+ "postscriptName": "Antonio-Light",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 744,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 744
+ },
+ "thai": {
+ "xWidthAvg": 1081
+ }
+ }
+ },
+ "500": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Medium",
+ "postscriptName": "Antonio-Medium",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 771,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 771
+ },
+ "thai": {
+ "xWidthAvg": 1030
+ }
+ }
+ },
+ "600": {
+ "familyName": "Antonio",
+ "fullName": "Antonio SemiBold",
+ "postscriptName": "Antonio-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 776,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 776
+ },
+ "thai": {
+ "xWidthAvg": 1037
+ }
+ }
+ },
+ "700": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Bold",
+ "postscriptName": "Antonio-Bold",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 791,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 791
+ },
+ "thai": {
+ "xWidthAvg": 1054
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Antonio",
+ "fullName": "Antonio Regular",
+ "postscriptName": "Antonio-Regular",
+ "category": "sans-serif",
+ "capHeight": 1760,
+ "ascent": 2365,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1500,
+ "xWidthAvg": 765,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 765
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "anuphan": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Regular",
+ "postscriptName": "Anuphan-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Thin",
+ "postscriptName": "Anuphan-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 519
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan ExtraLight",
+ "postscriptName": "Anuphan-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 567,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Light",
+ "postscriptName": "Anuphan-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 569,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Medium",
+ "postscriptName": "Anuphan-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan SemiBold",
+ "postscriptName": "Anuphan-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 573,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Bold",
+ "postscriptName": "Anuphan-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 578
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anuphan",
+ "fullName": "Anuphan Regular",
+ "postscriptName": "Anuphan-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ }
+ }
+ }
+ },
+ "anybody": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Regular",
+ "postscriptName": "Anybody-Regular",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Thin",
+ "postscriptName": "Anybody-Thin",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "200": {
+ "familyName": "Anybody",
+ "fullName": "Anybody ExtraLight",
+ "postscriptName": "Anybody-ExtraLight",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 881,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 881
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "300": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Light",
+ "postscriptName": "Anybody-Light",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "500": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Medium",
+ "postscriptName": "Anybody-Medium",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600": {
+ "familyName": "Anybody",
+ "fullName": "Anybody SemiBold",
+ "postscriptName": "Anybody-SemiBold",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1051,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1051
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "700": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Bold",
+ "postscriptName": "Anybody-Bold",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1098,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1098
+ },
+ "thai": {
+ "xWidthAvg": 577
+ }
+ }
+ },
+ "800": {
+ "familyName": "Anybody",
+ "fullName": "Anybody ExtraBold",
+ "postscriptName": "Anybody-ExtraBold",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "900": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Black",
+ "postscriptName": "Anybody-Black",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1197,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1197
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Regular",
+ "postscriptName": "Anybody-Regular",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Italic",
+ "postscriptName": "Anybody-Italic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 982,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 982
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Black Italic",
+ "postscriptName": "Anybody-BlackItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1197,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1197
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody ExtraBold Italic",
+ "postscriptName": "Anybody-ExtraBoldItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Bold Italic",
+ "postscriptName": "Anybody-BoldItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1098,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1098
+ },
+ "thai": {
+ "xWidthAvg": 577
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody SemiBold Italic",
+ "postscriptName": "Anybody-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1050,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1050
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Medium Italic",
+ "postscriptName": "Anybody-MediumItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Light Italic",
+ "postscriptName": "Anybody-LightItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody ExtraLight Italic",
+ "postscriptName": "Anybody-ExtraLightItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 881,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 881
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Anybody",
+ "fullName": "Anybody Thin Italic",
+ "postscriptName": "Anybody-ThinItalic",
+ "category": "display",
+ "capHeight": 1350,
+ "ascent": 1590,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1186,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ }
+ }
+ },
+ "aoboshiOne": {
+ "familyName": "Aoboshi One",
+ "fullName": "Aoboshi One Regular",
+ "postscriptName": "AoboshiOne-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aoboshi One",
+ "fullName": "Aoboshi One Regular",
+ "postscriptName": "AoboshiOne-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "appleSystem": {
+ "familyName": "-apple-system",
+ "fullName": "System Font",
+ "postscriptName": ".SFNS-Regular",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "-apple-system",
+ "fullName": "System Font",
+ "postscriptName": ".SFNS-Regular",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "-apple-system",
+ "fullName": "System Font Regular Italic",
+ "postscriptName": ".SFNS-RegularItalic",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "arapey": {
+ "familyName": "Arapey",
+ "fullName": "Arapey Regular",
+ "postscriptName": "Arapey-Regular",
+ "category": "serif",
+ "capHeight": 639,
+ "ascent": 868,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Arapey",
+ "fullName": "Arapey Regular",
+ "postscriptName": "Arapey-Regular",
+ "category": "serif",
+ "capHeight": 639,
+ "ascent": 868,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arapey",
+ "fullName": "Arapey Italic",
+ "postscriptName": "Arapey-Italic",
+ "category": "serif",
+ "capHeight": 639,
+ "ascent": 868,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 432,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "arbutus": {
+ "familyName": "Arbutus",
+ "fullName": "Arbutus Regular",
+ "postscriptName": "Arbutus-Regular",
+ "category": "serif",
+ "capHeight": 103,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 234,
+ "xWidthAvg": 1302,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1302
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Arbutus",
+ "fullName": "Arbutus Regular",
+ "postscriptName": "Arbutus-Regular",
+ "category": "serif",
+ "capHeight": 103,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 234,
+ "xWidthAvg": 1302,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1302
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "arbutusSlab": {
+ "familyName": "Arbutus Slab",
+ "fullName": "Arbutus Slab Regular",
+ "postscriptName": "ArbutusSlab-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1014,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 2037
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Arbutus Slab",
+ "fullName": "Arbutus Slab Regular",
+ "postscriptName": "ArbutusSlab-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1014,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 2037
+ }
+ }
+ }
+ }
+ },
+ "architectsDaughter": {
+ "familyName": "Architects Daughter",
+ "fullName": "Architects Daughter Regular",
+ "postscriptName": "ArchitectsDaughter-Regular",
+ "category": "handwriting",
+ "capHeight": 675,
+ "ascent": 1010,
+ "descent": -413,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 439,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Architects Daughter",
+ "fullName": "Architects Daughter Regular",
+ "postscriptName": "ArchitectsDaughter-Regular",
+ "category": "handwriting",
+ "capHeight": 675,
+ "ascent": 1010,
+ "descent": -413,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 439,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ }
+ }
+ },
+ "archivo": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Regular",
+ "postscriptName": "Archivo-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Thin",
+ "postscriptName": "Archivo-Thin",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "200": {
+ "familyName": "Archivo",
+ "fullName": "Archivo ExtraLight",
+ "postscriptName": "Archivo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ },
+ "300": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Light",
+ "postscriptName": "Archivo-Light",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ },
+ "500": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Medium",
+ "postscriptName": "Archivo-Medium",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600": {
+ "familyName": "Archivo",
+ "fullName": "Archivo SemiBold",
+ "postscriptName": "Archivo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "700": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Bold",
+ "postscriptName": "Archivo-Bold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 651
+ }
+ }
+ },
+ "800": {
+ "familyName": "Archivo",
+ "fullName": "Archivo ExtraBold",
+ "postscriptName": "Archivo-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "900": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Black",
+ "postscriptName": "Archivo-Black",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Regular",
+ "postscriptName": "Archivo-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Italic",
+ "postscriptName": "Archivo-Italic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Black Italic",
+ "postscriptName": "Archivo-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo ExtraBold Italic",
+ "postscriptName": "Archivo-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Bold Italic",
+ "postscriptName": "Archivo-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 651
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo SemiBold Italic",
+ "postscriptName": "Archivo-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Medium Italic",
+ "postscriptName": "Archivo-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Light Italic",
+ "postscriptName": "Archivo-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo ExtraLight Italic",
+ "postscriptName": "Archivo-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Archivo",
+ "fullName": "Archivo Thin Italic",
+ "postscriptName": "Archivo-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ }
+ }
+ },
+ "archivoBlack": {
+ "familyName": "Archivo Black",
+ "fullName": "Archivo Black Regular",
+ "postscriptName": "ArchivoBlack-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Archivo Black",
+ "fullName": "Archivo Black Regular",
+ "postscriptName": "ArchivoBlack-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 878,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "archivoNarrow": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Regular",
+ "postscriptName": "ArchivoNarrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Medium",
+ "postscriptName": "ArchivoNarrow-Medium",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow SemiBold",
+ "postscriptName": "ArchivoNarrow-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Bold",
+ "postscriptName": "ArchivoNarrow-Bold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Regular",
+ "postscriptName": "ArchivoNarrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Italic",
+ "postscriptName": "ArchivoNarrow-Italic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Bold Italic",
+ "postscriptName": "ArchivoNarrow-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow SemiBold Italic",
+ "postscriptName": "ArchivoNarrow-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Archivo Narrow",
+ "fullName": "Archivo Narrow Medium Italic",
+ "postscriptName": "ArchivoNarrow-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 1035,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "areYouSerious": {
+ "familyName": "Are You Serious",
+ "fullName": "Are You Serious Regular",
+ "postscriptName": "AreYouSerious-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 449
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Are You Serious",
+ "fullName": "Are You Serious Regular",
+ "postscriptName": "AreYouSerious-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 449
+ }
+ }
+ }
+ }
+ },
+ "arefRuqaa": {
+ "familyName": "Aref Ruqaa",
+ "fullName": "Aref Ruqaa Regular",
+ "postscriptName": "ArefRuqaa-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Aref Ruqaa",
+ "fullName": "Aref Ruqaa Bold",
+ "postscriptName": "ArefRuqaa-Bold",
+ "category": "serif",
+ "capHeight": 692,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Aref Ruqaa",
+ "fullName": "Aref Ruqaa Regular",
+ "postscriptName": "ArefRuqaa-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "arefRuqaaInk": {
+ "familyName": "Aref Ruqaa Ink",
+ "fullName": "Aref Ruqaa Ink Regular",
+ "postscriptName": "ArefRuqaaInk-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Aref Ruqaa Ink",
+ "fullName": "Aref Ruqaa Ink Bold",
+ "postscriptName": "ArefRuqaaInk-Bold",
+ "category": "serif",
+ "capHeight": 692,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Aref Ruqaa Ink",
+ "fullName": "Aref Ruqaa Ink Regular",
+ "postscriptName": "ArefRuqaaInk-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 1221,
+ "descent": -244,
+ "lineGap": 98,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "arial": {
+ "familyName": "Arial",
+ "fullName": "Arial",
+ "postscriptName": "ArialMT",
+ "category": "sans-serif",
+ "capHeight": 1467,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Arial",
+ "fullName": "Arial Bold",
+ "postscriptName": "Arial-BoldMT",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arial",
+ "fullName": "Arial",
+ "postscriptName": "ArialMT",
+ "category": "sans-serif",
+ "capHeight": 1467,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arial",
+ "fullName": "Arial Italic",
+ "postscriptName": "Arial-ItalicMT",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Arial",
+ "fullName": "Arial Bold Italic",
+ "postscriptName": "Arial-BoldItalicMT",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "arima": {
+ "familyName": "Arima",
+ "fullName": "Arima Regular",
+ "postscriptName": "Arima-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Arima",
+ "fullName": "Arima Thin",
+ "postscriptName": "Arima-Thin",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Arima",
+ "fullName": "Arima ExtraLight",
+ "postscriptName": "Arima-ExtraLight",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Arima",
+ "fullName": "Arima Light",
+ "postscriptName": "Arima-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Arima",
+ "fullName": "Arima Medium",
+ "postscriptName": "Arima-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Arima",
+ "fullName": "Arima SemiBold",
+ "postscriptName": "Arima-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Arima",
+ "fullName": "Arima Bold",
+ "postscriptName": "Arima-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arima",
+ "fullName": "Arima Regular",
+ "postscriptName": "Arima-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1073,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "arimo": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Regular",
+ "postscriptName": "Arimo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Medium",
+ "postscriptName": "Arimo-Medium",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "600": {
+ "familyName": "Arimo",
+ "fullName": "Arimo SemiBold",
+ "postscriptName": "Arimo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "700": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Bold",
+ "postscriptName": "Arimo-Bold",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Regular",
+ "postscriptName": "Arimo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Italic",
+ "postscriptName": "Arimo-Italic",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Bold Italic",
+ "postscriptName": "Arimo-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Arimo",
+ "fullName": "Arimo SemiBold Italic",
+ "postscriptName": "Arimo-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Arimo",
+ "fullName": "Arimo Medium Italic",
+ "postscriptName": "Arimo-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1409,
+ "ascent": 1854,
+ "descent": -434,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "arizonia": {
+ "familyName": "Arizonia",
+ "fullName": "Arizonia Regular",
+ "postscriptName": "Arizonia-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Arizonia",
+ "fullName": "Arizonia Regular",
+ "postscriptName": "Arizonia-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ }
+ }
+ },
+ "armata": {
+ "familyName": "Armata",
+ "fullName": "Armata Regular",
+ "postscriptName": "Armata-Regular",
+ "category": "sans-serif",
+ "capHeight": 1530,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1190,
+ "xWidthAvg": 1079,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1079
+ },
+ "thai": {
+ "xWidthAvg": 1534
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Armata",
+ "fullName": "Armata Regular",
+ "postscriptName": "Armata-Regular",
+ "category": "sans-serif",
+ "capHeight": 1530,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1190,
+ "xWidthAvg": 1079,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1079
+ },
+ "thai": {
+ "xWidthAvg": 1534
+ }
+ }
+ }
+ }
+ },
+ "arsenal": {
+ "familyName": "Arsenal",
+ "fullName": "Arsenal Regular",
+ "postscriptName": "Arsenal-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Arsenal",
+ "fullName": "Arsenal Bold",
+ "postscriptName": "Arsenal-Bold",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arsenal",
+ "fullName": "Arsenal Regular",
+ "postscriptName": "Arsenal-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arsenal",
+ "fullName": "Arsenal Italic",
+ "postscriptName": "Arsenal-Italic",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Arsenal",
+ "fullName": "Arsenal Bold Italic",
+ "postscriptName": "Arsenal-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ }
+ }
+ },
+ "arsenalSC": {
+ "familyName": "Arsenal SC",
+ "fullName": "Arsenal SC Regular",
+ "postscriptName": "ArsenalSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Arsenal SC",
+ "fullName": "Arsenal SC Bold",
+ "postscriptName": "ArsenalSC-Bold",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arsenal SC",
+ "fullName": "Arsenal SC Regular",
+ "postscriptName": "ArsenalSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arsenal SC",
+ "fullName": "Arsenal SC Italic",
+ "postscriptName": "ArsenalSC-Italic",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Arsenal SC",
+ "fullName": "Arsenal SC Bold Italic",
+ "postscriptName": "ArsenalSC-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 1000,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ }
+ }
+ },
+ "artifika": {
+ "familyName": "Artifika",
+ "fullName": "Artifika Regular",
+ "postscriptName": "Artifika-Regular",
+ "category": "serif",
+ "capHeight": 1433,
+ "ascent": 1984,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1045,
+ "xWidthAvg": 1075,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1075
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Artifika",
+ "fullName": "Artifika Regular",
+ "postscriptName": "Artifika-Regular",
+ "category": "serif",
+ "capHeight": 1433,
+ "ascent": 1984,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1045,
+ "xWidthAvg": 1075,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1075
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "arvo": {
+ "familyName": "Arvo",
+ "fullName": "Arvo",
+ "postscriptName": "Arvo",
+ "category": "serif",
+ "capHeight": 1516,
+ "ascent": 1968,
+ "descent": -506,
+ "lineGap": 55,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1141
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Arvo",
+ "fullName": "Arvo Bold",
+ "postscriptName": "Arvo-Bold",
+ "category": "serif",
+ "capHeight": 1516,
+ "ascent": 1968,
+ "descent": -506,
+ "lineGap": 55,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 1141
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arvo",
+ "fullName": "Arvo",
+ "postscriptName": "Arvo",
+ "category": "serif",
+ "capHeight": 1516,
+ "ascent": 1968,
+ "descent": -506,
+ "lineGap": 55,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1141
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Arvo",
+ "fullName": "Arvo-Italic",
+ "postscriptName": "Arvo-Italic",
+ "category": "serif",
+ "capHeight": 1516,
+ "ascent": 1968,
+ "descent": -506,
+ "lineGap": 55,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1033,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1033
+ },
+ "thai": {
+ "xWidthAvg": 1223
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Arvo",
+ "fullName": "Arvo Bold Italic",
+ "postscriptName": "Arvo-BoldItalic",
+ "category": "serif",
+ "capHeight": 1516,
+ "ascent": 1968,
+ "descent": -506,
+ "lineGap": 55,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1072,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1072
+ },
+ "thai": {
+ "xWidthAvg": 1305
+ }
+ }
+ }
+ }
+ },
+ "arya": {
+ "familyName": "Arya",
+ "fullName": "Arya Regular",
+ "postscriptName": "Arya-Regular",
+ "category": "sans-serif",
+ "capHeight": 579,
+ "ascent": 1265,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 392,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Arya",
+ "fullName": "Arya Bold",
+ "postscriptName": "Arya-Bold",
+ "category": "sans-serif",
+ "capHeight": 579,
+ "ascent": 1265,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 392,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Arya",
+ "fullName": "Arya Regular",
+ "postscriptName": "Arya-Regular",
+ "category": "sans-serif",
+ "capHeight": 579,
+ "ascent": 1265,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 392,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ }
+ }
+ },
+ "asap": {
+ "familyName": "Asap",
+ "fullName": "Asap Regular",
+ "postscriptName": "Asap-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Asap",
+ "fullName": "Asap Thin",
+ "postscriptName": "Asap-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "200": {
+ "familyName": "Asap",
+ "fullName": "Asap ExtraLight",
+ "postscriptName": "Asap-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300": {
+ "familyName": "Asap",
+ "fullName": "Asap Light",
+ "postscriptName": "Asap-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "500": {
+ "familyName": "Asap",
+ "fullName": "Asap Medium",
+ "postscriptName": "Asap-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "600": {
+ "familyName": "Asap",
+ "fullName": "Asap SemiBold",
+ "postscriptName": "Asap-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "700": {
+ "familyName": "Asap",
+ "fullName": "Asap Bold",
+ "postscriptName": "Asap-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "800": {
+ "familyName": "Asap",
+ "fullName": "Asap ExtraBold",
+ "postscriptName": "Asap-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "900": {
+ "familyName": "Asap",
+ "fullName": "Asap Black",
+ "postscriptName": "Asap-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Asap",
+ "fullName": "Asap Regular",
+ "postscriptName": "Asap-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Italic",
+ "postscriptName": "Asap-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Black Italic",
+ "postscriptName": "Asap-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Asap",
+ "fullName": "Asap ExtraBold Italic",
+ "postscriptName": "Asap-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Bold Italic",
+ "postscriptName": "Asap-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Asap",
+ "fullName": "Asap SemiBold Italic",
+ "postscriptName": "Asap-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Medium Italic",
+ "postscriptName": "Asap-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Light Italic",
+ "postscriptName": "Asap-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Asap",
+ "fullName": "Asap ExtraLight Italic",
+ "postscriptName": "Asap-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Asap",
+ "fullName": "Asap Thin Italic",
+ "postscriptName": "Asap-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ }
+ }
+ },
+ "asapCondensed": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Regular",
+ "postscriptName": "AsapCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed ExtraLight",
+ "postscriptName": "AsapCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Light",
+ "postscriptName": "AsapCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "500": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Medium",
+ "postscriptName": "AsapCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "600": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed SemiBold",
+ "postscriptName": "AsapCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "700": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Bold",
+ "postscriptName": "AsapCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "800": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed ExtraBold",
+ "postscriptName": "AsapCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "900": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Black",
+ "postscriptName": "AsapCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Regular",
+ "postscriptName": "AsapCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Italic",
+ "postscriptName": "AsapCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Black Italic",
+ "postscriptName": "AsapCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed ExtraBold Italic",
+ "postscriptName": "AsapCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Bold Italic",
+ "postscriptName": "AsapCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed SemiBold Italic",
+ "postscriptName": "AsapCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Medium Italic",
+ "postscriptName": "AsapCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed Light Italic",
+ "postscriptName": "AsapCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Asap Condensed",
+ "fullName": "Asap Condensed ExtraLight Italic",
+ "postscriptName": "AsapCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 934,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ }
+ }
+ },
+ "asar": {
+ "familyName": "Asar",
+ "fullName": "Asar Regular",
+ "postscriptName": "Asar-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 1196,
+ "descent": -557,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Asar",
+ "fullName": "Asar Regular",
+ "postscriptName": "Asar-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 1196,
+ "descent": -557,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ }
+ }
+ },
+ "asset": {
+ "familyName": "Asset",
+ "fullName": "Asset Regular",
+ "postscriptName": "Asset-Regular",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1971,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1047,
+ "xWidthAvg": 2298,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2298
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Asset",
+ "fullName": "Asset Regular",
+ "postscriptName": "Asset-Regular",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1971,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1047,
+ "xWidthAvg": 2298,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2298
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "assistant": {
+ "familyName": "Assistant",
+ "fullName": "Assistant Regular",
+ "postscriptName": "Assistant-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Assistant",
+ "fullName": "Assistant ExtraLight",
+ "postscriptName": "Assistant-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ }
+ },
+ "300": {
+ "familyName": "Assistant",
+ "fullName": "Assistant Light",
+ "postscriptName": "Assistant-Light",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "500": {
+ "familyName": "Assistant",
+ "fullName": "Assistant Medium",
+ "postscriptName": "Assistant-Medium",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600": {
+ "familyName": "Assistant",
+ "fullName": "Assistant SemiBold",
+ "postscriptName": "Assistant-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "700": {
+ "familyName": "Assistant",
+ "fullName": "Assistant Bold",
+ "postscriptName": "Assistant-Bold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "800": {
+ "familyName": "Assistant",
+ "fullName": "Assistant ExtraBold",
+ "postscriptName": "Assistant-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 704
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Assistant",
+ "fullName": "Assistant Regular",
+ "postscriptName": "Assistant-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1021,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ }
+ }
+ },
+ "astloch": {
+ "familyName": "Astloch",
+ "fullName": "Astloch Regular",
+ "postscriptName": "Astloch-Regular",
+ "category": "display",
+ "capHeight": 1567,
+ "ascent": 1948,
+ "descent": -526,
+ "lineGap": 53,
+ "unitsPerEm": 2048,
+ "xHeight": 1200,
+ "xWidthAvg": 704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 704
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Astloch",
+ "fullName": "Astloch Bold",
+ "postscriptName": "Astloch-Bold",
+ "category": "display",
+ "capHeight": 1568,
+ "ascent": 1948,
+ "descent": -526,
+ "lineGap": 53,
+ "unitsPerEm": 2048,
+ "xHeight": 1200,
+ "xWidthAvg": 730,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 730
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Astloch",
+ "fullName": "Astloch Regular",
+ "postscriptName": "Astloch-Regular",
+ "category": "display",
+ "capHeight": 1567,
+ "ascent": 1948,
+ "descent": -526,
+ "lineGap": 53,
+ "unitsPerEm": 2048,
+ "xHeight": 1200,
+ "xWidthAvg": 704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 704
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "asul": {
+ "familyName": "Asul",
+ "fullName": "Asul Regular",
+ "postscriptName": "Asul-Regular",
+ "category": "sans-serif",
+ "capHeight": 703,
+ "ascent": 949,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 225
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Asul",
+ "fullName": "Asul Bold",
+ "postscriptName": "Asul-Bold",
+ "category": "sans-serif",
+ "capHeight": 703,
+ "ascent": 949,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 245
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Asul",
+ "fullName": "Asul Regular",
+ "postscriptName": "Asul-Regular",
+ "category": "sans-serif",
+ "capHeight": 703,
+ "ascent": 949,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 225
+ }
+ }
+ }
+ }
+ },
+ "athiti": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-Regular",
+ "postscriptName": "Athiti-Regular",
+ "category": "sans-serif",
+ "capHeight": 614,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-ExtraLight",
+ "postscriptName": "Athiti-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 610,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 464,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "300": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-Light",
+ "postscriptName": "Athiti-Light",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ },
+ "500": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-Medium",
+ "postscriptName": "Athiti-Medium",
+ "category": "sans-serif",
+ "capHeight": 616,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "600": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-SemiBold",
+ "postscriptName": "Athiti-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 618,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "700": {
+ "familyName": "Athiti",
+ "fullName": "Athiti Bold",
+ "postscriptName": "Athiti-Bold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Athiti",
+ "fullName": "Athiti-Regular",
+ "postscriptName": "Athiti-Regular",
+ "category": "sans-serif",
+ "capHeight": 614,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ }
+ }
+ },
+ "atkinsonHyperlegible": {
+ "familyName": "Atkinson Hyperlegible",
+ "fullName": "Atkinson Hyperlegible Regular",
+ "postscriptName": "AtkinsonHyperlegible-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Atkinson Hyperlegible",
+ "fullName": "Atkinson Hyperlegible Bold",
+ "postscriptName": "AtkinsonHyperlegible-Bold",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Atkinson Hyperlegible",
+ "fullName": "Atkinson Hyperlegible Regular",
+ "postscriptName": "AtkinsonHyperlegible-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Atkinson Hyperlegible",
+ "fullName": "Atkinson Hyperlegible Italic",
+ "postscriptName": "AtkinsonHyperlegible-Italic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Atkinson Hyperlegible",
+ "fullName": "Atkinson Hyperlegible Bold Italic",
+ "postscriptName": "AtkinsonHyperlegible-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ }
+ }
+ },
+ "atma": {
+ "familyName": "Atma",
+ "fullName": "Atma Regular",
+ "postscriptName": "Atma-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Atma",
+ "fullName": "Atma Light",
+ "postscriptName": "Atma-Light",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "500": {
+ "familyName": "Atma",
+ "fullName": "Atma Medium",
+ "postscriptName": "Atma-Medium",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "600": {
+ "familyName": "Atma",
+ "fullName": "Atma SemiBold",
+ "postscriptName": "Atma-SemiBold",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "700": {
+ "familyName": "Atma",
+ "fullName": "Atma Bold",
+ "postscriptName": "Atma-Bold",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Atma",
+ "fullName": "Atma Regular",
+ "postscriptName": "Atma-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1101,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "atomicAge": {
+ "familyName": "Atomic Age",
+ "fullName": "Atomic Age Regular",
+ "postscriptName": "AtomicAge-Regular",
+ "category": "display",
+ "capHeight": 1516,
+ "ascent": 2091,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1047,
+ "xWidthAvg": 1083,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1083
+ },
+ "thai": {
+ "xWidthAvg": 2027
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Atomic Age",
+ "fullName": "Atomic Age Regular",
+ "postscriptName": "AtomicAge-Regular",
+ "category": "display",
+ "capHeight": 1516,
+ "ascent": 2091,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1047,
+ "xWidthAvg": 1083,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1083
+ },
+ "thai": {
+ "xWidthAvg": 2027
+ }
+ }
+ }
+ }
+ },
+ "aubrey": {
+ "familyName": "Aubrey",
+ "fullName": "Aubrey Regular",
+ "postscriptName": "Aubrey-Regular",
+ "category": "display",
+ "capHeight": 616,
+ "ascent": 830,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Aubrey",
+ "fullName": "Aubrey Regular",
+ "postscriptName": "Aubrey-Regular",
+ "category": "display",
+ "capHeight": 616,
+ "ascent": 830,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ }
+ }
+ },
+ "audiowide": {
+ "familyName": "Audiowide",
+ "fullName": "Audiowide Regular",
+ "postscriptName": "Audiowide-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2027,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1083,
+ "xWidthAvg": 1157,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1157
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Audiowide",
+ "fullName": "Audiowide Regular",
+ "postscriptName": "Audiowide-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2027,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1083,
+ "xWidthAvg": 1157,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1157
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ }
+ }
+ },
+ "autourOne": {
+ "familyName": "Autour One",
+ "fullName": "Autour One Regular",
+ "postscriptName": "AutourOne-Regular",
+ "category": "display",
+ "capHeight": 1561,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1190,
+ "xWidthAvg": 1251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1251
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Autour One",
+ "fullName": "Autour One Regular",
+ "postscriptName": "AutourOne-Regular",
+ "category": "display",
+ "capHeight": 1561,
+ "ascent": 2010,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1190,
+ "xWidthAvg": 1251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1251
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "average": {
+ "familyName": "Average",
+ "fullName": "Average Regular",
+ "postscriptName": "Average-Regular",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 953,
+ "descent": -263,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Average",
+ "fullName": "Average Regular",
+ "postscriptName": "Average-Regular",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 953,
+ "descent": -263,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ }
+ }
+ },
+ "averageSans": {
+ "familyName": "Average Sans",
+ "fullName": "Average Sans Regular",
+ "postscriptName": "AverageSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 1027,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Average Sans",
+ "fullName": "Average Sans Regular",
+ "postscriptName": "AverageSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 1027,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "averiaGruesaLibre": {
+ "familyName": "Averia Gruesa Libre",
+ "fullName": "Averia Gruesa Libre Regular",
+ "postscriptName": "AveriaGruesaLibre-Regular",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Averia Gruesa Libre",
+ "fullName": "Averia Gruesa Libre Regular",
+ "postscriptName": "AveriaGruesaLibre-Regular",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ }
+ }
+ },
+ "averiaLibre": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Regular",
+ "postscriptName": "AveriaLibre-Regular",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Light",
+ "postscriptName": "AveriaLibre-Light",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 910,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 910
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Bold",
+ "postscriptName": "AveriaLibre-Bold",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 952,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 952
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Regular",
+ "postscriptName": "AveriaLibre-Regular",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Italic",
+ "postscriptName": "AveriaLibre-Italic",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 890,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 890
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Bold Italic",
+ "postscriptName": "AveriaLibre-BoldItalic",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Averia Libre",
+ "fullName": "Averia Libre Light Italic",
+ "postscriptName": "AveriaLibre-LightItalic",
+ "category": "display",
+ "ascent": 1952,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ }
+ }
+ },
+ "averiaSansLibre": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Regular",
+ "postscriptName": "AveriaSansLibre-Regular",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Light",
+ "postscriptName": "AveriaSansLibre-Light",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Bold",
+ "postscriptName": "AveriaSansLibre-Bold",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Regular",
+ "postscriptName": "AveriaSansLibre-Regular",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Italic",
+ "postscriptName": "AveriaSansLibre-Italic",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Bold Italic",
+ "postscriptName": "AveriaSansLibre-BoldItalic",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 911,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 911
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Averia Sans Libre",
+ "fullName": "Averia Sans Libre Light Italic",
+ "postscriptName": "AveriaSansLibre-LightItalic",
+ "category": "display",
+ "ascent": 2035,
+ "descent": -499,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 887,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 887
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ }
+ }
+ },
+ "averiaSerifLibre": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Regular",
+ "postscriptName": "AveriaSerifLibre-Regular",
+ "category": "display",
+ "ascent": 1828,
+ "descent": -465,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Light",
+ "postscriptName": "AveriaSerifLibre-Light",
+ "category": "display",
+ "ascent": 1823,
+ "descent": -465,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Bold",
+ "postscriptName": "AveriaSerifLibre-Bold",
+ "category": "display",
+ "ascent": 1833,
+ "descent": -466,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 975,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 975
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Regular",
+ "postscriptName": "AveriaSerifLibre-Regular",
+ "category": "display",
+ "ascent": 1828,
+ "descent": -465,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Italic",
+ "postscriptName": "AveriaSerifLibre-Italic",
+ "category": "display",
+ "ascent": 1862,
+ "descent": -484,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Bold Italic",
+ "postscriptName": "AveriaSerifLibre-BoldItalic",
+ "category": "display",
+ "ascent": 1861,
+ "descent": -475,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 916,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 916
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Averia Serif Libre",
+ "fullName": "Averia Serif Libre Light Italic",
+ "postscriptName": "AveriaSerifLibre-LightItalic",
+ "category": "display",
+ "ascent": 1868,
+ "descent": -486,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 861,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 861
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ }
+ }
+ },
+ "azeretMono": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Regular",
+ "postscriptName": "AzeretMono-Regular",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Thin",
+ "postscriptName": "AzeretMono-Thin",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "200": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono ExtraLight",
+ "postscriptName": "AzeretMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "300": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Light",
+ "postscriptName": "AzeretMono-Light",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "500": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Medium",
+ "postscriptName": "AzeretMono-Medium",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "600": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono SemiBold",
+ "postscriptName": "AzeretMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "700": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Bold",
+ "postscriptName": "AzeretMono-Bold",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "800": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono ExtraBold",
+ "postscriptName": "AzeretMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "900": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Black",
+ "postscriptName": "AzeretMono-Black",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Regular",
+ "postscriptName": "AzeretMono-Regular",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Italic",
+ "postscriptName": "AzeretMono-Italic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Black Italic",
+ "postscriptName": "AzeretMono-BlackItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono ExtraBold Italic",
+ "postscriptName": "AzeretMono-ExtraBoldItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Bold Italic",
+ "postscriptName": "AzeretMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono SemiBold Italic",
+ "postscriptName": "AzeretMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Medium Italic",
+ "postscriptName": "AzeretMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Light Italic",
+ "postscriptName": "AzeretMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono ExtraLight Italic",
+ "postscriptName": "AzeretMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Azeret Mono",
+ "fullName": "Azeret Mono Thin Italic",
+ "postscriptName": "AzeretMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 937,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ }
+ }
+ },
+ "b612": {
+ "familyName": "B612",
+ "fullName": "B612 Regular",
+ "postscriptName": "B612-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "B612",
+ "fullName": "B612 Bold",
+ "postscriptName": "B612-Bold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "B612",
+ "fullName": "B612 Regular",
+ "postscriptName": "B612-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "italic": {
+ "familyName": "B612",
+ "fullName": "B612 Italic",
+ "postscriptName": "B612-Italic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "B612",
+ "fullName": "B612 Bold Italic",
+ "postscriptName": "B612-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ }
+ }
+ },
+ "b612Mono": {
+ "familyName": "B612 Mono",
+ "fullName": "B612 Mono Regular",
+ "postscriptName": "B612Mono-Regular",
+ "category": "monospace",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1300
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "B612 Mono",
+ "fullName": "B612 Mono Bold",
+ "postscriptName": "B612Mono-Bold",
+ "category": "monospace",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1300
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "B612 Mono",
+ "fullName": "B612 Mono Regular",
+ "postscriptName": "B612Mono-Regular",
+ "category": "monospace",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1300
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "italic": {
+ "familyName": "B612 Mono",
+ "fullName": "B612 Mono Italic",
+ "postscriptName": "B612Mono-Italic",
+ "category": "monospace",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1300
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "B612 Mono",
+ "fullName": "B612 Mono Bold Italic",
+ "postscriptName": "B612Mono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1500,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1300,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1300
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ }
+ }
+ },
+ "bIZUDGothic": {
+ "familyName": "BIZ UDGothic",
+ "fullName": "BIZ UDGothic",
+ "postscriptName": "BIZUDGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "BIZ UDGothic",
+ "fullName": "BIZ UDGothic Bold",
+ "postscriptName": "BIZUDGothic-Bold",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BIZ UDGothic",
+ "fullName": "BIZ UDGothic",
+ "postscriptName": "BIZUDGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "bIZUDMincho": {
+ "familyName": "BIZ UDMincho",
+ "fullName": "BIZ UDMincho",
+ "postscriptName": "BIZUDMincho-Regular",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "BIZ UDMincho",
+ "fullName": "BIZ UDMincho Bold",
+ "postscriptName": "BIZUDMincho-Bold",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BIZ UDMincho",
+ "fullName": "BIZ UDMincho",
+ "postscriptName": "BIZUDMincho-Regular",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "bIZUDPGothic": {
+ "familyName": "BIZ UDPGothic",
+ "fullName": "BIZ UDPGothic",
+ "postscriptName": "BIZUDPGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "BIZ UDPGothic",
+ "fullName": "BIZ UDPGothic Bold",
+ "postscriptName": "BIZUDPGothic-Bold",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1178,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1178
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BIZ UDPGothic",
+ "fullName": "BIZ UDPGothic",
+ "postscriptName": "BIZUDPGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "bIZUDPMincho": {
+ "familyName": "BIZ UDPMincho",
+ "fullName": "BIZ UDPMincho",
+ "postscriptName": "BIZUDPMincho-Regular",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "BIZ UDPMincho",
+ "fullName": "BIZ UDPMincho Bold",
+ "postscriptName": "BIZUDPMincho-Bold",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1223,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1223
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BIZ UDPMincho",
+ "fullName": "BIZ UDPMincho",
+ "postscriptName": "BIZUDPMincho-Regular",
+ "category": "serif",
+ "capHeight": 1567,
+ "ascent": 1802,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1108,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "babylonica": {
+ "familyName": "Babylonica",
+ "fullName": "Babylonica Regular",
+ "postscriptName": "Babylonica-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 875,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 281,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 281
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Babylonica",
+ "fullName": "Babylonica Regular",
+ "postscriptName": "Babylonica-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 875,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 281,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 281
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ }
+ }
+ },
+ "bacasimeAntique": {
+ "familyName": "Bacasime Antique",
+ "fullName": "Bacasime Antique Regular",
+ "postscriptName": "BacasimeAntique-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1536,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 819,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 819
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bacasime Antique",
+ "fullName": "Bacasime Antique Regular",
+ "postscriptName": "BacasimeAntique-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1536,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 819,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 819
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ }
+ }
+ },
+ "badScript": {
+ "familyName": "Bad Script",
+ "fullName": "Bad Script Regular",
+ "postscriptName": "BadScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1966,
+ "ascent": 2710,
+ "descent": -1327,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1034,
+ "xWidthAvg": 787,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 787
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bad Script",
+ "fullName": "Bad Script Regular",
+ "postscriptName": "BadScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1966,
+ "ascent": 2710,
+ "descent": -1327,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1034,
+ "xWidthAvg": 787,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 787
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "bagelFatOne": {
+ "familyName": "Bagel Fat One",
+ "fullName": "Bagel Fat One Regular",
+ "postscriptName": "BagelFatOne-Regular",
+ "category": "display",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bagel Fat One",
+ "fullName": "Bagel Fat One Regular",
+ "postscriptName": "BagelFatOne-Regular",
+ "category": "display",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ }
+ }
+ },
+ "bahiana": {
+ "familyName": "Bahiana",
+ "fullName": "Bahiana Regular",
+ "postscriptName": "Bahiana-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 283,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 283
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bahiana",
+ "fullName": "Bahiana Regular",
+ "postscriptName": "Bahiana-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 283,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 283
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ }
+ }
+ }
+ },
+ "bahianita": {
+ "familyName": "Bahianita",
+ "fullName": "Bahianita Regular",
+ "postscriptName": "Bahianita-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 962,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 244,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 244
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bahianita",
+ "fullName": "Bahianita Regular",
+ "postscriptName": "Bahianita-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 962,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 244,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 244
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ }
+ }
+ }
+ },
+ "baiJamjuree": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Regular",
+ "postscriptName": "BaiJamjuree-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree ExtraLight",
+ "postscriptName": "BaiJamjuree-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "300": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Light",
+ "postscriptName": "BaiJamjuree-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "500": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Medium",
+ "postscriptName": "BaiJamjuree-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "600": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree SemiBold",
+ "postscriptName": "BaiJamjuree-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Bold",
+ "postscriptName": "BaiJamjuree-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Regular",
+ "postscriptName": "BaiJamjuree-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Italic",
+ "postscriptName": "BaiJamjuree-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Bold Italic",
+ "postscriptName": "BaiJamjuree-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree SemiBold Italic",
+ "postscriptName": "BaiJamjuree-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Medium Italic",
+ "postscriptName": "BaiJamjuree-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree Light Italic",
+ "postscriptName": "BaiJamjuree-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Bai Jamjuree",
+ "fullName": "Bai Jamjuree ExtraLight Italic",
+ "postscriptName": "BaiJamjuree-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ }
+ }
+ },
+ "bakbakOne": {
+ "familyName": "Bakbak One",
+ "fullName": "Bakbak One Regular",
+ "postscriptName": "BakbakOne-Regular",
+ "category": "display",
+ "capHeight": 607,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bakbak One",
+ "fullName": "Bakbak One Regular",
+ "postscriptName": "BakbakOne-Regular",
+ "category": "display",
+ "capHeight": 607,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ }
+ }
+ },
+ "ballet": {
+ "familyName": "Ballet",
+ "fullName": "Ballet 16pt Regular",
+ "postscriptName": "Ballet16pt-Regular",
+ "category": "handwriting",
+ "capHeight": 1209,
+ "ascent": 1130,
+ "descent": -770,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 339,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ballet",
+ "fullName": "Ballet 16pt Regular",
+ "postscriptName": "Ballet16pt-Regular",
+ "category": "handwriting",
+ "capHeight": 1209,
+ "ascent": 1130,
+ "descent": -770,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 339,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ }
+ }
+ }
+ },
+ "baloo2": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 Regular",
+ "postscriptName": "Baloo2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 Medium",
+ "postscriptName": "Baloo2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 SemiBold",
+ "postscriptName": "Baloo2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 Bold",
+ "postscriptName": "Baloo2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 ExtraBold",
+ "postscriptName": "Baloo2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo 2",
+ "fullName": "Baloo 2 Regular",
+ "postscriptName": "Baloo2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -524,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooBhai2": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 Regular",
+ "postscriptName": "BalooBhai2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 Medium",
+ "postscriptName": "BalooBhai2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 SemiBold",
+ "postscriptName": "BalooBhai2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 665
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 Bold",
+ "postscriptName": "BalooBhai2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 ExtraBold",
+ "postscriptName": "BalooBhai2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Bhai 2",
+ "fullName": "Baloo Bhai 2 Regular",
+ "postscriptName": "BalooBhai2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooBhaijaan2": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 Regular",
+ "postscriptName": "BalooBhaijaan2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 Medium",
+ "postscriptName": "BalooBhaijaan2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 SemiBold",
+ "postscriptName": "BalooBhaijaan2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 Bold",
+ "postscriptName": "BalooBhaijaan2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 ExtraBold",
+ "postscriptName": "BalooBhaijaan2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Bhaijaan 2",
+ "fullName": "Baloo Bhaijaan 2 Regular",
+ "postscriptName": "BalooBhaijaan2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1080,
+ "descent": -632,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooBhaina2": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 Regular",
+ "postscriptName": "BalooBhaina2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 Medium",
+ "postscriptName": "BalooBhaina2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 SemiBold",
+ "postscriptName": "BalooBhaina2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 Bold",
+ "postscriptName": "BalooBhaina2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 ExtraBold",
+ "postscriptName": "BalooBhaina2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Bhaina 2",
+ "fullName": "Baloo Bhaina 2 Regular",
+ "postscriptName": "BalooBhaina2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1185,
+ "descent": -827,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ }
+ }
+ }
+ },
+ "balooChettan2": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 Regular",
+ "postscriptName": "BalooChettan2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 Medium",
+ "postscriptName": "BalooChettan2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 SemiBold",
+ "postscriptName": "BalooChettan2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 Bold",
+ "postscriptName": "BalooChettan2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 ExtraBold",
+ "postscriptName": "BalooChettan2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Chettan 2",
+ "fullName": "Baloo Chettan 2 Regular",
+ "postscriptName": "BalooChettan2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooDa2": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 Regular",
+ "postscriptName": "BalooDa2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 Medium",
+ "postscriptName": "BalooDa2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 SemiBold",
+ "postscriptName": "BalooDa2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 Bold",
+ "postscriptName": "BalooDa2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 674
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 ExtraBold",
+ "postscriptName": "BalooDa2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Da 2",
+ "fullName": "Baloo Da 2 Regular",
+ "postscriptName": "BalooDa2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1095,
+ "descent": -589,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooPaaji2": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 Regular",
+ "postscriptName": "BalooPaaji2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 Medium",
+ "postscriptName": "BalooPaaji2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 SemiBold",
+ "postscriptName": "BalooPaaji2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 Bold",
+ "postscriptName": "BalooPaaji2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 ExtraBold",
+ "postscriptName": "BalooPaaji2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Paaji 2",
+ "fullName": "Baloo Paaji 2 Regular",
+ "postscriptName": "BalooPaaji2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1157,
+ "descent": -614,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooTamma2": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 Regular",
+ "postscriptName": "BalooTamma2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 Medium",
+ "postscriptName": "BalooTamma2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 SemiBold",
+ "postscriptName": "BalooTamma2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 Bold",
+ "postscriptName": "BalooTamma2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 ExtraBold",
+ "postscriptName": "BalooTamma2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Tamma 2",
+ "fullName": "Baloo Tamma 2 Regular",
+ "postscriptName": "BalooTamma2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -673,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ }
+ }
+ }
+ },
+ "balooTammudu2": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 Regular",
+ "postscriptName": "BalooTammudu2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 Medium",
+ "postscriptName": "BalooTammudu2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 SemiBold",
+ "postscriptName": "BalooTammudu2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 661
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 Bold",
+ "postscriptName": "BalooTammudu2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 ExtraBold",
+ "postscriptName": "BalooTammudu2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Tammudu 2",
+ "fullName": "Baloo Tammudu 2 Regular",
+ "postscriptName": "BalooTammudu2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1177,
+ "descent": -1119,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balooThambi2": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 Regular",
+ "postscriptName": "BalooThambi2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 Medium",
+ "postscriptName": "BalooThambi2-Medium",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 SemiBold",
+ "postscriptName": "BalooThambi2-SemiBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 665
+ }
+ }
+ },
+ "700": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 Bold",
+ "postscriptName": "BalooThambi2-Bold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 674
+ }
+ }
+ },
+ "800": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 ExtraBold",
+ "postscriptName": "BalooThambi2-ExtraBold",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Baloo Thambi 2",
+ "fullName": "Baloo Thambi 2 Regular",
+ "postscriptName": "BalooThambi2-Regular",
+ "category": "display",
+ "capHeight": 602,
+ "ascent": 1078,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "balsamiqSans": {
+ "familyName": "Balsamiq Sans",
+ "fullName": "Balsamiq Sans Regular",
+ "postscriptName": "BalsamiqSans-Regular",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 465
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Balsamiq Sans",
+ "fullName": "Balsamiq Sans Bold",
+ "postscriptName": "BalsamiqSans-Bold",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 415
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Balsamiq Sans",
+ "fullName": "Balsamiq Sans Regular",
+ "postscriptName": "BalsamiqSans-Regular",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 465
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Balsamiq Sans",
+ "fullName": "Balsamiq Sans Italic",
+ "postscriptName": "BalsamiqSans-Italic",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 465
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Balsamiq Sans",
+ "fullName": "Balsamiq Sans Bold Italic",
+ "postscriptName": "BalsamiqSans-BoldItalic",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "balthazar": {
+ "familyName": "Balthazar",
+ "fullName": "Balthazar Regular",
+ "postscriptName": "Balthazar-Regular",
+ "category": "serif",
+ "capHeight": 605,
+ "ascent": 796,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Balthazar",
+ "fullName": "Balthazar Regular",
+ "postscriptName": "Balthazar-Regular",
+ "category": "serif",
+ "capHeight": 605,
+ "ascent": 796,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "bangers": {
+ "familyName": "Bangers",
+ "fullName": "Bangers Regular",
+ "postscriptName": "Bangers-Regular",
+ "category": "display",
+ "capHeight": 721,
+ "ascent": 883,
+ "descent": -181,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 721,
+ "xWidthAvg": 367,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 367
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bangers",
+ "fullName": "Bangers Regular",
+ "postscriptName": "Bangers-Regular",
+ "category": "display",
+ "capHeight": 721,
+ "ascent": 883,
+ "descent": -181,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 721,
+ "xWidthAvg": 367,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 367
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ }
+ }
+ },
+ "barlow": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Regular",
+ "postscriptName": "Barlow-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 419
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Thin",
+ "postscriptName": "Barlow-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 386
+ }
+ }
+ },
+ "200": {
+ "familyName": "Barlow",
+ "fullName": "Barlow ExtraLight",
+ "postscriptName": "Barlow-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 393
+ }
+ }
+ },
+ "300": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Light",
+ "postscriptName": "Barlow-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 404
+ }
+ }
+ },
+ "500": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Medium",
+ "postscriptName": "Barlow-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 438
+ }
+ }
+ },
+ "600": {
+ "familyName": "Barlow",
+ "fullName": "Barlow SemiBold",
+ "postscriptName": "Barlow-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "700": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Bold",
+ "postscriptName": "Barlow-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 474
+ }
+ }
+ },
+ "800": {
+ "familyName": "Barlow",
+ "fullName": "Barlow ExtraBold",
+ "postscriptName": "Barlow-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "900": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Black",
+ "postscriptName": "Barlow-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 511
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Regular",
+ "postscriptName": "Barlow-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 419
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Italic",
+ "postscriptName": "Barlow-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 406
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Black Italic",
+ "postscriptName": "Barlow-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow ExtraBold Italic",
+ "postscriptName": "Barlow-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 479
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Bold Italic",
+ "postscriptName": "Barlow-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow SemiBold Italic",
+ "postscriptName": "Barlow-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 441
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Medium Italic",
+ "postscriptName": "Barlow-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 425
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Light Italic",
+ "postscriptName": "Barlow-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 392
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow ExtraLight Italic",
+ "postscriptName": "Barlow-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Barlow",
+ "fullName": "Barlow Thin Italic",
+ "postscriptName": "Barlow-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 375
+ }
+ }
+ }
+ }
+ },
+ "barlowCondensed": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Regular",
+ "postscriptName": "BarlowCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 341
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Thin",
+ "postscriptName": "BarlowCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 304
+ }
+ }
+ },
+ "200": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed ExtraLight",
+ "postscriptName": "BarlowCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 312
+ }
+ }
+ },
+ "300": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Light",
+ "postscriptName": "BarlowCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 335,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 335
+ },
+ "thai": {
+ "xWidthAvg": 325
+ }
+ }
+ },
+ "500": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Medium",
+ "postscriptName": "BarlowCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 349,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 349
+ },
+ "thai": {
+ "xWidthAvg": 363
+ }
+ }
+ },
+ "600": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed SemiBold",
+ "postscriptName": "BarlowCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 381
+ }
+ }
+ },
+ "700": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Bold",
+ "postscriptName": "BarlowCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 404
+ }
+ }
+ },
+ "800": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed ExtraBold",
+ "postscriptName": "BarlowCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "900": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Black",
+ "postscriptName": "BarlowCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 446
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Regular",
+ "postscriptName": "BarlowCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 341
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Italic",
+ "postscriptName": "BarlowCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 331,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 331
+ },
+ "thai": {
+ "xWidthAvg": 331
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Black Italic",
+ "postscriptName": "BarlowCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 433
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed ExtraBold Italic",
+ "postscriptName": "BarlowCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 413
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Bold Italic",
+ "postscriptName": "BarlowCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 392
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed SemiBold Italic",
+ "postscriptName": "BarlowCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 346,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 346
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Medium Italic",
+ "postscriptName": "BarlowCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 353
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Light Italic",
+ "postscriptName": "BarlowCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 326,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 326
+ },
+ "thai": {
+ "xWidthAvg": 315
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed ExtraLight Italic",
+ "postscriptName": "BarlowCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 303
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Barlow Condensed",
+ "fullName": "Barlow Condensed Thin Italic",
+ "postscriptName": "BarlowCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 318,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 318
+ },
+ "thai": {
+ "xWidthAvg": 295
+ }
+ }
+ }
+ }
+ },
+ "barlowSemiCondensed": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Regular",
+ "postscriptName": "BarlowSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 380
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Thin",
+ "postscriptName": "BarlowSemiCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 345
+ }
+ }
+ },
+ "200": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed ExtraLight",
+ "postscriptName": "BarlowSemiCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 353
+ }
+ }
+ },
+ "300": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Light",
+ "postscriptName": "BarlowSemiCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 365
+ }
+ }
+ },
+ "500": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Medium",
+ "postscriptName": "BarlowSemiCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 401
+ }
+ }
+ },
+ "600": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed SemiBold",
+ "postscriptName": "BarlowSemiCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 418
+ }
+ }
+ },
+ "700": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Bold",
+ "postscriptName": "BarlowSemiCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 439
+ }
+ }
+ },
+ "800": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed ExtraBold",
+ "postscriptName": "BarlowSemiCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ }
+ },
+ "900": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Black",
+ "postscriptName": "BarlowSemiCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 479
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Regular",
+ "postscriptName": "BarlowSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 380
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Italic",
+ "postscriptName": "BarlowSemiCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 368
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Black Italic",
+ "postscriptName": "BarlowSemiCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed ExtraBold Italic",
+ "postscriptName": "BarlowSemiCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 446
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Bold Italic",
+ "postscriptName": "BarlowSemiCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed SemiBold Italic",
+ "postscriptName": "BarlowSemiCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 405
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Medium Italic",
+ "postscriptName": "BarlowSemiCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 389
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Light Italic",
+ "postscriptName": "BarlowSemiCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 354
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed ExtraLight Italic",
+ "postscriptName": "BarlowSemiCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 342
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Barlow Semi Condensed",
+ "fullName": "Barlow Semi Condensed Thin Italic",
+ "postscriptName": "BarlowSemiCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 335
+ }
+ }
+ }
+ }
+ },
+ "barriecito": {
+ "familyName": "Barriecito",
+ "fullName": "Barriecito Regular",
+ "postscriptName": "Barriecito-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 962,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Barriecito",
+ "fullName": "Barriecito Regular",
+ "postscriptName": "Barriecito-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 962,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "barrio": {
+ "familyName": "Barrio",
+ "fullName": "Barrio Regular",
+ "postscriptName": "Barrio-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 880,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Barrio",
+ "fullName": "Barrio Regular",
+ "postscriptName": "Barrio-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 880,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "basic": {
+ "familyName": "Basic",
+ "fullName": "Basic Regular",
+ "postscriptName": "Basic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1358,
+ "ascent": 2066,
+ "descent": -511,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 885,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 885
+ },
+ "thai": {
+ "xWidthAvg": 1530
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Basic",
+ "fullName": "Basic Regular",
+ "postscriptName": "Basic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1358,
+ "ascent": 2066,
+ "descent": -511,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 885,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 885
+ },
+ "thai": {
+ "xWidthAvg": 1530
+ }
+ }
+ }
+ }
+ },
+ "baskervville": {
+ "familyName": "Baskervville",
+ "fullName": "Baskervville Regular",
+ "postscriptName": "Baskervville-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 998,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Baskervville",
+ "fullName": "Baskervville Regular",
+ "postscriptName": "Baskervville-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 998,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Baskervville",
+ "fullName": "Baskervville Italic",
+ "postscriptName": "Baskervville-Italic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 998,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ }
+ }
+ }
+ },
+ "baskervvilleSC": {
+ "familyName": "Baskervville SC",
+ "fullName": "Baskervville SC Regular",
+ "postscriptName": "BaskervvilleSC-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 998,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Baskervville SC",
+ "fullName": "Baskervville SC Regular",
+ "postscriptName": "BaskervvilleSC-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 998,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ }
+ }
+ }
+ },
+ "battambang": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Regular",
+ "postscriptName": "Battambang-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Thin",
+ "postscriptName": "Battambang-Thin",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Light",
+ "postscriptName": "Battambang-Light",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Bold",
+ "postscriptName": "Battambang-Bold",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1014,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1014
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Black",
+ "postscriptName": "Battambang-Black",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Battambang",
+ "fullName": "Battambang Regular",
+ "postscriptName": "Battambang-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "baumans": {
+ "familyName": "Baumans",
+ "fullName": "Baumans Regular",
+ "postscriptName": "Baumans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 942,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Baumans",
+ "fullName": "Baumans Regular",
+ "postscriptName": "Baumans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 942,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "bayon": {
+ "familyName": "Bayon",
+ "fullName": "Bayon Regular",
+ "postscriptName": "Bayon-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bayon",
+ "fullName": "Bayon Regular",
+ "postscriptName": "Bayon-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "beVietnamPro": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Regular",
+ "postscriptName": "BeVietnamPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Thin",
+ "postscriptName": "BeVietnamPro-Thin",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro ExtraLight",
+ "postscriptName": "BeVietnamPro-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Light",
+ "postscriptName": "BeVietnamPro-Light",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Medium",
+ "postscriptName": "BeVietnamPro-Medium",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro SemiBold",
+ "postscriptName": "BeVietnamPro-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Bold",
+ "postscriptName": "BeVietnamPro-Bold",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro ExtraBold",
+ "postscriptName": "BeVietnamPro-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Black",
+ "postscriptName": "BeVietnamPro-Black",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Regular",
+ "postscriptName": "BeVietnamPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Italic",
+ "postscriptName": "BeVietnamPro-Italic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Black Italic",
+ "postscriptName": "BeVietnamPro-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro ExtraBold Italic",
+ "postscriptName": "BeVietnamPro-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Bold Italic",
+ "postscriptName": "BeVietnamPro-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro SemiBold Italic",
+ "postscriptName": "BeVietnamPro-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Medium Italic",
+ "postscriptName": "BeVietnamPro-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Light Italic",
+ "postscriptName": "BeVietnamPro-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro ExtraLight Italic",
+ "postscriptName": "BeVietnamPro-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Be Vietnam Pro",
+ "fullName": "Be Vietnam Pro Thin Italic",
+ "postscriptName": "BeVietnamPro-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 740,
+ "ascent": 1000,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "beauRivage": {
+ "familyName": "Beau Rivage",
+ "fullName": "Beau Rivage Regular",
+ "postscriptName": "BeauRivage-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 288,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 288
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Beau Rivage",
+ "fullName": "Beau Rivage Regular",
+ "postscriptName": "BeauRivage-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 288,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 288
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ }
+ }
+ },
+ "bebasNeue": {
+ "familyName": "Bebas Neue",
+ "fullName": "Bebas Neue Regular",
+ "postscriptName": "BebasNeue-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 738
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bebas Neue",
+ "fullName": "Bebas Neue Regular",
+ "postscriptName": "BebasNeue-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 738
+ }
+ }
+ }
+ }
+ },
+ "beiruti": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Regular",
+ "postscriptName": "Beiruti-Regular",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti ExtraLight",
+ "postscriptName": "Beiruti-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 604,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 381,
+ "xWidthAvg": 333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 333
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "300": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Light",
+ "postscriptName": "Beiruti-Light",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 875,
+ "descent": -325,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 338,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 338
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "500": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Medium",
+ "postscriptName": "Beiruti-Medium",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 890,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 394,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "600": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti SemiBold",
+ "postscriptName": "Beiruti-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 606,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 398,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "700": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Bold",
+ "postscriptName": "Beiruti-Bold",
+ "category": "sans-serif",
+ "capHeight": 606,
+ "ascent": 870,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 403,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ },
+ "800": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti ExtraBold",
+ "postscriptName": "Beiruti-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 607,
+ "ascent": 860,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 407,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ }
+ },
+ "900": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Black",
+ "postscriptName": "Beiruti-Black",
+ "category": "sans-serif",
+ "capHeight": 607,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 411,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Beiruti",
+ "fullName": "Beiruti Regular",
+ "postscriptName": "Beiruti-Regular",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ }
+ }
+ }
+ },
+ "belanosima": {
+ "familyName": "Belanosima",
+ "fullName": "Belanosima Regular",
+ "postscriptName": "Belanosima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1835,
+ "descent": -416,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 851,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 851
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "600": {
+ "familyName": "Belanosima",
+ "fullName": "Belanosima SemiBold",
+ "postscriptName": "Belanosima-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1893,
+ "descent": -419,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Belanosima",
+ "fullName": "Belanosima Bold",
+ "postscriptName": "Belanosima-Bold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1857,
+ "descent": -678,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Belanosima",
+ "fullName": "Belanosima Regular",
+ "postscriptName": "Belanosima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1835,
+ "descent": -416,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 851,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 851
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "belgrano": {
+ "familyName": "Belgrano",
+ "fullName": "Belgrano Regular",
+ "postscriptName": "Belgrano-Regular",
+ "category": "serif",
+ "capHeight": 706,
+ "ascent": 990,
+ "descent": -278,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 259
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Belgrano",
+ "fullName": "Belgrano Regular",
+ "postscriptName": "Belgrano-Regular",
+ "category": "serif",
+ "capHeight": 706,
+ "ascent": 990,
+ "descent": -278,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 259
+ }
+ }
+ }
+ }
+ },
+ "bellefair": {
+ "familyName": "Bellefair",
+ "fullName": "Bellefair Regular",
+ "postscriptName": "Bellefair-Regular",
+ "category": "serif",
+ "capHeight": 688,
+ "ascent": 869,
+ "descent": -277,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 364,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bellefair",
+ "fullName": "Bellefair Regular",
+ "postscriptName": "Bellefair-Regular",
+ "category": "serif",
+ "capHeight": 688,
+ "ascent": 869,
+ "descent": -277,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 364,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ }
+ }
+ }
+ },
+ "belleza": {
+ "familyName": "Belleza",
+ "fullName": "Belleza Regular",
+ "postscriptName": "Belleza-Regular",
+ "category": "sans-serif",
+ "capHeight": 662,
+ "ascent": 928,
+ "descent": -224,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Belleza",
+ "fullName": "Belleza Regular",
+ "postscriptName": "Belleza-Regular",
+ "category": "sans-serif",
+ "capHeight": 662,
+ "ascent": 928,
+ "descent": -224,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "bellota": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Regular",
+ "postscriptName": "Bellota-Regular",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Light",
+ "postscriptName": "Bellota-Light",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Bold",
+ "postscriptName": "Bellota-Bold",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Regular",
+ "postscriptName": "Bellota-Regular",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Italic",
+ "postscriptName": "Bellota-Italic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Bold Italic",
+ "postscriptName": "Bellota-BoldItalic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Bellota",
+ "fullName": "Bellota Light Italic",
+ "postscriptName": "Bellota-LightItalic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ }
+ }
+ },
+ "bellotaText": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Regular",
+ "postscriptName": "BellotaText-Regular",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Light",
+ "postscriptName": "BellotaText-Light",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Bold",
+ "postscriptName": "BellotaText-Bold",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Regular",
+ "postscriptName": "BellotaText-Regular",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Italic",
+ "postscriptName": "BellotaText-Italic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Bold Italic",
+ "postscriptName": "BellotaText-BoldItalic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Bellota Text",
+ "fullName": "Bellota Text Light Italic",
+ "postscriptName": "BellotaText-LightItalic",
+ "category": "display",
+ "capHeight": 684,
+ "ascent": 968,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ }
+ }
+ },
+ "benchNine": {
+ "familyName": "BenchNine",
+ "fullName": "BenchNine Regular",
+ "postscriptName": "BenchNine-Regular",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2020,
+ "descent": -720,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1006,
+ "xWidthAvg": 582,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 582
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "BenchNine",
+ "fullName": "BenchNine Light",
+ "postscriptName": "BenchNine-Light",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2020,
+ "descent": -720,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1006,
+ "xWidthAvg": 549,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 549
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ },
+ "700": {
+ "familyName": "BenchNine",
+ "fullName": "BenchNine Bold",
+ "postscriptName": "BenchNine-Bold",
+ "category": "sans-serif",
+ "ascent": 2020,
+ "descent": -720,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 595,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 595
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BenchNine",
+ "fullName": "BenchNine Regular",
+ "postscriptName": "BenchNine-Regular",
+ "category": "sans-serif",
+ "capHeight": 1438,
+ "ascent": 2020,
+ "descent": -720,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1006,
+ "xWidthAvg": 582,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 582
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ }
+ }
+ },
+ "benne": {
+ "familyName": "Benne",
+ "fullName": "Benne Regular",
+ "postscriptName": "Benne-Regular",
+ "category": "serif",
+ "capHeight": 655,
+ "ascent": 630,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 404,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Benne",
+ "fullName": "Benne Regular",
+ "postscriptName": "Benne-Regular",
+ "category": "serif",
+ "capHeight": 655,
+ "ascent": 630,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 404,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "bentham": {
+ "familyName": "Bentham",
+ "fullName": "Bentham Regular",
+ "postscriptName": "Bentham-Regular",
+ "category": "serif",
+ "ascent": 879,
+ "descent": -260,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 372
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bentham",
+ "fullName": "Bentham Regular",
+ "postscriptName": "Bentham-Regular",
+ "category": "serif",
+ "ascent": 879,
+ "descent": -260,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 372
+ }
+ }
+ }
+ }
+ },
+ "berkshireSwash": {
+ "familyName": "Berkshire Swash",
+ "fullName": "Berkshire Swash Regular",
+ "postscriptName": "BerkshireSwash-Regular",
+ "category": "handwriting",
+ "capHeight": 1858,
+ "ascent": 2007,
+ "descent": -537,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1038,
+ "xWidthAvg": 870,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 870
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Berkshire Swash",
+ "fullName": "Berkshire Swash Regular",
+ "postscriptName": "BerkshireSwash-Regular",
+ "category": "handwriting",
+ "capHeight": 1858,
+ "ascent": 2007,
+ "descent": -537,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1038,
+ "xWidthAvg": 870,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 870
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "besley": {
+ "familyName": "Besley",
+ "fullName": "Besley Regular",
+ "postscriptName": "Besley-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Besley",
+ "fullName": "Besley Medium",
+ "postscriptName": "Besley-Medium",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1032,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1032
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Besley",
+ "fullName": "Besley SemiBold",
+ "postscriptName": "Besley-SemiBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1060,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1060
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Besley",
+ "fullName": "Besley Bold",
+ "postscriptName": "Besley-Bold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Besley",
+ "fullName": "Besley ExtraBold",
+ "postscriptName": "Besley-ExtraBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1138,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1138
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Besley",
+ "fullName": "Besley Black",
+ "postscriptName": "Besley-Black",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1186,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1186
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Besley",
+ "fullName": "Besley Regular",
+ "postscriptName": "Besley-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Besley",
+ "fullName": "Besley Italic",
+ "postscriptName": "Besley-Italic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Besley",
+ "fullName": "Besley Black Italic",
+ "postscriptName": "Besley-BlackItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1233,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1233
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Besley",
+ "fullName": "Besley ExtraBold Italic",
+ "postscriptName": "Besley-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1169,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1169
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Besley",
+ "fullName": "Besley Bold Italic",
+ "postscriptName": "Besley-BoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1114,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1114
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Besley",
+ "fullName": "Besley SemiBold Italic",
+ "postscriptName": "Besley-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1067,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1067
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Besley",
+ "fullName": "Besley Medium Italic",
+ "postscriptName": "Besley-MediumItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2500,
+ "descent": -850,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1029,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1029
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bethEllen": {
+ "familyName": "Beth Ellen",
+ "fullName": "Beth Ellen Regular",
+ "postscriptName": "BethEllen-Regular",
+ "category": "handwriting",
+ "capHeight": 2248,
+ "ascent": 3250,
+ "descent": -1190,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1208,
+ "xWidthAvg": 1105,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1105
+ },
+ "thai": {
+ "xWidthAvg": 863
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Beth Ellen",
+ "fullName": "Beth Ellen Regular",
+ "postscriptName": "BethEllen-Regular",
+ "category": "handwriting",
+ "capHeight": 2248,
+ "ascent": 3250,
+ "descent": -1190,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1208,
+ "xWidthAvg": 1105,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1105
+ },
+ "thai": {
+ "xWidthAvg": 863
+ }
+ }
+ }
+ }
+ },
+ "bevan": {
+ "familyName": "Bevan",
+ "fullName": "Bevan Regular",
+ "postscriptName": "Bevan-Regular",
+ "category": "serif",
+ "capHeight": 1592,
+ "ascent": 2366,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1072,
+ "xWidthAvg": 1151,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1151
+ },
+ "thai": {
+ "xWidthAvg": 954
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bevan",
+ "fullName": "Bevan Regular",
+ "postscriptName": "Bevan-Regular",
+ "category": "serif",
+ "capHeight": 1592,
+ "ascent": 2366,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1072,
+ "xWidthAvg": 1151,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1151
+ },
+ "thai": {
+ "xWidthAvg": 954
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bevan",
+ "fullName": "Bevan Italic",
+ "postscriptName": "Bevan-Italic",
+ "category": "serif",
+ "capHeight": 1592,
+ "ascent": 2366,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1072,
+ "xWidthAvg": 1161,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1161
+ },
+ "thai": {
+ "xWidthAvg": 962
+ }
+ }
+ }
+ }
+ },
+ "bhuTukaExpandedOne": {
+ "familyName": "BhuTuka Expanded One",
+ "fullName": "BhuTuka Expanded One Regular",
+ "postscriptName": "BhuTukaExpandedOne-Regular",
+ "category": "serif",
+ "capHeight": 520,
+ "ascent": 826,
+ "descent": -182,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 690,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 690
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "BhuTuka Expanded One",
+ "fullName": "BhuTuka Expanded One Regular",
+ "postscriptName": "BhuTukaExpandedOne-Regular",
+ "category": "serif",
+ "capHeight": 520,
+ "ascent": 826,
+ "descent": -182,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 690,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 690
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersDisplay": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Regular",
+ "postscriptName": "BigShouldersDisplay-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 598,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 598
+ },
+ "thai": {
+ "xWidthAvg": 1056
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Thin",
+ "postscriptName": "BigShouldersDisplay-Thin",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 814
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display ExtraLight",
+ "postscriptName": "BigShouldersDisplay-ExtraLight",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 869
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Light",
+ "postscriptName": "BigShouldersDisplay-Light",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 947
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Medium",
+ "postscriptName": "BigShouldersDisplay-Medium",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 624,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 624
+ },
+ "thai": {
+ "xWidthAvg": 1111
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display SemiBold",
+ "postscriptName": "BigShouldersDisplay-SemiBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 649,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 649
+ },
+ "thai": {
+ "xWidthAvg": 1164
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Bold",
+ "postscriptName": "BigShouldersDisplay-Bold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 699,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 699
+ },
+ "thai": {
+ "xWidthAvg": 1272
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display ExtraBold",
+ "postscriptName": "BigShouldersDisplay-ExtraBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 750,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 750
+ },
+ "thai": {
+ "xWidthAvg": 1381
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Black",
+ "postscriptName": "BigShouldersDisplay-Black",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 800,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 800
+ },
+ "thai": {
+ "xWidthAvg": 1490
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Display",
+ "fullName": "Big Shoulders Display Regular",
+ "postscriptName": "BigShouldersDisplay-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 598,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 598
+ },
+ "thai": {
+ "xWidthAvg": 1056
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersInlineDisplay": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Regular",
+ "postscriptName": "BigShouldersInlineDisplay-Regular",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1205,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1205
+ },
+ "thai": {
+ "xWidthAvg": 2111
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Thin",
+ "postscriptName": "BigShouldersInlineDisplay-Thin",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 962,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 962
+ },
+ "thai": {
+ "xWidthAvg": 1628
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display ExtraLight",
+ "postscriptName": "BigShouldersInlineDisplay-ExtraLight",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1019,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1019
+ },
+ "thai": {
+ "xWidthAvg": 1738
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Light",
+ "postscriptName": "BigShouldersInlineDisplay-Light",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1100
+ },
+ "thai": {
+ "xWidthAvg": 1895
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Medium",
+ "postscriptName": "BigShouldersInlineDisplay-Medium",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1257
+ },
+ "thai": {
+ "xWidthAvg": 2221
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display SemiBold",
+ "postscriptName": "BigShouldersInlineDisplay-SemiBold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1307,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1307
+ },
+ "thai": {
+ "xWidthAvg": 2329
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Bold",
+ "postscriptName": "BigShouldersInlineDisplay-Bold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1409
+ },
+ "thai": {
+ "xWidthAvg": 2545
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display ExtraBold",
+ "postscriptName": "BigShouldersInlineDisplay-ExtraBold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1512
+ },
+ "thai": {
+ "xWidthAvg": 2762
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Black",
+ "postscriptName": "BigShouldersInlineDisplay-Black",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1615,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1615
+ },
+ "thai": {
+ "xWidthAvg": 2980
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Inline Display",
+ "fullName": "Big Shoulders Inline Display Regular",
+ "postscriptName": "BigShouldersInlineDisplay-Regular",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1205,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1205
+ },
+ "thai": {
+ "xWidthAvg": 2111
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersInlineText": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Regular",
+ "postscriptName": "BigShouldersInlineText-Regular",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1333
+ },
+ "thai": {
+ "xWidthAvg": 2584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Thin",
+ "postscriptName": "BigShouldersInlineText-Thin",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1151,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1151
+ },
+ "thai": {
+ "xWidthAvg": 2188
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text ExtraLight",
+ "postscriptName": "BigShouldersInlineText-ExtraLight",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1191,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1191
+ },
+ "thai": {
+ "xWidthAvg": 2278
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Light",
+ "postscriptName": "BigShouldersInlineText-Light",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1248,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1248
+ },
+ "thai": {
+ "xWidthAvg": 2406
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Medium",
+ "postscriptName": "BigShouldersInlineText-Medium",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1379
+ },
+ "thai": {
+ "xWidthAvg": 2675
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text SemiBold",
+ "postscriptName": "BigShouldersInlineText-SemiBold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1423
+ },
+ "thai": {
+ "xWidthAvg": 2763
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Bold",
+ "postscriptName": "BigShouldersInlineText-Bold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1512
+ },
+ "thai": {
+ "xWidthAvg": 2941
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text ExtraBold",
+ "postscriptName": "BigShouldersInlineText-ExtraBold",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1601,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1601
+ },
+ "thai": {
+ "xWidthAvg": 3121
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Black",
+ "postscriptName": "BigShouldersInlineText-Black",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1691,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1691
+ },
+ "thai": {
+ "xWidthAvg": 3300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Inline Text",
+ "fullName": "Big Shoulders Inline Text Regular",
+ "postscriptName": "BigShouldersInlineText-Regular",
+ "category": "display",
+ "capHeight": 3200,
+ "ascent": 3936,
+ "descent": -852,
+ "lineGap": 0,
+ "unitsPerEm": 4000,
+ "xHeight": 2400,
+ "xWidthAvg": 1333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1333
+ },
+ "thai": {
+ "xWidthAvg": 2584
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersStencilDisplay": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Regular",
+ "postscriptName": "BigShouldersStencilDisplay-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 599,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 599
+ },
+ "thai": {
+ "xWidthAvg": 1056
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Thin",
+ "postscriptName": "BigShouldersStencilDisplay-Thin",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 814
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display ExtraLight",
+ "postscriptName": "BigShouldersStencilDisplay-ExtraLight",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 869
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Light",
+ "postscriptName": "BigShouldersStencilDisplay-Light",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 947
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Medium",
+ "postscriptName": "BigShouldersStencilDisplay-Medium",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 625,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 625
+ },
+ "thai": {
+ "xWidthAvg": 1111
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display SemiBold",
+ "postscriptName": "BigShouldersStencilDisplay-SemiBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 650,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 650
+ },
+ "thai": {
+ "xWidthAvg": 1164
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Bold",
+ "postscriptName": "BigShouldersStencilDisplay-Bold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 699,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 699
+ },
+ "thai": {
+ "xWidthAvg": 1272
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display ExtraBold",
+ "postscriptName": "BigShouldersStencilDisplay-ExtraBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 750,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 750
+ },
+ "thai": {
+ "xWidthAvg": 1381
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Black",
+ "postscriptName": "BigShouldersStencilDisplay-Black",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 800,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 800
+ },
+ "thai": {
+ "xWidthAvg": 1490
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Stencil Display",
+ "fullName": "Big Shoulders Stencil Display Regular",
+ "postscriptName": "BigShouldersStencilDisplay-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 599,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 599
+ },
+ "thai": {
+ "xWidthAvg": 1056
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersStencilText": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Regular",
+ "postscriptName": "BigShouldersStencilText-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 666,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 666
+ },
+ "thai": {
+ "xWidthAvg": 1298
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Thin",
+ "postscriptName": "BigShouldersStencilText-Thin",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 573,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 573
+ },
+ "thai": {
+ "xWidthAvg": 1094
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text ExtraLight",
+ "postscriptName": "BigShouldersStencilText-ExtraLight",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 593,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 593
+ },
+ "thai": {
+ "xWidthAvg": 1139
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Light",
+ "postscriptName": "BigShouldersStencilText-Light",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 623,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 623
+ },
+ "thai": {
+ "xWidthAvg": 1203
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Medium",
+ "postscriptName": "BigShouldersStencilText-Medium",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 689,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 689
+ },
+ "thai": {
+ "xWidthAvg": 1347
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text SemiBold",
+ "postscriptName": "BigShouldersStencilText-SemiBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 711,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 711
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Bold",
+ "postscriptName": "BigShouldersStencilText-Bold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1493
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text ExtraBold",
+ "postscriptName": "BigShouldersStencilText-ExtraBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 800,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 800
+ },
+ "thai": {
+ "xWidthAvg": 1592
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Black",
+ "postscriptName": "BigShouldersStencilText-Black",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Stencil Text",
+ "fullName": "Big Shoulders Stencil Text Regular",
+ "postscriptName": "BigShouldersStencilText-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 666,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 666
+ },
+ "thai": {
+ "xWidthAvg": 1298
+ }
+ }
+ }
+ }
+ },
+ "bigShouldersText": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Regular",
+ "postscriptName": "BigShouldersText-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 664,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 664
+ },
+ "thai": {
+ "xWidthAvg": 1292
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Thin",
+ "postscriptName": "BigShouldersText-Thin",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 1094
+ }
+ }
+ },
+ "200": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text ExtraLight",
+ "postscriptName": "BigShouldersText-ExtraLight",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 591,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 591
+ },
+ "thai": {
+ "xWidthAvg": 1139
+ }
+ }
+ },
+ "300": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Light",
+ "postscriptName": "BigShouldersText-Light",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 621,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 621
+ },
+ "thai": {
+ "xWidthAvg": 1203
+ }
+ }
+ },
+ "500": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Medium",
+ "postscriptName": "BigShouldersText-Medium",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 687,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 687
+ },
+ "thai": {
+ "xWidthAvg": 1337
+ }
+ }
+ },
+ "600": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text SemiBold",
+ "postscriptName": "BigShouldersText-SemiBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 709,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 709
+ },
+ "thai": {
+ "xWidthAvg": 1382
+ }
+ }
+ },
+ "700": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Bold",
+ "postscriptName": "BigShouldersText-Bold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 753,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 753
+ },
+ "thai": {
+ "xWidthAvg": 1471
+ }
+ }
+ },
+ "800": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text ExtraBold",
+ "postscriptName": "BigShouldersText-ExtraBold",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 797,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 797
+ },
+ "thai": {
+ "xWidthAvg": 1560
+ }
+ }
+ },
+ "900": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Black",
+ "postscriptName": "BigShouldersText-Black",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1650
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Big Shoulders Text",
+ "fullName": "Big Shoulders Text Regular",
+ "postscriptName": "BigShouldersText-Regular",
+ "category": "display",
+ "capHeight": 1600,
+ "ascent": 1968,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1200,
+ "xWidthAvg": 664,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 664
+ },
+ "thai": {
+ "xWidthAvg": 1292
+ }
+ }
+ }
+ }
+ },
+ "bigelowRules": {
+ "familyName": "Bigelow Rules",
+ "fullName": "Bigelow Rules Regular",
+ "postscriptName": "BigelowRules-Regular",
+ "category": "display",
+ "capHeight": 1528,
+ "ascent": 1857,
+ "descent": -516,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1227,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bigelow Rules",
+ "fullName": "Bigelow Rules Regular",
+ "postscriptName": "BigelowRules-Regular",
+ "category": "display",
+ "capHeight": 1528,
+ "ascent": 1857,
+ "descent": -516,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1227,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ }
+ }
+ }
+ },
+ "bigshotOne": {
+ "familyName": "Bigshot One",
+ "fullName": "Bigshot One Regular",
+ "postscriptName": "BigshotOne-Regular",
+ "category": "display",
+ "capHeight": 615,
+ "ascent": 869,
+ "descent": -179,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 449,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bigshot One",
+ "fullName": "Bigshot One Regular",
+ "postscriptName": "BigshotOne-Regular",
+ "category": "display",
+ "capHeight": 615,
+ "ascent": 869,
+ "descent": -179,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 449,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ }
+ }
+ }
+ },
+ "bilbo": {
+ "familyName": "Bilbo",
+ "fullName": "Bilbo Regular",
+ "postscriptName": "Bilbo-Regular",
+ "category": "handwriting",
+ "capHeight": 650,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 280,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 280
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bilbo",
+ "fullName": "Bilbo Regular",
+ "postscriptName": "Bilbo-Regular",
+ "category": "handwriting",
+ "capHeight": 650,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 280,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 280
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ }
+ }
+ },
+ "bilboSwashCaps": {
+ "familyName": "Bilbo Swash Caps",
+ "fullName": "Bilbo Swash Caps Regular",
+ "postscriptName": "BilboSwashCaps-Regular",
+ "category": "handwriting",
+ "capHeight": 542,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 327,
+ "xWidthAvg": 289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 289
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bilbo Swash Caps",
+ "fullName": "Bilbo Swash Caps Regular",
+ "postscriptName": "BilboSwashCaps-Regular",
+ "category": "handwriting",
+ "capHeight": 542,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 327,
+ "xWidthAvg": 289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 289
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "bioRhyme": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme Regular",
+ "postscriptName": "BioRhyme-Regular",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 827
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme ExtraLight",
+ "postscriptName": "BioRhyme-ExtraLight",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 723
+ }
+ }
+ },
+ "300": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme Light",
+ "postscriptName": "BioRhyme-Light",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 758
+ }
+ }
+ },
+ "500": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme Medium",
+ "postscriptName": "BioRhyme-Medium",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 833
+ }
+ }
+ },
+ "600": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme SemiBold",
+ "postscriptName": "BioRhyme-SemiBold",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 539,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 539
+ },
+ "thai": {
+ "xWidthAvg": 833
+ }
+ }
+ },
+ "700": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme Bold",
+ "postscriptName": "BioRhyme-Bold",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 833
+ }
+ }
+ },
+ "800": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme ExtraBold",
+ "postscriptName": "BioRhyme-ExtraBold",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 544,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 544
+ },
+ "thai": {
+ "xWidthAvg": 833
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BioRhyme",
+ "fullName": "BioRhyme Regular",
+ "postscriptName": "BioRhyme-Regular",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 827
+ }
+ }
+ }
+ }
+ },
+ "bioRhymeExpanded": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhymeExpanded-Regular",
+ "postscriptName": "BioRhymeExpanded-Regular",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhymeExpanded-ExtraLight",
+ "postscriptName": "BioRhymeExpanded-ExtraLight",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ },
+ "300": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhymeExpanded-Light",
+ "postscriptName": "BioRhymeExpanded-Light",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "700": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhyme Expanded Bold",
+ "postscriptName": "BioRhymeExpanded-Bold",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "800": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhymeExpanded-ExtraBold",
+ "postscriptName": "BioRhymeExpanded-ExtraBold",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 896,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 896
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ },
+ "regular": {
+ "familyName": "BioRhyme Expanded",
+ "fullName": "BioRhymeExpanded-Regular",
+ "postscriptName": "BioRhymeExpanded-Regular",
+ "category": "serif",
+ "capHeight": 686,
+ "ascent": 1127,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 471,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ }
+ }
+ },
+ "birthstone": {
+ "familyName": "Birthstone",
+ "fullName": "Birthstone Regular",
+ "postscriptName": "Birthstone-Regular",
+ "category": "handwriting",
+ "capHeight": 880,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 282,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 282
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Birthstone",
+ "fullName": "Birthstone Regular",
+ "postscriptName": "Birthstone-Regular",
+ "category": "handwriting",
+ "capHeight": 880,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 282,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 282
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "birthstoneBounce": {
+ "familyName": "Birthstone Bounce",
+ "fullName": "Birthstone Bounce Regular",
+ "postscriptName": "BirthstoneBounce-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 329
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Birthstone Bounce",
+ "fullName": "Birthstone Bounce Medium",
+ "postscriptName": "BirthstoneBounce-Medium",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 329
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Birthstone Bounce",
+ "fullName": "Birthstone Bounce Regular",
+ "postscriptName": "BirthstoneBounce-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 329
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "biryani": {
+ "familyName": "Biryani",
+ "fullName": "Biryani Regular",
+ "postscriptName": "Biryani-Regular",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Biryani",
+ "fullName": "Biryani ExtraLight",
+ "postscriptName": "Biryani-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Biryani",
+ "fullName": "Biryani Light",
+ "postscriptName": "Biryani-Light",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Biryani",
+ "fullName": "Biryani SemiBold",
+ "postscriptName": "Biryani-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Biryani",
+ "fullName": "Biryani Bold",
+ "postscriptName": "Biryani-Bold",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Biryani",
+ "fullName": "Biryani ExtraBold",
+ "postscriptName": "Biryani-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 588,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Biryani",
+ "fullName": "Biryani Black",
+ "postscriptName": "Biryani-Black",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 597,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Biryani",
+ "fullName": "Biryani Regular",
+ "postscriptName": "Biryani-Regular",
+ "category": "sans-serif",
+ "capHeight": 758,
+ "ascent": 1109,
+ "descent": -656,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "bitter": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Regular",
+ "postscriptName": "Bitter-Regular",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Thin",
+ "postscriptName": "Bitter-Thin",
+ "category": "serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Bitter",
+ "fullName": "Bitter ExtraLight",
+ "postscriptName": "Bitter-ExtraLight",
+ "category": "serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Light",
+ "postscriptName": "Bitter-Light",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Medium",
+ "postscriptName": "Bitter-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Bitter",
+ "fullName": "Bitter SemiBold",
+ "postscriptName": "Bitter-SemiBold",
+ "category": "serif",
+ "capHeight": 702,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Bold",
+ "postscriptName": "Bitter-Bold",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Bitter",
+ "fullName": "Bitter ExtraBold",
+ "postscriptName": "Bitter-ExtraBold",
+ "category": "serif",
+ "capHeight": 707,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Black",
+ "postscriptName": "Bitter-Black",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Regular",
+ "postscriptName": "Bitter-Regular",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Italic",
+ "postscriptName": "Bitter-Italic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Black Italic",
+ "postscriptName": "Bitter-BlackItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter ExtraBold Italic",
+ "postscriptName": "Bitter-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 707,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Bold Italic",
+ "postscriptName": "Bitter-BoldItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter SemiBold Italic",
+ "postscriptName": "Bitter-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 702,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Medium Italic",
+ "postscriptName": "Bitter-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Light Italic",
+ "postscriptName": "Bitter-LightItalic",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter ExtraLight Italic",
+ "postscriptName": "Bitter-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Bitter",
+ "fullName": "Bitter Thin Italic",
+ "postscriptName": "Bitter-ThinItalic",
+ "category": "serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ }
+ }
+ },
+ "blackAndWhitePicture": {
+ "familyName": "Black And White Picture",
+ "fullName": "Black And White Picture Regular",
+ "postscriptName": "BlackAndWhitePicture-Regular",
+ "category": "display",
+ "capHeight": 648,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Black And White Picture",
+ "fullName": "Black And White Picture Regular",
+ "postscriptName": "BlackAndWhitePicture-Regular",
+ "category": "display",
+ "capHeight": 648,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ }
+ }
+ },
+ "blackHanSans": {
+ "familyName": "Black Han Sans",
+ "fullName": "Black Han Sans Regular",
+ "postscriptName": "BlackHanSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Black Han Sans",
+ "fullName": "Black Han Sans Regular",
+ "postscriptName": "BlackHanSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "blackOpsOne": {
+ "familyName": "Black Ops One",
+ "fullName": "Black Ops One Regular",
+ "postscriptName": "BlackOpsOne-Regular",
+ "category": "display",
+ "capHeight": 1327,
+ "ascent": 1871,
+ "descent": -689,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 1125,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1125
+ },
+ "thai": {
+ "xWidthAvg": 1837
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Black Ops One",
+ "fullName": "Black Ops One Regular",
+ "postscriptName": "BlackOpsOne-Regular",
+ "category": "display",
+ "capHeight": 1327,
+ "ascent": 1871,
+ "descent": -689,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 1125,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1125
+ },
+ "thai": {
+ "xWidthAvg": 1837
+ }
+ }
+ }
+ }
+ },
+ "blaka": {
+ "familyName": "Blaka",
+ "fullName": "Blaka Regular",
+ "postscriptName": "Blaka-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Blaka",
+ "fullName": "Blaka Regular",
+ "postscriptName": "Blaka-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "blakaHollow": {
+ "familyName": "Blaka Hollow",
+ "fullName": "Blaka Hollow Regular",
+ "postscriptName": "BlakaHollow-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Blaka Hollow",
+ "fullName": "Blaka Hollow Regular",
+ "postscriptName": "BlakaHollow-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "blakaInk": {
+ "familyName": "Blaka Ink",
+ "fullName": "Blaka Ink Regular",
+ "postscriptName": "BlakaInk-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Blaka Ink",
+ "fullName": "Blaka Ink Regular",
+ "postscriptName": "BlakaInk-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 932,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "blinkMacSystemFont": {
+ "familyName": "BlinkMacSystemFont",
+ "fullName": "System Font",
+ "postscriptName": ".SFNS-Regular",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "BlinkMacSystemFont",
+ "fullName": "System Font",
+ "postscriptName": ".SFNS-Regular",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "BlinkMacSystemFont",
+ "fullName": "System Font Regular Italic",
+ "postscriptName": ".SFNS-RegularItalic",
+ "category": "sans-serif",
+ "capHeight": 1443,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1040,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "blinker": {
+ "familyName": "Blinker",
+ "fullName": "Blinker",
+ "postscriptName": "Blinker-Regular",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Blinker",
+ "fullName": "Blinker Thin",
+ "postscriptName": "Blinker-Thin",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "200": {
+ "familyName": "Blinker",
+ "fullName": "Blinker ExtraLight",
+ "postscriptName": "Blinker-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "300": {
+ "familyName": "Blinker",
+ "fullName": "Blinker ExtraLight",
+ "postscriptName": "Blinker-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "600": {
+ "familyName": "Blinker",
+ "fullName": "Blinker SemiBold",
+ "postscriptName": "Blinker-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "700": {
+ "familyName": "Blinker",
+ "fullName": "Blinker Bold",
+ "postscriptName": "Blinker-Bold",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "800": {
+ "familyName": "Blinker",
+ "fullName": "Blinker ExtraBold",
+ "postscriptName": "Blinker-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "900": {
+ "familyName": "Blinker",
+ "fullName": "Blinker Black",
+ "postscriptName": "Blinker-Black",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Blinker",
+ "fullName": "Blinker",
+ "postscriptName": "Blinker-Regular",
+ "category": "sans-serif",
+ "capHeight": 627,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 382
+ }
+ }
+ }
+ }
+ },
+ "bodoniModa": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Regular",
+ "postscriptName": "BodoniModa-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Medium",
+ "postscriptName": "BodoniModa-Medium",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda SemiBold",
+ "postscriptName": "BodoniModa-SemiBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Bold",
+ "postscriptName": "BodoniModa-Bold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "800": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda ExtraBold",
+ "postscriptName": "BodoniModa-ExtraBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "900": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Black",
+ "postscriptName": "BodoniModa-Black",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 1031,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1031
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Regular",
+ "postscriptName": "BodoniModa-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Italic",
+ "postscriptName": "BodoniModa-Italic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Black Italic",
+ "postscriptName": "BodoniModa-BlackItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda ExtraBold Italic",
+ "postscriptName": "BodoniModa-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Bold Italic",
+ "postscriptName": "BodoniModa-BoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda SemiBold Italic",
+ "postscriptName": "BodoniModa-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 906,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 906
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Bodoni Moda",
+ "fullName": "Bodoni Moda Medium Italic",
+ "postscriptName": "BodoniModa-MediumItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ }
+ }
+ },
+ "bodoniModaSC": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Regular",
+ "postscriptName": "BodoniModaSC-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Medium",
+ "postscriptName": "BodoniModaSC-Medium",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC SemiBold",
+ "postscriptName": "BodoniModaSC-SemiBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Bold",
+ "postscriptName": "BodoniModaSC-Bold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "800": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC ExtraBold",
+ "postscriptName": "BodoniModaSC-ExtraBold",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "900": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Black",
+ "postscriptName": "BodoniModaSC-Black",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 1031,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1031
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Regular",
+ "postscriptName": "BodoniModaSC-Regular",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Italic",
+ "postscriptName": "BodoniModaSC-Italic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Black Italic",
+ "postscriptName": "BodoniModaSC-BlackItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC ExtraBold Italic",
+ "postscriptName": "BodoniModaSC-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Bold Italic",
+ "postscriptName": "BodoniModaSC-BoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC SemiBold Italic",
+ "postscriptName": "BodoniModaSC-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 906,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 906
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Bodoni Moda SC",
+ "fullName": "Bodoni Moda SC Medium Italic",
+ "postscriptName": "BodoniModaSC-MediumItalic",
+ "category": "serif",
+ "capHeight": 1500,
+ "ascent": 2250,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 920,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ }
+ }
+ },
+ "bokor": {
+ "familyName": "Bokor",
+ "fullName": "Bokor Regular",
+ "postscriptName": "Bokor-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bokor",
+ "fullName": "Bokor Regular",
+ "postscriptName": "Bokor-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "bonaNova": {
+ "familyName": "Bona Nova",
+ "fullName": "Bona Nova Regular",
+ "postscriptName": "BonaNova-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 830
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Bona Nova",
+ "fullName": "Bona Nova Bold",
+ "postscriptName": "BonaNova-Bold",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 826
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bona Nova",
+ "fullName": "Bona Nova Regular",
+ "postscriptName": "BonaNova-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 830
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bona Nova",
+ "fullName": "Bona Nova Italic",
+ "postscriptName": "BonaNova-Italic",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ }
+ }
+ },
+ "bonaNovaSC": {
+ "familyName": "Bona Nova SC",
+ "fullName": "Bona Nova SC Regular",
+ "postscriptName": "BonaNovaSC-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 830
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Bona Nova SC",
+ "fullName": "Bona Nova SC Bold",
+ "postscriptName": "BonaNovaSC-Bold",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 826
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bona Nova SC",
+ "fullName": "Bona Nova SC Regular",
+ "postscriptName": "BonaNovaSC-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 830
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Bona Nova SC",
+ "fullName": "Bona Nova SC Italic",
+ "postscriptName": "BonaNovaSC-Italic",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 932,
+ "descent": -268,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ }
+ }
+ },
+ "bonbon": {
+ "familyName": "Bonbon",
+ "fullName": "Bonbon Regular",
+ "postscriptName": "Bonbon-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 845,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bonbon",
+ "fullName": "Bonbon Regular",
+ "postscriptName": "Bonbon-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 845,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ }
+ }
+ }
+ },
+ "bonheurRoyale": {
+ "familyName": "Bonheur Royale",
+ "fullName": "Bonheur Royale Regular",
+ "postscriptName": "BonheurRoyale-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 780,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 285,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 285
+ },
+ "thai": {
+ "xWidthAvg": 455
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bonheur Royale",
+ "fullName": "Bonheur Royale Regular",
+ "postscriptName": "BonheurRoyale-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 780,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 285,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 285
+ },
+ "thai": {
+ "xWidthAvg": 455
+ }
+ }
+ }
+ }
+ },
+ "boogaloo": {
+ "familyName": "Boogaloo",
+ "fullName": "Boogaloo Regular",
+ "postscriptName": "Boogaloo-Regular",
+ "category": "display",
+ "capHeight": 469,
+ "ascent": 943,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 338,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Boogaloo",
+ "fullName": "Boogaloo Regular",
+ "postscriptName": "Boogaloo-Regular",
+ "category": "display",
+ "capHeight": 469,
+ "ascent": 943,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 338,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "borel": {
+ "familyName": "Borel",
+ "fullName": "Borel Regular",
+ "postscriptName": "Borel-Regular",
+ "category": "handwriting",
+ "capHeight": 722,
+ "ascent": 986,
+ "descent": -1014,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Borel",
+ "fullName": "Borel Regular",
+ "postscriptName": "Borel-Regular",
+ "category": "handwriting",
+ "capHeight": 722,
+ "ascent": 986,
+ "descent": -1014,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ }
+ }
+ },
+ "bowlbyOne": {
+ "familyName": "Bowlby One",
+ "fullName": "Bowlby One Regular",
+ "postscriptName": "BowlbyOne-Regular",
+ "category": "display",
+ "capHeight": 1520,
+ "ascent": 2276,
+ "descent": -932,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1196,
+ "xWidthAvg": 1268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1268
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bowlby One",
+ "fullName": "Bowlby One Regular",
+ "postscriptName": "BowlbyOne-Regular",
+ "category": "display",
+ "capHeight": 1520,
+ "ascent": 2276,
+ "descent": -932,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1196,
+ "xWidthAvg": 1268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1268
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ }
+ }
+ }
+ },
+ "bowlbyOneSC": {
+ "familyName": "Bowlby One SC",
+ "fullName": "Bowlby One SC Regular",
+ "postscriptName": "BowlbyOneSC-Regular",
+ "category": "display",
+ "capHeight": 1520,
+ "ascent": 2248,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1392,
+ "xWidthAvg": 1214,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1214
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bowlby One SC",
+ "fullName": "Bowlby One SC Regular",
+ "postscriptName": "BowlbyOneSC-Regular",
+ "category": "display",
+ "capHeight": 1520,
+ "ascent": 2248,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1392,
+ "xWidthAvg": 1214,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1214
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ }
+ }
+ }
+ },
+ "braahOne": {
+ "familyName": "Braah One",
+ "fullName": "Braah One Regular",
+ "postscriptName": "BraahOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 636,
+ "ascent": 1018,
+ "descent": -382,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Braah One",
+ "fullName": "Braah One Regular",
+ "postscriptName": "BraahOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 636,
+ "ascent": 1018,
+ "descent": -382,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ }
+ }
+ },
+ "brawler": {
+ "familyName": "Brawler",
+ "fullName": "Brawler Regular",
+ "postscriptName": "Brawler-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Brawler",
+ "fullName": "Brawler Bold",
+ "postscriptName": "Brawler-Bold",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 971,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Brawler",
+ "fullName": "Brawler Regular",
+ "postscriptName": "Brawler-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ }
+ }
+ }
+ },
+ "breeSerif": {
+ "familyName": "Bree Serif",
+ "fullName": "Bree Serif Regular",
+ "postscriptName": "BreeSerif-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 1077,
+ "descent": -281,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bree Serif",
+ "fullName": "Bree Serif Regular",
+ "postscriptName": "BreeSerif-Regular",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 1077,
+ "descent": -281,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "bricolageGrotesque": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque Regular",
+ "postscriptName": "BricolageGrotesque-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque ExtraLight",
+ "postscriptName": "BricolageGrotesque-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "300": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque Light",
+ "postscriptName": "BricolageGrotesque-Light",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "500": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque Medium",
+ "postscriptName": "BricolageGrotesque-Medium",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque SemiBold",
+ "postscriptName": "BricolageGrotesque-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "700": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque Bold",
+ "postscriptName": "BricolageGrotesque-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "800": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque ExtraBold",
+ "postscriptName": "BricolageGrotesque-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Bricolage Grotesque",
+ "fullName": "Bricolage Grotesque Regular",
+ "postscriptName": "BricolageGrotesque-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ }
+ }
+ },
+ "brunoAce": {
+ "familyName": "Bruno Ace",
+ "fullName": "Bruno Ace Regular",
+ "postscriptName": "BrunoAce-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 953,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bruno Ace",
+ "fullName": "Bruno Ace Regular",
+ "postscriptName": "BrunoAce-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 953,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "brunoAceSC": {
+ "familyName": "Bruno Ace SC",
+ "fullName": "Bruno Ace SC Regular",
+ "postscriptName": "BrunoAceSC-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 953,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 634,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 634
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bruno Ace SC",
+ "fullName": "Bruno Ace SC Regular",
+ "postscriptName": "BrunoAceSC-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 953,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 634,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 634
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "brushScript": {
+ "familyName": "Brush Script",
+ "fullName": "Brush Script MT Italic",
+ "postscriptName": "BrushScriptMT",
+ "category": "handwriting",
+ "capHeight": 1230,
+ "ascent": 1820,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 709,
+ "xWidthAvg": 683,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 683
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Brush Script",
+ "fullName": "Brush Script MT Italic",
+ "postscriptName": "BrushScriptMT",
+ "category": "handwriting",
+ "capHeight": 1230,
+ "ascent": 1820,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 709,
+ "xWidthAvg": 683,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 683
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "brygada1918": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Regular",
+ "postscriptName": "Brygada1918-Regular",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Medium",
+ "postscriptName": "Brygada1918-Medium",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 SemiBold",
+ "postscriptName": "Brygada1918-SemiBold",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Bold",
+ "postscriptName": "Brygada1918-Bold",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Regular",
+ "postscriptName": "Brygada1918-Regular",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Italic",
+ "postscriptName": "Brygada1918-Italic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Bold Italic",
+ "postscriptName": "Brygada1918-BoldItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 SemiBold Italic",
+ "postscriptName": "Brygada1918-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Brygada 1918",
+ "fullName": "Brygada 1918 Medium Italic",
+ "postscriptName": "Brygada1918-MediumItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "bubblegumSans": {
+ "familyName": "Bubblegum Sans",
+ "fullName": "Bubblegum Sans Regular",
+ "postscriptName": "BubblegumSans-Regular",
+ "category": "display",
+ "capHeight": 470,
+ "ascent": 852,
+ "descent": -311,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bubblegum Sans",
+ "fullName": "Bubblegum Sans Regular",
+ "postscriptName": "BubblegumSans-Regular",
+ "category": "display",
+ "capHeight": 470,
+ "ascent": 852,
+ "descent": -311,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "bubblerOne": {
+ "familyName": "Bubbler One",
+ "fullName": "Bubbler One Regular",
+ "postscriptName": "BubblerOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -263,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bubbler One",
+ "fullName": "Bubbler One Regular",
+ "postscriptName": "BubblerOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -263,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ }
+ }
+ },
+ "buda": {
+ "familyName": "Buda",
+ "fullName": "Buda Light",
+ "postscriptName": "Buda-Light",
+ "category": "display",
+ "ascent": 1836,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 793,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 793
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Buda",
+ "fullName": "Buda Light",
+ "postscriptName": "Buda-Light",
+ "category": "display",
+ "ascent": 1836,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 793,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 793
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ }
+ }
+ },
+ "buenard": {
+ "familyName": "Buenard",
+ "fullName": "Buenard Regular",
+ "postscriptName": "Buenard-Regular",
+ "category": "serif",
+ "capHeight": 178,
+ "ascent": 1031,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 95,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 218
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Buenard",
+ "fullName": "Buenard Bold",
+ "postscriptName": "Buenard-Bold",
+ "category": "serif",
+ "capHeight": 153,
+ "ascent": 1031,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 146,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 218
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Buenard",
+ "fullName": "Buenard Regular",
+ "postscriptName": "Buenard-Regular",
+ "category": "serif",
+ "capHeight": 178,
+ "ascent": 1031,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 95,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 218
+ }
+ }
+ }
+ }
+ },
+ "bungee": {
+ "familyName": "Bungee",
+ "fullName": "Bungee Regular",
+ "postscriptName": "Bungee-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee",
+ "fullName": "Bungee Regular",
+ "postscriptName": "Bungee-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bungeeHairline": {
+ "familyName": "Bungee Hairline",
+ "fullName": "Bungee Hairline Regular",
+ "postscriptName": "BungeeHairline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Hairline",
+ "fullName": "Bungee Hairline Regular",
+ "postscriptName": "BungeeHairline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bungeeInline": {
+ "familyName": "Bungee Inline",
+ "fullName": "Bungee Inline Regular",
+ "postscriptName": "BungeeInline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Inline",
+ "fullName": "Bungee Inline Regular",
+ "postscriptName": "BungeeInline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bungeeOutline": {
+ "familyName": "Bungee Outline",
+ "fullName": "Bungee Outline Regular",
+ "postscriptName": "BungeeOutline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Outline",
+ "fullName": "Bungee Outline Regular",
+ "postscriptName": "BungeeOutline-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bungeeShade": {
+ "familyName": "Bungee Shade",
+ "fullName": "Bungee Shade Regular",
+ "postscriptName": "BungeeShade-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 718,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 718
+ },
+ "thai": {
+ "xWidthAvg": 1100
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Shade",
+ "fullName": "Bungee Shade Regular",
+ "postscriptName": "BungeeShade-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 718,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 718
+ },
+ "thai": {
+ "xWidthAvg": 1100
+ }
+ }
+ }
+ }
+ },
+ "bungeeSpice": {
+ "familyName": "Bungee Spice",
+ "fullName": "Bungee Spice Regular",
+ "postscriptName": "BungeeSpice-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Spice",
+ "fullName": "Bungee Spice Regular",
+ "postscriptName": "BungeeSpice-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "bungeeTint": {
+ "familyName": "Bungee Tint",
+ "fullName": "Bungee Tint Regular",
+ "postscriptName": "BungeeTint-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Bungee Tint",
+ "fullName": "Bungee Tint Regular",
+ "postscriptName": "BungeeTint-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "butcherman": {
+ "familyName": "Butcherman",
+ "fullName": "Butcherman Regular",
+ "postscriptName": "Butcherman-Regular",
+ "category": "display",
+ "capHeight": 1509,
+ "ascent": 2600,
+ "descent": -1363,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1521,
+ "xWidthAvg": 1044,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1044
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Butcherman",
+ "fullName": "Butcherman Regular",
+ "postscriptName": "Butcherman-Regular",
+ "category": "display",
+ "capHeight": 1509,
+ "ascent": 2600,
+ "descent": -1363,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1521,
+ "xWidthAvg": 1044,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1044
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "butterflyKids": {
+ "familyName": "Butterfly Kids",
+ "fullName": "Butterfly Kids Regular",
+ "postscriptName": "ButterflyKids-Regular",
+ "category": "handwriting",
+ "capHeight": 802,
+ "ascent": 917,
+ "descent": -304,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 338,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 246
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Butterfly Kids",
+ "fullName": "Butterfly Kids Regular",
+ "postscriptName": "ButterflyKids-Regular",
+ "category": "handwriting",
+ "capHeight": 802,
+ "ascent": 917,
+ "descent": -304,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 338,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 246
+ }
+ }
+ }
+ }
+ },
+ "cabin": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Regular",
+ "postscriptName": "Cabin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Medium",
+ "postscriptName": "Cabin-Medium",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 852,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 852
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cabin",
+ "fullName": "Cabin SemiBold",
+ "postscriptName": "Cabin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 856,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 856
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Bold",
+ "postscriptName": "Cabin-Bold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Regular",
+ "postscriptName": "Cabin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Italic",
+ "postscriptName": "Cabin-Italic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 794,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 794
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Bold Italic",
+ "postscriptName": "Cabin-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Cabin",
+ "fullName": "Cabin SemiBold Italic",
+ "postscriptName": "Cabin-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Cabin",
+ "fullName": "Cabin Medium Italic",
+ "postscriptName": "Cabin-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1930,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 820,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 820
+ },
+ "thai": {
+ "xWidthAvg": 1206
+ }
+ }
+ }
+ }
+ },
+ "cabinCondensed": {
+ "familyName": "Cabin Condensed",
+ "fullName": "Cabin Condensed Regular",
+ "postscriptName": "CabinCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 965,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Cabin Condensed",
+ "fullName": "Cabin Condensed Medium",
+ "postscriptName": "CabinCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 965,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cabin Condensed",
+ "fullName": "Cabin Condensed SemiBold",
+ "postscriptName": "CabinCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 965,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cabin Condensed",
+ "fullName": "Cabin Condensed Bold",
+ "postscriptName": "CabinCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 965,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cabin Condensed",
+ "fullName": "Cabin Condensed Regular",
+ "postscriptName": "CabinCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 965,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ }
+ }
+ },
+ "cabinSketch": {
+ "familyName": "Cabin Sketch",
+ "fullName": "Cabin Sketch Regular",
+ "postscriptName": "CabinSketch-Regular",
+ "category": "display",
+ "capHeight": 652,
+ "ascent": 873,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 216
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cabin Sketch",
+ "fullName": "Cabin Sketch Bold",
+ "postscriptName": "CabinSketch-Bold",
+ "category": "display",
+ "capHeight": 652,
+ "ascent": 873,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 216
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cabin Sketch",
+ "fullName": "Cabin Sketch Regular",
+ "postscriptName": "CabinSketch-Regular",
+ "category": "display",
+ "capHeight": 652,
+ "ascent": 873,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 216
+ }
+ }
+ }
+ }
+ },
+ "cactusClassicalSerif": {
+ "familyName": "Cactus Classical Serif",
+ "fullName": "Cactus Classical Serif Regular",
+ "postscriptName": "CactusClassicalSerif-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 995,
+ "descent": -229,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cactus Classical Serif",
+ "fullName": "Cactus Classical Serif Regular",
+ "postscriptName": "CactusClassicalSerif-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 995,
+ "descent": -229,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "caesarDressing": {
+ "familyName": "Caesar Dressing",
+ "fullName": "Caesar Dressing",
+ "postscriptName": "CaesarDressing",
+ "category": "display",
+ "capHeight": 773,
+ "ascent": 1017,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 772,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Caesar Dressing",
+ "fullName": "Caesar Dressing",
+ "postscriptName": "CaesarDressing",
+ "category": "display",
+ "capHeight": 773,
+ "ascent": 1017,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 772,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ }
+ }
+ }
+ },
+ "cagliostro": {
+ "familyName": "Cagliostro",
+ "fullName": "Cagliostro Regular",
+ "postscriptName": "Cagliostro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 998,
+ "descent": -355,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 444,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cagliostro",
+ "fullName": "Cagliostro Regular",
+ "postscriptName": "Cagliostro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 998,
+ "descent": -355,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 444,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "cairo": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Regular",
+ "postscriptName": "Cairo-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Cairo",
+ "fullName": "Cairo ExtraLight",
+ "postscriptName": "Cairo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "300": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Light",
+ "postscriptName": "Cairo-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Medium",
+ "postscriptName": "Cairo-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cairo",
+ "fullName": "Cairo SemiBold",
+ "postscriptName": "Cairo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Bold",
+ "postscriptName": "Cairo-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "800": {
+ "familyName": "Cairo",
+ "fullName": "Cairo ExtraBold",
+ "postscriptName": "Cairo-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "900": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Black",
+ "postscriptName": "Cairo-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cairo",
+ "fullName": "Cairo Regular",
+ "postscriptName": "Cairo-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ }
+ }
+ },
+ "cairoPlay": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Regular",
+ "postscriptName": "CairoPlay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play ExtraLight",
+ "postscriptName": "CairoPlay-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "300": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Light",
+ "postscriptName": "CairoPlay-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Medium",
+ "postscriptName": "CairoPlay-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play SemiBold",
+ "postscriptName": "CairoPlay-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Bold",
+ "postscriptName": "CairoPlay-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "800": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play ExtraBold",
+ "postscriptName": "CairoPlay-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "900": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Black",
+ "postscriptName": "CairoPlay-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cairo Play",
+ "fullName": "Cairo Play Regular",
+ "postscriptName": "CairoPlay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1303,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ }
+ }
+ },
+ "caladea": {
+ "familyName": "Caladea",
+ "fullName": "Caladea Regular",
+ "postscriptName": "Caladea-Regular",
+ "category": "serif",
+ "capHeight": 667,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 617
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Caladea",
+ "fullName": "Caladea Bold",
+ "postscriptName": "Caladea-Bold",
+ "category": "serif",
+ "capHeight": 667,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 617
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Caladea",
+ "fullName": "Caladea Regular",
+ "postscriptName": "Caladea-Regular",
+ "category": "serif",
+ "capHeight": 667,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 617
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Caladea",
+ "fullName": "Caladea Italic",
+ "postscriptName": "Caladea-Italic",
+ "category": "serif",
+ "capHeight": 667,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Caladea",
+ "fullName": "Caladea Bold Italic",
+ "postscriptName": "Caladea-BoldItalic",
+ "category": "serif",
+ "capHeight": 667,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 685
+ }
+ }
+ }
+ }
+ },
+ "calistoga": {
+ "familyName": "Calistoga",
+ "fullName": "Calistoga Regular",
+ "postscriptName": "Calistoga-Regular",
+ "category": "display",
+ "capHeight": 698,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1182
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Calistoga",
+ "fullName": "Calistoga Regular",
+ "postscriptName": "Calistoga-Regular",
+ "category": "display",
+ "capHeight": 698,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1182
+ }
+ }
+ }
+ }
+ },
+ "calligraffitti": {
+ "familyName": "Calligraffitti",
+ "fullName": "Calligraffitti Regular",
+ "postscriptName": "Calligraffitti-Regular",
+ "category": "handwriting",
+ "capHeight": 841,
+ "ascent": 986,
+ "descent": -607,
+ "lineGap": 14,
+ "unitsPerEm": 1024,
+ "xHeight": 819,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 297
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Calligraffitti",
+ "fullName": "Calligraffitti Regular",
+ "postscriptName": "Calligraffitti-Regular",
+ "category": "handwriting",
+ "capHeight": 841,
+ "ascent": 986,
+ "descent": -607,
+ "lineGap": 14,
+ "unitsPerEm": 1024,
+ "xHeight": 819,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 297
+ }
+ }
+ }
+ }
+ },
+ "cambay": {
+ "familyName": "Cambay",
+ "fullName": "Cambay Regular",
+ "postscriptName": "Cambay-Regular",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -503,
+ "lineGap": 0,
+ "unitsPerEm": 800,
+ "xHeight": 384,
+ "xWidthAvg": 352,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 352
+ },
+ "thai": {
+ "xWidthAvg": 407
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cambay",
+ "fullName": "Cambay Bold",
+ "postscriptName": "Cambay-Bold",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -503,
+ "lineGap": 0,
+ "unitsPerEm": 800,
+ "xHeight": 384,
+ "xWidthAvg": 367,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 367
+ },
+ "thai": {
+ "xWidthAvg": 407
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cambay",
+ "fullName": "Cambay Regular",
+ "postscriptName": "Cambay-Regular",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -503,
+ "lineGap": 0,
+ "unitsPerEm": 800,
+ "xHeight": 384,
+ "xWidthAvg": 352,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 352
+ },
+ "thai": {
+ "xWidthAvg": 407
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cambay",
+ "fullName": "Cambay Italic",
+ "postscriptName": "Cambay-Italic",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -503,
+ "lineGap": 0,
+ "unitsPerEm": 800,
+ "xHeight": 384,
+ "xWidthAvg": 352,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 352
+ },
+ "thai": {
+ "xWidthAvg": 407
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cambay",
+ "fullName": "Cambay Bold Italic",
+ "postscriptName": "Cambay-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -503,
+ "lineGap": 0,
+ "unitsPerEm": 800,
+ "xHeight": 384,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ }
+ }
+ },
+ "cambo": {
+ "familyName": "Cambo",
+ "fullName": "Cambo",
+ "postscriptName": "Cambo-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 879,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 253
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cambo",
+ "fullName": "Cambo",
+ "postscriptName": "Cambo-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 879,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 253
+ }
+ }
+ }
+ }
+ },
+ "candal": {
+ "familyName": "Candal",
+ "fullName": "Candal",
+ "postscriptName": "Candal",
+ "category": "sans-serif",
+ "capHeight": 1414,
+ "ascent": 2226,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1079,
+ "xWidthAvg": 1190,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1190
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Candal",
+ "fullName": "Candal",
+ "postscriptName": "Candal",
+ "category": "sans-serif",
+ "capHeight": 1414,
+ "ascent": 2226,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1079,
+ "xWidthAvg": 1190,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1190
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "cantarell": {
+ "familyName": "Cantarell",
+ "fullName": "Cantarell Regular",
+ "postscriptName": "Cantarell-Regular",
+ "category": "sans-serif",
+ "ascent": 2240,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cantarell",
+ "fullName": "Cantarell Bold",
+ "postscriptName": "Cantarell-Bold",
+ "category": "sans-serif",
+ "ascent": 2240,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 1084,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1084
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cantarell",
+ "fullName": "Cantarell Regular",
+ "postscriptName": "Cantarell-Regular",
+ "category": "sans-serif",
+ "ascent": 2240,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cantarell",
+ "fullName": "Cantarell Italic",
+ "postscriptName": "Cantarell-Italic",
+ "category": "sans-serif",
+ "ascent": 2240,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 948,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 948
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cantarell",
+ "fullName": "Cantarell Bold Italic",
+ "postscriptName": "Cantarell-BoldItalic",
+ "category": "sans-serif",
+ "ascent": 2240,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 1073,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1073
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "cantataOne": {
+ "familyName": "Cantata One",
+ "fullName": "CantataOne-Regular",
+ "postscriptName": "CantataOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2040,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 1075,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1075
+ },
+ "thai": {
+ "xWidthAvg": 1530
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cantata One",
+ "fullName": "CantataOne-Regular",
+ "postscriptName": "CantataOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2040,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 1075,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1075
+ },
+ "thai": {
+ "xWidthAvg": 1530
+ }
+ }
+ }
+ }
+ },
+ "cantoraOne": {
+ "familyName": "Cantora One",
+ "fullName": "Cantora One Regular",
+ "postscriptName": "CantoraOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 647
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cantora One",
+ "fullName": "Cantora One Regular",
+ "postscriptName": "CantoraOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 647
+ }
+ }
+ }
+ }
+ },
+ "caprasimo": {
+ "familyName": "Caprasimo",
+ "fullName": "Caprasimo Regular",
+ "postscriptName": "Caprasimo-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 1880,
+ "descent": -469,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1053,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1053
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Caprasimo",
+ "fullName": "Caprasimo Regular",
+ "postscriptName": "Caprasimo-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 1880,
+ "descent": -469,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1053,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1053
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ }
+ }
+ },
+ "capriola": {
+ "familyName": "Capriola",
+ "fullName": "Capriola Regular",
+ "postscriptName": "Capriola-Regular",
+ "category": "sans-serif",
+ "capHeight": 1533,
+ "ascent": 1992,
+ "descent": -568,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1128,
+ "xWidthAvg": 1043,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1043
+ },
+ "thai": {
+ "xWidthAvg": 1703
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Capriola",
+ "fullName": "Capriola Regular",
+ "postscriptName": "Capriola-Regular",
+ "category": "sans-serif",
+ "capHeight": 1533,
+ "ascent": 1992,
+ "descent": -568,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1128,
+ "xWidthAvg": 1043,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1043
+ },
+ "thai": {
+ "xWidthAvg": 1703
+ }
+ }
+ }
+ }
+ },
+ "caramel": {
+ "familyName": "Caramel",
+ "fullName": "Caramel Regular",
+ "postscriptName": "Caramel-Regular",
+ "category": "handwriting",
+ "capHeight": 650,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 261,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 261
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Caramel",
+ "fullName": "Caramel Regular",
+ "postscriptName": "Caramel-Regular",
+ "category": "handwriting",
+ "capHeight": 650,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 261,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 261
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ }
+ }
+ }
+ },
+ "carattere": {
+ "familyName": "Carattere",
+ "fullName": "Carattere Regular",
+ "postscriptName": "Carattere-Regular",
+ "category": "handwriting",
+ "capHeight": 690,
+ "ascent": 800,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 302,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 302
+ },
+ "thai": {
+ "xWidthAvg": 511
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Carattere",
+ "fullName": "Carattere Regular",
+ "postscriptName": "Carattere-Regular",
+ "category": "handwriting",
+ "capHeight": 690,
+ "ascent": 800,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 302,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 302
+ },
+ "thai": {
+ "xWidthAvg": 511
+ }
+ }
+ }
+ }
+ },
+ "cardo": {
+ "familyName": "Cardo",
+ "fullName": "Cardo",
+ "postscriptName": "Cardo-Regular",
+ "category": "serif",
+ "capHeight": 1410,
+ "ascent": 2028,
+ "descent": -745,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 900,
+ "xWidthAvg": 875,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 875
+ },
+ "thai": {
+ "xWidthAvg": 1078
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cardo",
+ "fullName": "Cardo Bold",
+ "postscriptName": "Cardo-Bold",
+ "category": "serif",
+ "capHeight": 1410,
+ "ascent": 2028,
+ "descent": -745,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 920,
+ "xWidthAvg": 951,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 951
+ },
+ "thai": {
+ "xWidthAvg": 1078
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cardo",
+ "fullName": "Cardo",
+ "postscriptName": "Cardo-Regular",
+ "category": "serif",
+ "capHeight": 1410,
+ "ascent": 2028,
+ "descent": -745,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 900,
+ "xWidthAvg": 875,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 875
+ },
+ "thai": {
+ "xWidthAvg": 1078
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cardo",
+ "fullName": "Cardo Italic",
+ "postscriptName": "Cardo-Italic",
+ "category": "serif",
+ "capHeight": 1410,
+ "ascent": 2028,
+ "descent": -745,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 900,
+ "xWidthAvg": 808,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 808
+ },
+ "thai": {
+ "xWidthAvg": 1078
+ }
+ }
+ }
+ }
+ },
+ "carlito": {
+ "familyName": "Carlito",
+ "fullName": "Carlito Regular",
+ "postscriptName": "Carlito-Regular",
+ "category": "sans-serif",
+ "capHeight": 1314,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 978,
+ "xWidthAvg": 840,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 840
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Carlito",
+ "fullName": "Carlito Bold",
+ "postscriptName": "Carlito-Bold",
+ "category": "sans-serif",
+ "capHeight": 1328,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 993,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Carlito",
+ "fullName": "Carlito Regular",
+ "postscriptName": "Carlito-Regular",
+ "category": "sans-serif",
+ "capHeight": 1314,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 978,
+ "xWidthAvg": 840,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 840
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Carlito",
+ "fullName": "Carlito Italic",
+ "postscriptName": "Carlito-Italic",
+ "category": "sans-serif",
+ "capHeight": 1314,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 835,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 835
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Carlito",
+ "fullName": "Carlito Bold Italic",
+ "postscriptName": "Carlito-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1328,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 993,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ }
+ }
+ },
+ "carme": {
+ "familyName": "Carme",
+ "fullName": "Carme Regular",
+ "postscriptName": "Carme",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1946,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 946,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 946
+ },
+ "thai": {
+ "xWidthAvg": 819
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Carme",
+ "fullName": "Carme Regular",
+ "postscriptName": "Carme",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1946,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 946,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 946
+ },
+ "thai": {
+ "xWidthAvg": 819
+ }
+ }
+ }
+ }
+ },
+ "carroisGothic": {
+ "familyName": "Carrois Gothic",
+ "fullName": "Carrois Gothic Regular",
+ "postscriptName": "CarroisGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 922,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Carrois Gothic",
+ "fullName": "Carrois Gothic Regular",
+ "postscriptName": "CarroisGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 922,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ }
+ }
+ },
+ "carroisGothicSC": {
+ "familyName": "Carrois Gothic SC",
+ "fullName": "Carrois Gothic SC Regular",
+ "postscriptName": "CarroisGothicSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 922,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Carrois Gothic SC",
+ "fullName": "Carrois Gothic SC Regular",
+ "postscriptName": "CarroisGothicSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 922,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ }
+ }
+ },
+ "carterOne": {
+ "familyName": "Carter One",
+ "fullName": "Carter One",
+ "postscriptName": "CarterOne",
+ "category": "display",
+ "capHeight": 1481,
+ "ascent": 2264,
+ "descent": -890,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 473,
+ "xWidthAvg": 1005,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1005
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Carter One",
+ "fullName": "Carter One",
+ "postscriptName": "CarterOne",
+ "category": "display",
+ "capHeight": 1481,
+ "ascent": 2264,
+ "descent": -890,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 473,
+ "xWidthAvg": 1005,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1005
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ }
+ }
+ },
+ "castoro": {
+ "familyName": "Castoro",
+ "fullName": "Castoro Regular",
+ "postscriptName": "Castoro-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Castoro",
+ "fullName": "Castoro Regular",
+ "postscriptName": "Castoro-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Castoro",
+ "fullName": "Castoro Italic",
+ "postscriptName": "Castoro-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "castoroTitling": {
+ "familyName": "Castoro Titling",
+ "fullName": "Castoro Titling Regular",
+ "postscriptName": "CastoroTitling-Regular",
+ "category": "display",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Castoro Titling",
+ "fullName": "Castoro Titling Regular",
+ "postscriptName": "CastoroTitling-Regular",
+ "category": "display",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "catamaran": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Regular",
+ "postscriptName": "Catamaran-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Thin",
+ "postscriptName": "Catamaran-Thin",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "200": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran ExtraLight",
+ "postscriptName": "Catamaran-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "300": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Light",
+ "postscriptName": "Catamaran-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Medium",
+ "postscriptName": "Catamaran-Medium",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ },
+ "600": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran SemiBold",
+ "postscriptName": "Catamaran-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "700": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Bold",
+ "postscriptName": "Catamaran-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 698
+ }
+ }
+ },
+ "800": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran ExtraBold",
+ "postscriptName": "Catamaran-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "900": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Black",
+ "postscriptName": "Catamaran-Black",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Catamaran",
+ "fullName": "Catamaran Regular",
+ "postscriptName": "Catamaran-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ }
+ }
+ },
+ "caudex": {
+ "familyName": "Caudex",
+ "fullName": "Caudex",
+ "postscriptName": "Caudex",
+ "category": "serif",
+ "ascent": 2034,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Caudex",
+ "fullName": "Caudex Bold",
+ "postscriptName": "Caudex-Bold",
+ "category": "serif",
+ "ascent": 2034,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Caudex",
+ "fullName": "Caudex",
+ "postscriptName": "Caudex",
+ "category": "serif",
+ "ascent": 2034,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Caudex",
+ "fullName": "Caudex Italic",
+ "postscriptName": "Caudex-Italic",
+ "category": "serif",
+ "ascent": 2034,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 933,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 933
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Caudex",
+ "fullName": "Caudex Bold Italic",
+ "postscriptName": "Caudex-BoldItalic",
+ "category": "serif",
+ "ascent": 2034,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 933,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 933
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ }
+ }
+ },
+ "caveat": {
+ "familyName": "Caveat",
+ "fullName": "Caveat Regular",
+ "postscriptName": "Caveat-Regular",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Caveat",
+ "fullName": "Caveat Medium",
+ "postscriptName": "Caveat-Medium",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "600": {
+ "familyName": "Caveat",
+ "fullName": "Caveat SemiBold",
+ "postscriptName": "Caveat-SemiBold",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "700": {
+ "familyName": "Caveat",
+ "fullName": "Caveat Bold",
+ "postscriptName": "Caveat-Bold",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 349,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 349
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Caveat",
+ "fullName": "Caveat Regular",
+ "postscriptName": "Caveat-Regular",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ }
+ }
+ },
+ "caveatBrush": {
+ "familyName": "Caveat Brush",
+ "fullName": "Caveat Brush",
+ "postscriptName": "CaveatBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 835
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Caveat Brush",
+ "fullName": "Caveat Brush",
+ "postscriptName": "CaveatBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 660,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 835
+ }
+ }
+ }
+ }
+ },
+ "cedarvilleCursive": {
+ "familyName": "Cedarville Cursive",
+ "fullName": "Cedarville Cursive",
+ "postscriptName": "Cedarville-Cursive",
+ "category": "handwriting",
+ "capHeight": 775,
+ "ascent": 1279,
+ "descent": -663,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 400,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cedarville Cursive",
+ "fullName": "Cedarville Cursive",
+ "postscriptName": "Cedarville-Cursive",
+ "category": "handwriting",
+ "capHeight": 775,
+ "ascent": 1279,
+ "descent": -663,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 400,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ }
+ }
+ }
+ },
+ "cevicheOne": {
+ "familyName": "Ceviche One",
+ "fullName": "Ceviche One",
+ "postscriptName": "CevicheOne-Regular",
+ "category": "display",
+ "capHeight": 425,
+ "ascent": 806,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 294
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ceviche One",
+ "fullName": "Ceviche One",
+ "postscriptName": "CevicheOne-Regular",
+ "category": "display",
+ "capHeight": 425,
+ "ascent": 806,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 294
+ }
+ }
+ }
+ }
+ },
+ "chakraPetch": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Regular",
+ "postscriptName": "ChakraPetch-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Light",
+ "postscriptName": "ChakraPetch-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "500": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Medium",
+ "postscriptName": "ChakraPetch-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "600": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch SemiBold",
+ "postscriptName": "ChakraPetch-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 575
+ }
+ }
+ },
+ "700": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Bold",
+ "postscriptName": "ChakraPetch-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Regular",
+ "postscriptName": "ChakraPetch-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Italic",
+ "postscriptName": "ChakraPetch-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Bold Italic",
+ "postscriptName": "ChakraPetch-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch SemiBold Italic",
+ "postscriptName": "ChakraPetch-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 575
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Medium Italic",
+ "postscriptName": "ChakraPetch-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Chakra Petch",
+ "fullName": "Chakra Petch Light Italic",
+ "postscriptName": "ChakraPetch-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ }
+ }
+ },
+ "changa": {
+ "familyName": "Changa",
+ "fullName": "Changa Regular",
+ "postscriptName": "Changa-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Changa",
+ "fullName": "Changa ExtraLight",
+ "postscriptName": "Changa-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Changa",
+ "fullName": "Changa Light",
+ "postscriptName": "Changa-Light",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Changa",
+ "fullName": "Changa Medium",
+ "postscriptName": "Changa-Medium",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Changa",
+ "fullName": "Changa SemiBold",
+ "postscriptName": "Changa-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Changa",
+ "fullName": "Changa Bold",
+ "postscriptName": "Changa-Bold",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Changa",
+ "fullName": "Changa ExtraBold",
+ "postscriptName": "Changa-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Changa",
+ "fullName": "Changa Regular",
+ "postscriptName": "Changa-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 1227,
+ "descent": -613,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "changaOne": {
+ "familyName": "Changa One",
+ "fullName": "Changa One",
+ "postscriptName": "ChangaOne",
+ "category": "display",
+ "capHeight": 625,
+ "ascent": 882,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Changa One",
+ "fullName": "Changa One",
+ "postscriptName": "ChangaOne",
+ "category": "display",
+ "capHeight": 625,
+ "ascent": 882,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Changa One",
+ "fullName": "Changa One Italic",
+ "postscriptName": "ChangaOne-Italic",
+ "category": "display",
+ "capHeight": 625,
+ "ascent": 882,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ }
+ }
+ },
+ "chango": {
+ "familyName": "Chango",
+ "fullName": "Chango Regular",
+ "postscriptName": "Chango-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 995,
+ "descent": -216,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 686,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 686
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chango",
+ "fullName": "Chango Regular",
+ "postscriptName": "Chango-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 995,
+ "descent": -216,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 686,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 686
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ }
+ }
+ },
+ "charisSIL": {
+ "familyName": "Charis SIL",
+ "fullName": "Charis SIL",
+ "postscriptName": "CharisSIL",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 2450,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Charis SIL",
+ "fullName": "Charis SIL Bold",
+ "postscriptName": "CharisSIL-Bold",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 2450,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 993,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 993
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Charis SIL",
+ "fullName": "Charis SIL",
+ "postscriptName": "CharisSIL",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 2450,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Charis SIL",
+ "fullName": "Charis SIL Italic",
+ "postscriptName": "CharisSIL-Italic",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 2450,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 865,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 865
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Charis SIL",
+ "fullName": "Charis SIL Bold Italic",
+ "postscriptName": "CharisSIL-BoldItalic",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 2450,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 942,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 942
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "charm": {
+ "familyName": "Charm",
+ "fullName": "Charm Regular",
+ "postscriptName": "Charm-Regular",
+ "category": "handwriting",
+ "capHeight": 684,
+ "ascent": 1115,
+ "descent": -434,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Charm",
+ "fullName": "Charm Bold",
+ "postscriptName": "Charm-Bold",
+ "category": "handwriting",
+ "capHeight": 684,
+ "ascent": 1115,
+ "descent": -434,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 482
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Charm",
+ "fullName": "Charm Regular",
+ "postscriptName": "Charm-Regular",
+ "category": "handwriting",
+ "capHeight": 684,
+ "ascent": 1115,
+ "descent": -434,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ }
+ }
+ },
+ "charmonman": {
+ "familyName": "Charmonman",
+ "fullName": "Charmonman Regular",
+ "postscriptName": "Charmonman-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 433
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Charmonman",
+ "fullName": "Charmonman Bold",
+ "postscriptName": "Charmonman-Bold",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 466
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Charmonman",
+ "fullName": "Charmonman Regular",
+ "postscriptName": "Charmonman-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 433
+ }
+ }
+ }
+ }
+ },
+ "chathura": {
+ "familyName": "Chathura",
+ "fullName": "Chathura Regular",
+ "postscriptName": "Chathura-Regular",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 220,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 220
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Chathura",
+ "fullName": "Chathura Thin",
+ "postscriptName": "Chathura-Thin",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 219,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 219
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ },
+ "300": {
+ "familyName": "Chathura",
+ "fullName": "Chathura Light",
+ "postscriptName": "Chathura-Light",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 220,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 220
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ },
+ "700": {
+ "familyName": "Chathura",
+ "fullName": "Chathura Bold",
+ "postscriptName": "Chathura-Bold",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 220,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 220
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ },
+ "800": {
+ "familyName": "Chathura",
+ "fullName": "Chathura ExtraBold",
+ "postscriptName": "Chathura-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 220,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 220
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Chathura",
+ "fullName": "Chathura Regular",
+ "postscriptName": "Chathura-Regular",
+ "category": "sans-serif",
+ "capHeight": 404,
+ "ascent": 1020,
+ "descent": -602,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 294,
+ "xWidthAvg": 220,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 220
+ },
+ "thai": {
+ "xWidthAvg": 800
+ }
+ }
+ }
+ }
+ },
+ "chauPhilomeneOne": {
+ "familyName": "Chau Philomene One",
+ "fullName": "Chau Philomene One Regular",
+ "postscriptName": "ChauPhilomeneOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 752,
+ "ascent": 1033,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chau Philomene One",
+ "fullName": "Chau Philomene One Regular",
+ "postscriptName": "ChauPhilomeneOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 752,
+ "ascent": 1033,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Chau Philomene One",
+ "fullName": "Chau Philomene One Italic",
+ "postscriptName": "ChauPhilomeneOne-Italic",
+ "category": "sans-serif",
+ "capHeight": 752,
+ "ascent": 1033,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ }
+ }
+ },
+ "chelaOne": {
+ "familyName": "Chela One",
+ "fullName": "Chela One",
+ "postscriptName": "ChelaOne-Regular",
+ "category": "display",
+ "capHeight": 721,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 224
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chela One",
+ "fullName": "Chela One",
+ "postscriptName": "ChelaOne-Regular",
+ "category": "display",
+ "capHeight": 721,
+ "ascent": 942,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 224
+ }
+ }
+ }
+ }
+ },
+ "chelseaMarket": {
+ "familyName": "Chelsea Market",
+ "fullName": "Chelsea Market",
+ "postscriptName": "ChelseaMarket-Regular",
+ "category": "display",
+ "capHeight": 796,
+ "ascent": 1029,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 608,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chelsea Market",
+ "fullName": "Chelsea Market",
+ "postscriptName": "ChelseaMarket-Regular",
+ "category": "display",
+ "capHeight": 796,
+ "ascent": 1029,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 608,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "chenla": {
+ "familyName": "Chenla",
+ "fullName": "Chenla",
+ "postscriptName": "Chenla",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chenla",
+ "fullName": "Chenla",
+ "postscriptName": "Chenla",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "cherish": {
+ "familyName": "Cherish",
+ "fullName": "Cherish Regular",
+ "postscriptName": "Cherish-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 330,
+ "xWidthAvg": 256,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 256
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cherish",
+ "fullName": "Cherish Regular",
+ "postscriptName": "Cherish-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 330,
+ "xWidthAvg": 256,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 256
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ }
+ }
+ },
+ "cherryBombOne": {
+ "familyName": "Cherry Bomb One",
+ "fullName": "Cherry Bomb One Regular",
+ "postscriptName": "CherryBombOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cherry Bomb One",
+ "fullName": "Cherry Bomb One Regular",
+ "postscriptName": "CherryBombOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "cherryCreamSoda": {
+ "familyName": "Cherry Cream Soda",
+ "fullName": "Cherry Cream Soda Regular",
+ "postscriptName": "CherryCreamSoda-Regular",
+ "category": "display",
+ "capHeight": 741,
+ "ascent": 1006,
+ "descent": -247,
+ "lineGap": 29,
+ "unitsPerEm": 1024,
+ "xHeight": 502,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cherry Cream Soda",
+ "fullName": "Cherry Cream Soda Regular",
+ "postscriptName": "CherryCreamSoda-Regular",
+ "category": "display",
+ "capHeight": 741,
+ "ascent": 1006,
+ "descent": -247,
+ "lineGap": 29,
+ "unitsPerEm": 1024,
+ "xHeight": 502,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ }
+ }
+ }
+ },
+ "cherrySwash": {
+ "familyName": "Cherry Swash",
+ "fullName": "Cherry Swash",
+ "postscriptName": "CherrySwash-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 310
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cherry Swash",
+ "fullName": "Cherry Swash Bold",
+ "postscriptName": "CherrySwash-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 310
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cherry Swash",
+ "fullName": "Cherry Swash",
+ "postscriptName": "CherrySwash-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 310
+ }
+ }
+ }
+ }
+ },
+ "chewy": {
+ "familyName": "Chewy",
+ "fullName": "Chewy Regular",
+ "postscriptName": "Chewy-Regular",
+ "category": "display",
+ "capHeight": 768,
+ "ascent": 1003,
+ "descent": -310,
+ "lineGap": 25,
+ "unitsPerEm": 1024,
+ "xHeight": 577,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chewy",
+ "fullName": "Chewy Regular",
+ "postscriptName": "Chewy-Regular",
+ "category": "display",
+ "capHeight": 768,
+ "ascent": 1003,
+ "descent": -310,
+ "lineGap": 25,
+ "unitsPerEm": 1024,
+ "xHeight": 577,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "chicle": {
+ "familyName": "Chicle",
+ "fullName": "Chicle Regular",
+ "postscriptName": "Chicle-Regular",
+ "category": "display",
+ "capHeight": 513,
+ "ascent": 915,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 277,
+ "xWidthAvg": 336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 336
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chicle",
+ "fullName": "Chicle Regular",
+ "postscriptName": "Chicle-Regular",
+ "category": "display",
+ "capHeight": 513,
+ "ascent": 915,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 277,
+ "xWidthAvg": 336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 336
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "chilanka": {
+ "familyName": "Chilanka",
+ "fullName": "Chilanka Regular",
+ "postscriptName": "Chilanka-Regular",
+ "category": "handwriting",
+ "capHeight": 1448,
+ "ascent": 1500,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 999,
+ "xWidthAvg": 948,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 948
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chilanka",
+ "fullName": "Chilanka Regular",
+ "postscriptName": "Chilanka-Regular",
+ "category": "handwriting",
+ "capHeight": 1448,
+ "ascent": 1500,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 999,
+ "xWidthAvg": 948,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 948
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ }
+ }
+ },
+ "chivo": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Regular",
+ "postscriptName": "Chivo-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Thin",
+ "postscriptName": "Chivo-Thin",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Chivo",
+ "fullName": "Chivo ExtraLight",
+ "postscriptName": "Chivo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Light",
+ "postscriptName": "Chivo-Light",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Medium",
+ "postscriptName": "Chivo-Medium",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Chivo",
+ "fullName": "Chivo SemiBold",
+ "postscriptName": "Chivo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Bold",
+ "postscriptName": "Chivo-Bold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Chivo",
+ "fullName": "Chivo ExtraBold",
+ "postscriptName": "Chivo-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Black",
+ "postscriptName": "Chivo-Black",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Regular",
+ "postscriptName": "Chivo-Regular",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Italic",
+ "postscriptName": "Chivo-Italic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Black Italic",
+ "postscriptName": "Chivo-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo ExtraBold Italic",
+ "postscriptName": "Chivo-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Bold Italic",
+ "postscriptName": "Chivo-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo SemiBold Italic",
+ "postscriptName": "Chivo-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Medium Italic",
+ "postscriptName": "Chivo-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Light Italic",
+ "postscriptName": "Chivo-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo ExtraLight Italic",
+ "postscriptName": "Chivo-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Chivo",
+ "fullName": "Chivo Thin Italic",
+ "postscriptName": "Chivo-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "chivoMono": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Regular",
+ "postscriptName": "ChivoMono-Regular",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Thin",
+ "postscriptName": "ChivoMono-Thin",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono ExtraLight",
+ "postscriptName": "ChivoMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Light",
+ "postscriptName": "ChivoMono-Light",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Medium",
+ "postscriptName": "ChivoMono-Medium",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono SemiBold",
+ "postscriptName": "ChivoMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Bold",
+ "postscriptName": "ChivoMono-Bold",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono ExtraBold",
+ "postscriptName": "ChivoMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Black",
+ "postscriptName": "ChivoMono-Black",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Regular",
+ "postscriptName": "ChivoMono-Regular",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Italic",
+ "postscriptName": "ChivoMono-Italic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Black Italic",
+ "postscriptName": "ChivoMono-BlackItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono ExtraBold Italic",
+ "postscriptName": "ChivoMono-ExtraBoldItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Bold Italic",
+ "postscriptName": "ChivoMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono SemiBold Italic",
+ "postscriptName": "ChivoMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Medium Italic",
+ "postscriptName": "ChivoMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Light Italic",
+ "postscriptName": "ChivoMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono ExtraLight Italic",
+ "postscriptName": "ChivoMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Chivo Mono",
+ "fullName": "Chivo Mono Thin Italic",
+ "postscriptName": "ChivoMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 686,
+ "ascent": 940,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "chocolateClassicalSans": {
+ "familyName": "Chocolate Classical Sans",
+ "fullName": "Chocolate Classical Sans Regular",
+ "postscriptName": "ChocolateClassicalSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chocolate Classical Sans",
+ "fullName": "Chocolate Classical Sans Regular",
+ "postscriptName": "ChocolateClassicalSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "chokokutai": {
+ "familyName": "Chokokutai",
+ "fullName": "Chokokutai Regular",
+ "postscriptName": "Chokokutai-Regular",
+ "category": "display",
+ "capHeight": 774,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chokokutai",
+ "fullName": "Chokokutai Regular",
+ "postscriptName": "Chokokutai-Regular",
+ "category": "display",
+ "capHeight": 774,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "chonburi": {
+ "familyName": "Chonburi",
+ "fullName": "Chonburi",
+ "postscriptName": "Chonburi-Regular",
+ "category": "display",
+ "capHeight": 714,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Chonburi",
+ "fullName": "Chonburi",
+ "postscriptName": "Chonburi-Regular",
+ "category": "display",
+ "capHeight": 714,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ }
+ }
+ },
+ "cinzel": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel Regular",
+ "postscriptName": "Cinzel-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel Medium",
+ "postscriptName": "Cinzel-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel SemiBold",
+ "postscriptName": "Cinzel-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 563,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 563
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel Bold",
+ "postscriptName": "Cinzel-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 567,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 567
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel ExtraBold",
+ "postscriptName": "Cinzel-ExtraBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 571,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 571
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel Black",
+ "postscriptName": "Cinzel-Black",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 574,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 574
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cinzel",
+ "fullName": "Cinzel Regular",
+ "postscriptName": "Cinzel-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "cinzelDecorative": {
+ "familyName": "Cinzel Decorative",
+ "fullName": "Cinzel Decorative Regular",
+ "postscriptName": "CinzelDecorative-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 714,
+ "xWidthAvg": 589,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 589
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cinzel Decorative",
+ "fullName": "Cinzel Decorative Bold",
+ "postscriptName": "CinzelDecorative-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 714,
+ "xWidthAvg": 626,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 626
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ },
+ "900": {
+ "familyName": "Cinzel Decorative",
+ "fullName": "Cinzel Decorative Black",
+ "postscriptName": "CinzelDecorative-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 714,
+ "xWidthAvg": 651,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 651
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cinzel Decorative",
+ "fullName": "Cinzel Decorative Regular",
+ "postscriptName": "CinzelDecorative-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 976,
+ "descent": -372,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 714,
+ "xWidthAvg": 589,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 589
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "clickerScript": {
+ "familyName": "Clicker Script",
+ "fullName": "Clicker Script",
+ "postscriptName": "ClickerScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1358,
+ "ascent": 1898,
+ "descent": -807,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 621,
+ "xWidthAvg": 643,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 643
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Clicker Script",
+ "fullName": "Clicker Script",
+ "postscriptName": "ClickerScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1358,
+ "ascent": 1898,
+ "descent": -807,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 621,
+ "xWidthAvg": 643,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 643
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "climateCrisis": {
+ "familyName": "Climate Crisis",
+ "fullName": "Climate Crisis Regular",
+ "postscriptName": "ClimateCrisis-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1070,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 705,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 705
+ },
+ "thai": {
+ "xWidthAvg": 791
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Climate Crisis",
+ "fullName": "Climate Crisis Regular",
+ "postscriptName": "ClimateCrisis-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1070,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 705,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 705
+ },
+ "thai": {
+ "xWidthAvg": 791
+ }
+ }
+ }
+ }
+ },
+ "coda": {
+ "familyName": "Coda",
+ "fullName": "Coda Regular",
+ "postscriptName": "Coda-Regular",
+ "category": "display",
+ "ascent": 2124,
+ "descent": -784,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 907,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 907
+ },
+ "thai": {
+ "xWidthAvg": 467
+ }
+ },
+ "variants": {
+ "800": {
+ "familyName": "Coda",
+ "fullName": "Coda ExtraBold",
+ "postscriptName": "Coda-ExtraBold",
+ "category": "display",
+ "ascent": 2124,
+ "descent": -784,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 1160,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1160
+ },
+ "thai": {
+ "xWidthAvg": 226
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Coda",
+ "fullName": "Coda Regular",
+ "postscriptName": "Coda-Regular",
+ "category": "display",
+ "ascent": 2124,
+ "descent": -784,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 907,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 907
+ },
+ "thai": {
+ "xWidthAvg": 467
+ }
+ }
+ }
+ }
+ },
+ "codystar": {
+ "familyName": "Codystar",
+ "fullName": "Codystar",
+ "postscriptName": "Codystar",
+ "category": "display",
+ "capHeight": 761,
+ "ascent": 953,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 753,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 399
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Codystar",
+ "fullName": "Codystar Light",
+ "postscriptName": "Codystar-Light",
+ "category": "display",
+ "capHeight": 757,
+ "ascent": 953,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 748,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 399
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Codystar",
+ "fullName": "Codystar",
+ "postscriptName": "Codystar",
+ "category": "display",
+ "capHeight": 761,
+ "ascent": 953,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 753,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 399
+ }
+ }
+ }
+ }
+ },
+ "coiny": {
+ "familyName": "Coiny",
+ "fullName": "Coiny Regular",
+ "postscriptName": "Coiny-Regular",
+ "category": "display",
+ "ascent": 750,
+ "descent": 250,
+ "lineGap": 600,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1074
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Coiny",
+ "fullName": "Coiny Regular",
+ "postscriptName": "Coiny-Regular",
+ "category": "display",
+ "ascent": 750,
+ "descent": 250,
+ "lineGap": 600,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1074
+ }
+ }
+ }
+ }
+ },
+ "combo": {
+ "familyName": "Combo",
+ "fullName": "Combo",
+ "postscriptName": "Combo-Regular",
+ "category": "display",
+ "capHeight": 670,
+ "ascent": 907,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Combo",
+ "fullName": "Combo",
+ "postscriptName": "Combo-Regular",
+ "category": "display",
+ "capHeight": 670,
+ "ascent": 907,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "comfortaa": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa Regular",
+ "postscriptName": "Comfortaa-Regular",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa Light",
+ "postscriptName": "Comfortaa-Light",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "500": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa Medium",
+ "postscriptName": "Comfortaa-Medium",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "600": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa SemiBold",
+ "postscriptName": "Comfortaa-SemiBold",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "700": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa Bold",
+ "postscriptName": "Comfortaa-Bold",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Comfortaa",
+ "fullName": "Comfortaa Regular",
+ "postscriptName": "Comfortaa-Regular",
+ "category": "display",
+ "capHeight": 781,
+ "ascent": 881,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ }
+ }
+ },
+ "comforter": {
+ "familyName": "Comforter",
+ "fullName": "Comforter Regular",
+ "postscriptName": "Comforter-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 930,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Comforter",
+ "fullName": "Comforter Regular",
+ "postscriptName": "Comforter-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 930,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ }
+ }
+ }
+ },
+ "comforterBrush": {
+ "familyName": "Comforter Brush",
+ "fullName": "Comforter Brush Regular",
+ "postscriptName": "ComforterBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 930,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 295,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 295
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Comforter Brush",
+ "fullName": "Comforter Brush Regular",
+ "postscriptName": "ComforterBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 930,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 295,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 295
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ }
+ }
+ }
+ },
+ "comicNeue": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Regular",
+ "postscriptName": "ComicNeue-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 504
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Light",
+ "postscriptName": "ComicNeue-Light",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 497
+ }
+ }
+ },
+ "700": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Bold",
+ "postscriptName": "ComicNeue-Bold",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Regular",
+ "postscriptName": "ComicNeue-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 504
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Italic",
+ "postscriptName": "ComicNeue-Italic",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Bold Italic",
+ "postscriptName": "ComicNeue-BoldItalic",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Comic Neue",
+ "fullName": "Comic Neue Light Italic",
+ "postscriptName": "ComicNeue-LightItalic",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ }
+ }
+ },
+ "comingSoon": {
+ "familyName": "Coming Soon",
+ "fullName": "Coming Soon Regular",
+ "postscriptName": "ComingSoon-Regular",
+ "category": "handwriting",
+ "capHeight": 763,
+ "ascent": 1053,
+ "descent": -498,
+ "lineGap": 21,
+ "unitsPerEm": 1024,
+ "xHeight": 569,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Coming Soon",
+ "fullName": "Coming Soon Regular",
+ "postscriptName": "ComingSoon-Regular",
+ "category": "handwriting",
+ "capHeight": 763,
+ "ascent": 1053,
+ "descent": -498,
+ "lineGap": 21,
+ "unitsPerEm": 1024,
+ "xHeight": 569,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ }
+ }
+ }
+ },
+ "comme": {
+ "familyName": "Comme",
+ "fullName": "Comme Regular",
+ "postscriptName": "Comme-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 967,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 967
+ },
+ "thai": {
+ "xWidthAvg": 1312
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Comme",
+ "fullName": "Comme Thin",
+ "postscriptName": "Comme-Thin",
+ "category": "sans-serif",
+ "capHeight": 1455,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 1116
+ }
+ }
+ },
+ "200": {
+ "familyName": "Comme",
+ "fullName": "Comme ExtraLight",
+ "postscriptName": "Comme-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1455,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1181
+ }
+ }
+ },
+ "300": {
+ "familyName": "Comme",
+ "fullName": "Comme Light",
+ "postscriptName": "Comme-Light",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 955,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 955
+ },
+ "thai": {
+ "xWidthAvg": 1247
+ }
+ }
+ },
+ "500": {
+ "familyName": "Comme",
+ "fullName": "Comme Medium",
+ "postscriptName": "Comme-Medium",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 1374
+ }
+ }
+ },
+ "600": {
+ "familyName": "Comme",
+ "fullName": "Comme SemiBold",
+ "postscriptName": "Comme-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1004,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1004
+ },
+ "thai": {
+ "xWidthAvg": 1437
+ }
+ }
+ },
+ "700": {
+ "familyName": "Comme",
+ "fullName": "Comme Bold",
+ "postscriptName": "Comme-Bold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1023,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1023
+ },
+ "thai": {
+ "xWidthAvg": 1499
+ }
+ }
+ },
+ "800": {
+ "familyName": "Comme",
+ "fullName": "Comme ExtraBold",
+ "postscriptName": "Comme-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1041,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1041
+ },
+ "thai": {
+ "xWidthAvg": 1562
+ }
+ }
+ },
+ "900": {
+ "familyName": "Comme",
+ "fullName": "Comme Black",
+ "postscriptName": "Comme-Black",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1060,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1060
+ },
+ "thai": {
+ "xWidthAvg": 1624
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Comme",
+ "fullName": "Comme Regular",
+ "postscriptName": "Comme-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1957,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 967,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 967
+ },
+ "thai": {
+ "xWidthAvg": 1312
+ }
+ }
+ }
+ }
+ },
+ "commissioner": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Regular",
+ "postscriptName": "Commissioner-Regular",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 992,
+ "xWidthAvg": 901,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 901
+ },
+ "thai": {
+ "xWidthAvg": 1254
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Thin",
+ "postscriptName": "Commissioner-Thin",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 988,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1270
+ }
+ }
+ },
+ "200": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner ExtraLight",
+ "postscriptName": "Commissioner-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 989,
+ "xWidthAvg": 892,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 892
+ },
+ "thai": {
+ "xWidthAvg": 1265
+ }
+ }
+ },
+ "300": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Light",
+ "postscriptName": "Commissioner-Light",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 991,
+ "xWidthAvg": 896,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 896
+ },
+ "thai": {
+ "xWidthAvg": 1259
+ }
+ }
+ },
+ "500": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Medium",
+ "postscriptName": "Commissioner-Medium",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 994,
+ "xWidthAvg": 907,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 907
+ },
+ "thai": {
+ "xWidthAvg": 1246
+ }
+ }
+ },
+ "600": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner SemiBold",
+ "postscriptName": "Commissioner-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 996,
+ "xWidthAvg": 912,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 912
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ }
+ },
+ "700": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Bold",
+ "postscriptName": "Commissioner-Bold",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 998,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ }
+ },
+ "800": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner ExtraBold",
+ "postscriptName": "Commissioner-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1001,
+ "xWidthAvg": 925,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 925
+ },
+ "thai": {
+ "xWidthAvg": 1221
+ }
+ }
+ },
+ "900": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Black",
+ "postscriptName": "Commissioner-Black",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1004,
+ "xWidthAvg": 933,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 933
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Commissioner",
+ "fullName": "Commissioner Regular",
+ "postscriptName": "Commissioner-Regular",
+ "category": "sans-serif",
+ "capHeight": 1426,
+ "ascent": 2034,
+ "descent": -412,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 992,
+ "xWidthAvg": 901,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 901
+ },
+ "thai": {
+ "xWidthAvg": 1254
+ }
+ }
+ }
+ }
+ },
+ "concertOne": {
+ "familyName": "Concert One",
+ "fullName": "Concert One",
+ "postscriptName": "ConcertOne-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 2005,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1004,
+ "xWidthAvg": 927,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 927
+ },
+ "thai": {
+ "xWidthAvg": 1304
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Concert One",
+ "fullName": "Concert One",
+ "postscriptName": "ConcertOne-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 2005,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1004,
+ "xWidthAvg": 927,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 927
+ },
+ "thai": {
+ "xWidthAvg": 1304
+ }
+ }
+ }
+ }
+ },
+ "condiment": {
+ "familyName": "Condiment",
+ "fullName": "Condiment",
+ "postscriptName": "Condiment-Regular",
+ "category": "handwriting",
+ "capHeight": 327,
+ "ascent": 882,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 317,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Condiment",
+ "fullName": "Condiment",
+ "postscriptName": "Condiment-Regular",
+ "category": "handwriting",
+ "capHeight": 327,
+ "ascent": 882,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 317,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 180
+ }
+ }
+ }
+ }
+ },
+ "content": {
+ "familyName": "Content",
+ "fullName": "Content",
+ "postscriptName": "Content",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Content",
+ "fullName": "Content Bold",
+ "postscriptName": "Content-Bold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Content",
+ "fullName": "Content",
+ "postscriptName": "Content",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "contrailOne": {
+ "familyName": "Contrail One",
+ "fullName": "Contrail One",
+ "postscriptName": "ContrailOne-Regular",
+ "category": "display",
+ "capHeight": 421,
+ "ascent": 1939,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 255,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Contrail One",
+ "fullName": "Contrail One",
+ "postscriptName": "ContrailOne-Regular",
+ "category": "display",
+ "capHeight": 421,
+ "ascent": 1939,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 255,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "convergence": {
+ "familyName": "Convergence",
+ "fullName": "Convergence-Regular",
+ "postscriptName": "Convergence-Regular",
+ "category": "sans-serif",
+ "capHeight": 727,
+ "ascent": 943,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Convergence",
+ "fullName": "Convergence-Regular",
+ "postscriptName": "Convergence-Regular",
+ "category": "sans-serif",
+ "capHeight": 727,
+ "ascent": 943,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "cookie": {
+ "familyName": "Cookie",
+ "fullName": "Cookie-Regular",
+ "postscriptName": "Cookie-Regular",
+ "category": "handwriting",
+ "capHeight": 312,
+ "ascent": 789,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 115,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 355
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cookie",
+ "fullName": "Cookie-Regular",
+ "postscriptName": "Cookie-Regular",
+ "category": "handwriting",
+ "capHeight": 312,
+ "ascent": 789,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 115,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 355
+ }
+ }
+ }
+ }
+ },
+ "copse": {
+ "familyName": "Copse",
+ "fullName": "Copse",
+ "postscriptName": "Copse",
+ "category": "serif",
+ "capHeight": 1505,
+ "ascent": 1991,
+ "descent": -483,
+ "lineGap": 57,
+ "unitsPerEm": 2048,
+ "xHeight": 1001,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1333
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Copse",
+ "fullName": "Copse",
+ "postscriptName": "Copse",
+ "category": "serif",
+ "capHeight": 1505,
+ "ascent": 1991,
+ "descent": -483,
+ "lineGap": 57,
+ "unitsPerEm": 2048,
+ "xHeight": 1001,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1333
+ }
+ }
+ }
+ }
+ },
+ "corben": {
+ "familyName": "Corben",
+ "fullName": "Corben",
+ "postscriptName": "Corben-Regular",
+ "category": "display",
+ "capHeight": 1404,
+ "ascent": 2826,
+ "descent": -969,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Corben",
+ "fullName": "Corben Bold",
+ "postscriptName": "Corben-Bold",
+ "category": "display",
+ "capHeight": 1593,
+ "ascent": 2826,
+ "descent": -969,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1296,
+ "xWidthAvg": 1336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1336
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Corben",
+ "fullName": "Corben",
+ "postscriptName": "Corben-Regular",
+ "category": "display",
+ "capHeight": 1404,
+ "ascent": 2826,
+ "descent": -969,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "corinthia": {
+ "familyName": "Corinthia",
+ "fullName": "Corinthia Regular",
+ "postscriptName": "Corinthia-Regular",
+ "category": "handwriting",
+ "capHeight": 535,
+ "ascent": 760,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 240,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Corinthia",
+ "fullName": "Corinthia Bold",
+ "postscriptName": "Corinthia-Bold",
+ "category": "handwriting",
+ "capHeight": 545,
+ "ascent": 760,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 246,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Corinthia",
+ "fullName": "Corinthia Regular",
+ "postscriptName": "Corinthia-Regular",
+ "category": "handwriting",
+ "capHeight": 535,
+ "ascent": 760,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 240,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ }
+ }
+ },
+ "cormorant": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Regular",
+ "postscriptName": "Cormorant-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Light",
+ "postscriptName": "Cormorant-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Medium",
+ "postscriptName": "Cormorant-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant SemiBold",
+ "postscriptName": "Cormorant-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Bold",
+ "postscriptName": "Cormorant-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Regular",
+ "postscriptName": "Cormorant-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Italic",
+ "postscriptName": "Cormorant-Italic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Bold Italic",
+ "postscriptName": "Cormorant-BoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant SemiBold Italic",
+ "postscriptName": "Cormorant-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Medium Italic",
+ "postscriptName": "Cormorant-MediumItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 359
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Cormorant",
+ "fullName": "Cormorant Light Italic",
+ "postscriptName": "Cormorant-LightItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ }
+ }
+ },
+ "cormorantGaramond": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Regular",
+ "postscriptName": "CormorantGaramond-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Light",
+ "postscriptName": "CormorantGaramond-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Medium",
+ "postscriptName": "CormorantGaramond-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond SemiBold",
+ "postscriptName": "CormorantGaramond-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Bold",
+ "postscriptName": "CormorantGaramond-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Regular",
+ "postscriptName": "CormorantGaramond-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Italic",
+ "postscriptName": "CormorantGaramond-Italic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Bold Italic",
+ "postscriptName": "CormorantGaramond-BoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond SemiBold Italic",
+ "postscriptName": "CormorantGaramond-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Medium Italic",
+ "postscriptName": "CormorantGaramond-MediumItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 359
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Cormorant Garamond",
+ "fullName": "Cormorant Garamond Light Italic",
+ "postscriptName": "CormorantGaramond-LightItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ }
+ }
+ },
+ "cormorantInfant": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Regular",
+ "postscriptName": "CormorantInfant-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Light",
+ "postscriptName": "CormorantInfant-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Medium",
+ "postscriptName": "CormorantInfant-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant SemiBold",
+ "postscriptName": "CormorantInfant-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Bold",
+ "postscriptName": "CormorantInfant-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Regular",
+ "postscriptName": "CormorantInfant-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Italic",
+ "postscriptName": "CormorantInfant-Italic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 357,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 357
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Bold Italic",
+ "postscriptName": "CormorantInfant-BoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant SemiBold Italic",
+ "postscriptName": "CormorantInfant-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Medium Italic",
+ "postscriptName": "CormorantInfant-MediumItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Cormorant Infant",
+ "fullName": "Cormorant Infant Light Italic",
+ "postscriptName": "CormorantInfant-LightItalic",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ }
+ }
+ },
+ "cormorantSC": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC Regular",
+ "postscriptName": "CormorantSC-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC Light",
+ "postscriptName": "CormorantSC-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC Medium",
+ "postscriptName": "CormorantSC-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC SemiBold",
+ "postscriptName": "CormorantSC-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC Bold",
+ "postscriptName": "CormorantSC-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant SC",
+ "fullName": "Cormorant SC Regular",
+ "postscriptName": "CormorantSC-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ }
+ }
+ },
+ "cormorantUnicase": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase Regular",
+ "postscriptName": "CormorantUnicase-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase Light",
+ "postscriptName": "CormorantUnicase-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase Medium",
+ "postscriptName": "CormorantUnicase-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase SemiBold",
+ "postscriptName": "CormorantUnicase-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase Bold",
+ "postscriptName": "CormorantUnicase-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant Unicase",
+ "fullName": "Cormorant Unicase Regular",
+ "postscriptName": "CormorantUnicase-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ }
+ }
+ },
+ "cormorantUpright": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright Regular",
+ "postscriptName": "CormorantUpright-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright Light",
+ "postscriptName": "CormorantUpright-Light",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "500": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright Medium",
+ "postscriptName": "CormorantUpright-Medium",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright SemiBold",
+ "postscriptName": "CormorantUpright-SemiBold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright Bold",
+ "postscriptName": "CormorantUpright-Bold",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cormorant Upright",
+ "fullName": "Cormorant Upright Regular",
+ "postscriptName": "CormorantUpright-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 924,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ }
+ }
+ },
+ "courgette": {
+ "familyName": "Courgette",
+ "fullName": "Courgette Regular",
+ "postscriptName": "Courgette-Regular",
+ "category": "handwriting",
+ "capHeight": 301,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 112,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1837
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Courgette",
+ "fullName": "Courgette Regular",
+ "postscriptName": "Courgette-Regular",
+ "category": "handwriting",
+ "capHeight": 301,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 112,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1837
+ }
+ }
+ }
+ }
+ },
+ "courierNew": {
+ "familyName": "Courier New",
+ "fullName": "Courier New",
+ "postscriptName": "CourierNewPSMT",
+ "category": "monospace",
+ "capHeight": 1170,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 866,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Courier New",
+ "fullName": "Courier New Bold",
+ "postscriptName": "CourierNewPS-BoldMT",
+ "category": "monospace",
+ "capHeight": 1212,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 908,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Courier New",
+ "fullName": "Courier New",
+ "postscriptName": "CourierNewPSMT",
+ "category": "monospace",
+ "capHeight": 1170,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 866,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Courier New",
+ "fullName": "Courier New Italic",
+ "postscriptName": "CourierNewPS-ItalicMT",
+ "category": "monospace",
+ "capHeight": 1170,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 866,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Courier New",
+ "fullName": "Courier New Bold Italic",
+ "postscriptName": "CourierNewPS-BoldItalicMT",
+ "category": "monospace",
+ "capHeight": 1212,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 908,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ }
+ }
+ },
+ "courierPrime": {
+ "familyName": "Courier Prime",
+ "fullName": "Courier Prime Regular",
+ "postscriptName": "CourierPrime-Regular",
+ "category": "monospace",
+ "capHeight": 1187,
+ "ascent": 1600,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 924,
+ "xWidthAvg": 1228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1228
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Courier Prime",
+ "fullName": "Courier Prime Bold",
+ "postscriptName": "CourierPrime-Bold",
+ "category": "monospace",
+ "capHeight": 1187,
+ "ascent": 1600,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 924,
+ "xWidthAvg": 1228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1228
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Courier Prime",
+ "fullName": "Courier Prime Regular",
+ "postscriptName": "CourierPrime-Regular",
+ "category": "monospace",
+ "capHeight": 1187,
+ "ascent": 1600,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 924,
+ "xWidthAvg": 1228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1228
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Courier Prime",
+ "fullName": "Courier Prime Italic",
+ "postscriptName": "CourierPrime-Italic",
+ "category": "monospace",
+ "capHeight": 1187,
+ "ascent": 1600,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 924,
+ "xWidthAvg": 1228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1228
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Courier Prime",
+ "fullName": "Courier Prime Bold Italic",
+ "postscriptName": "CourierPrime-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1187,
+ "ascent": 1600,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 924,
+ "xWidthAvg": 1228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1228
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ }
+ }
+ },
+ "cousine": {
+ "familyName": "Cousine",
+ "fullName": "Cousine Regular",
+ "postscriptName": "Cousine-Regular",
+ "category": "monospace",
+ "capHeight": 1349,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Cousine",
+ "fullName": "Cousine Bold",
+ "postscriptName": "Cousine-Bold",
+ "category": "monospace",
+ "capHeight": 1349,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cousine",
+ "fullName": "Cousine Regular",
+ "postscriptName": "Cousine-Regular",
+ "category": "monospace",
+ "capHeight": 1349,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cousine",
+ "fullName": "Cousine Italic",
+ "postscriptName": "Cousine-Italic",
+ "category": "monospace",
+ "capHeight": 1349,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cousine",
+ "fullName": "Cousine Bold Italic",
+ "postscriptName": "Cousine-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1349,
+ "ascent": 1705,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ }
+ }
+ },
+ "coustard": {
+ "familyName": "Coustard",
+ "fullName": "Coustard Regular",
+ "postscriptName": "Coustard-Regular",
+ "category": "serif",
+ "capHeight": 346,
+ "ascent": 2095,
+ "descent": -781,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1095,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "900": {
+ "familyName": "Coustard",
+ "fullName": "Coustard Black",
+ "postscriptName": "Coustard-Black",
+ "category": "serif",
+ "capHeight": 173,
+ "ascent": 2095,
+ "descent": -781,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 235,
+ "xWidthAvg": 1164,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1164
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Coustard",
+ "fullName": "Coustard Regular",
+ "postscriptName": "Coustard-Regular",
+ "category": "serif",
+ "capHeight": 346,
+ "ascent": 2095,
+ "descent": -781,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1095,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "coveredByYourGrace": {
+ "familyName": "Covered By Your Grace",
+ "fullName": "Covered By Your Grace",
+ "postscriptName": "CoveredByYourGrace",
+ "category": "handwriting",
+ "capHeight": 795,
+ "ascent": 995,
+ "descent": -384,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 500,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Covered By Your Grace",
+ "fullName": "Covered By Your Grace",
+ "postscriptName": "CoveredByYourGrace",
+ "category": "handwriting",
+ "capHeight": 795,
+ "ascent": 995,
+ "descent": -384,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 500,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ }
+ }
+ }
+ },
+ "craftyGirls": {
+ "familyName": "Crafty Girls",
+ "fullName": "Crafty Girls Regular",
+ "postscriptName": "CraftyGirls-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1001,
+ "descent": -461,
+ "lineGap": 21,
+ "unitsPerEm": 1024,
+ "xHeight": 548,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 389
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Crafty Girls",
+ "fullName": "Crafty Girls Regular",
+ "postscriptName": "CraftyGirls-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1001,
+ "descent": -461,
+ "lineGap": 21,
+ "unitsPerEm": 1024,
+ "xHeight": 548,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 389
+ }
+ }
+ }
+ }
+ },
+ "creepster": {
+ "familyName": "Creepster",
+ "fullName": "Creepster",
+ "postscriptName": "Creepster-Regular",
+ "category": "display",
+ "capHeight": 751,
+ "ascent": 974,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 751,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 241
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Creepster",
+ "fullName": "Creepster",
+ "postscriptName": "Creepster-Regular",
+ "category": "display",
+ "capHeight": 751,
+ "ascent": 974,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 751,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 241
+ }
+ }
+ }
+ }
+ },
+ "creteRound": {
+ "familyName": "Crete Round",
+ "fullName": "Crete Round",
+ "postscriptName": "CreteRound-Regular",
+ "category": "serif",
+ "capHeight": 679,
+ "ascent": 990,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Crete Round",
+ "fullName": "Crete Round",
+ "postscriptName": "CreteRound-Regular",
+ "category": "serif",
+ "capHeight": 679,
+ "ascent": 990,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Crete Round",
+ "fullName": "Crete Round Italic",
+ "postscriptName": "CreteRound-Italic",
+ "category": "serif",
+ "capHeight": 679,
+ "ascent": 990,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "crimsonPro": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Regular",
+ "postscriptName": "CrimsonPro-Regular",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro ExtraLight",
+ "postscriptName": "CrimsonPro-ExtraLight",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "300": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Light",
+ "postscriptName": "CrimsonPro-Light",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "500": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Medium",
+ "postscriptName": "CrimsonPro-Medium",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "600": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro SemiBold",
+ "postscriptName": "CrimsonPro-SemiBold",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Bold",
+ "postscriptName": "CrimsonPro-Bold",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "800": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro ExtraBold",
+ "postscriptName": "CrimsonPro-ExtraBold",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "900": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Black",
+ "postscriptName": "CrimsonPro-Black",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Regular",
+ "postscriptName": "CrimsonPro-Regular",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Italic",
+ "postscriptName": "CrimsonPro-Italic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Black Italic",
+ "postscriptName": "CrimsonPro-BlackItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro ExtraBold Italic",
+ "postscriptName": "CrimsonPro-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Bold Italic",
+ "postscriptName": "CrimsonPro-BoldItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro SemiBold Italic",
+ "postscriptName": "CrimsonPro-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Medium Italic",
+ "postscriptName": "CrimsonPro-MediumItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro Light Italic",
+ "postscriptName": "CrimsonPro-LightItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Crimson Pro",
+ "fullName": "Crimson Pro ExtraLight Italic",
+ "postscriptName": "CrimsonPro-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 587,
+ "ascent": 918,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "crimsonText": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text Regular",
+ "postscriptName": "CrimsonText-Regular",
+ "category": "serif",
+ "capHeight": 656,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ },
+ "variants": {
+ "600": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text SemiBold",
+ "postscriptName": "CrimsonText-SemiBold",
+ "category": "serif",
+ "capHeight": 656,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "700": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text Bold",
+ "postscriptName": "CrimsonText-Bold",
+ "category": "serif",
+ "capHeight": 656,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text Regular",
+ "postscriptName": "CrimsonText-Regular",
+ "category": "serif",
+ "capHeight": 656,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text Italic",
+ "postscriptName": "CrimsonText-Italic",
+ "category": "serif",
+ "capHeight": 658,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text Bold Italic",
+ "postscriptName": "CrimsonText-BoldItalic",
+ "category": "serif",
+ "capHeight": 658,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Crimson Text",
+ "fullName": "Crimson Text SemiBold Italic",
+ "postscriptName": "CrimsonText-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 658,
+ "ascent": 972,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 430,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ }
+ }
+ },
+ "croissantOne": {
+ "familyName": "Croissant One",
+ "fullName": "Croissant One",
+ "postscriptName": "CroissantOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1071,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Croissant One",
+ "fullName": "Croissant One",
+ "postscriptName": "CroissantOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1071,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "crushed": {
+ "familyName": "Crushed",
+ "fullName": "Crushed Regular",
+ "postscriptName": "Crushed-Regular",
+ "category": "display",
+ "capHeight": 1374,
+ "ascent": 1820,
+ "descent": -483,
+ "lineGap": 51,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Crushed",
+ "fullName": "Crushed Regular",
+ "postscriptName": "Crushed-Regular",
+ "category": "display",
+ "capHeight": 1374,
+ "ascent": 1820,
+ "descent": -483,
+ "lineGap": 51,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "cuprum": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Regular",
+ "postscriptName": "Cuprum-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Medium",
+ "postscriptName": "Cuprum-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum SemiBold",
+ "postscriptName": "Cuprum-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Bold",
+ "postscriptName": "Cuprum-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Regular",
+ "postscriptName": "Cuprum-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Italic",
+ "postscriptName": "Cuprum-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Bold Italic",
+ "postscriptName": "Cuprum-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum SemiBold Italic",
+ "postscriptName": "Cuprum-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Cuprum",
+ "fullName": "Cuprum Medium Italic",
+ "postscriptName": "Cuprum-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "cuteFont": {
+ "familyName": "Cute Font",
+ "fullName": "Cute Font Regular",
+ "postscriptName": "CuteFont-Regular",
+ "category": "display",
+ "capHeight": 429,
+ "ascent": 710,
+ "descent": -290,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 312,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cute Font",
+ "fullName": "Cute Font Regular",
+ "postscriptName": "CuteFont-Regular",
+ "category": "display",
+ "capHeight": 429,
+ "ascent": 710,
+ "descent": -290,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 312,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ }
+ }
+ },
+ "cutive": {
+ "familyName": "Cutive",
+ "fullName": "Cutive Regular",
+ "postscriptName": "Cutive-Regular",
+ "category": "serif",
+ "capHeight": 1714,
+ "ascent": 1580,
+ "descent": -666,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1160,
+ "xWidthAvg": 1173,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1173
+ },
+ "thai": {
+ "xWidthAvg": 1674
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cutive",
+ "fullName": "Cutive Regular",
+ "postscriptName": "Cutive-Regular",
+ "category": "serif",
+ "capHeight": 1714,
+ "ascent": 1580,
+ "descent": -666,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1160,
+ "xWidthAvg": 1173,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1173
+ },
+ "thai": {
+ "xWidthAvg": 1674
+ }
+ }
+ }
+ }
+ },
+ "cutiveMono": {
+ "familyName": "Cutive Mono",
+ "fullName": "Cutive Mono Regular",
+ "postscriptName": "CutiveMono-Regular",
+ "category": "monospace",
+ "capHeight": 1171,
+ "ascent": 1697,
+ "descent": -558,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 774,
+ "xWidthAvg": 1240,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1240
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Cutive Mono",
+ "fullName": "Cutive Mono Regular",
+ "postscriptName": "CutiveMono-Regular",
+ "category": "monospace",
+ "capHeight": 1171,
+ "ascent": 1697,
+ "descent": -558,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 774,
+ "xWidthAvg": 1240,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1240
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ }
+ }
+ }
+ },
+ "dMMono": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Regular",
+ "postscriptName": "DMMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Light",
+ "postscriptName": "DMMono-Light",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Medium",
+ "postscriptName": "DMMono-Medium",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Regular",
+ "postscriptName": "DMMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Italic",
+ "postscriptName": "DMMono-Italic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Medium Italic",
+ "postscriptName": "DMMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "DM Mono",
+ "fullName": "DM Mono Light Italic",
+ "postscriptName": "DMMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "dMSans": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Regular",
+ "postscriptName": "DMSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 551
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Thin",
+ "postscriptName": "DMSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ },
+ "200": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans ExtraLight",
+ "postscriptName": "DMSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "300": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Light",
+ "postscriptName": "DMSans-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "500": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Medium",
+ "postscriptName": "DMSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ },
+ "600": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans SemiBold",
+ "postscriptName": "DMSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "700": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Bold",
+ "postscriptName": "DMSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "800": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans ExtraBold",
+ "postscriptName": "DMSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "900": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Black",
+ "postscriptName": "DMSans-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ },
+ "regular": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Regular",
+ "postscriptName": "DMSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 551
+ }
+ }
+ },
+ "italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Italic",
+ "postscriptName": "DMSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 551
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Black Italic",
+ "postscriptName": "DMSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans ExtraBold Italic",
+ "postscriptName": "DMSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Bold Italic",
+ "postscriptName": "DMSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans SemiBold Italic",
+ "postscriptName": "DMSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Medium Italic",
+ "postscriptName": "DMSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Light Italic",
+ "postscriptName": "DMSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans ExtraLight Italic",
+ "postscriptName": "DMSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "DM Sans",
+ "fullName": "DM Sans Thin Italic",
+ "postscriptName": "DMSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ }
+ }
+ },
+ "dMSerifDisplay": {
+ "familyName": "DM Serif Display",
+ "fullName": "DM Serif Display Regular",
+ "postscriptName": "DMSerifDisplay-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "DM Serif Display",
+ "fullName": "DM Serif Display Regular",
+ "postscriptName": "DMSerifDisplay-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "italic": {
+ "familyName": "DM Serif Display",
+ "fullName": "DM Serif Display Italic",
+ "postscriptName": "DMSerifDisplay-Italic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "dMSerifText": {
+ "familyName": "DM Serif Text",
+ "fullName": "DM Serif Text Regular",
+ "postscriptName": "DMSerifText-Regular",
+ "category": "serif",
+ "capHeight": 661,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "DM Serif Text",
+ "fullName": "DM Serif Text Regular",
+ "postscriptName": "DMSerifText-Regular",
+ "category": "serif",
+ "capHeight": 661,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "italic": {
+ "familyName": "DM Serif Text",
+ "fullName": "DM Serif Text Italic",
+ "postscriptName": "DMSerifText-Italic",
+ "category": "serif",
+ "capHeight": 661,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "daiBannaSIL": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL",
+ "postscriptName": "DaiBannaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Light",
+ "postscriptName": "DaiBannaSIL-Light",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 790,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 790
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "500": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Medium",
+ "postscriptName": "DaiBannaSIL-Medium",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 824,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 824
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL SemiBold",
+ "postscriptName": "DaiBannaSIL-SemiBold",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 839,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 839
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Bold",
+ "postscriptName": "DaiBannaSIL-Bold",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL",
+ "postscriptName": "DaiBannaSIL-Regular",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Italic",
+ "postscriptName": "DaiBannaSIL-Italic",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Bold Italic",
+ "postscriptName": "DaiBannaSIL-BoldItalic",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 800,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 800
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL SemiBold Italic",
+ "postscriptName": "DaiBannaSIL-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 774,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 774
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Medium Italic",
+ "postscriptName": "DaiBannaSIL-MediumItalic",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Dai Banna SIL",
+ "fullName": "Dai Banna SIL Light Italic",
+ "postscriptName": "DaiBannaSIL-LightItalic",
+ "category": "serif",
+ "capHeight": 1355,
+ "ascent": 1685,
+ "descent": -638,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 906,
+ "xWidthAvg": 720,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 720
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "damion": {
+ "familyName": "Damion",
+ "fullName": "Damion Regular",
+ "postscriptName": "Damion-Regular",
+ "category": "handwriting",
+ "capHeight": 1440,
+ "ascent": 2068,
+ "descent": -746,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 720,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 1452
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Damion",
+ "fullName": "Damion Regular",
+ "postscriptName": "Damion-Regular",
+ "category": "handwriting",
+ "capHeight": 1440,
+ "ascent": 2068,
+ "descent": -746,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 720,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 1452
+ }
+ }
+ }
+ }
+ },
+ "dancingScript": {
+ "familyName": "Dancing Script",
+ "fullName": "Dancing Script Regular",
+ "postscriptName": "DancingScript-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 332,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Dancing Script",
+ "fullName": "Dancing Script Medium",
+ "postscriptName": "DancingScript-Medium",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 332,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ },
+ "600": {
+ "familyName": "Dancing Script",
+ "fullName": "Dancing Script SemiBold",
+ "postscriptName": "DancingScript-SemiBold",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 332,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ },
+ "700": {
+ "familyName": "Dancing Script",
+ "fullName": "Dancing Script Bold",
+ "postscriptName": "DancingScript-Bold",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 332,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Dancing Script",
+ "fullName": "Dancing Script Regular",
+ "postscriptName": "DancingScript-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 332,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ }
+ }
+ },
+ "danfo": {
+ "familyName": "Danfo",
+ "fullName": "Danfo Regular",
+ "postscriptName": "Danfo-Regular",
+ "category": "serif",
+ "capHeight": 716,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Danfo",
+ "fullName": "Danfo Regular",
+ "postscriptName": "Danfo-Regular",
+ "category": "serif",
+ "capHeight": 716,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "dangrek": {
+ "familyName": "Dangrek",
+ "fullName": "Dangrek Regular",
+ "postscriptName": "Dangrek-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 882,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 882
+ },
+ "thai": {
+ "xWidthAvg": 1304
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dangrek",
+ "fullName": "Dangrek Regular",
+ "postscriptName": "Dangrek-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 882,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 882
+ },
+ "thai": {
+ "xWidthAvg": 1304
+ }
+ }
+ }
+ }
+ },
+ "darkerGrotesque": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Regular",
+ "postscriptName": "DarkerGrotesque-Regular",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 406,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Light",
+ "postscriptName": "DarkerGrotesque-Light",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 404,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ }
+ },
+ "500": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Medium",
+ "postscriptName": "DarkerGrotesque-Medium",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 407,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 552
+ }
+ }
+ },
+ "600": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque SemiBold",
+ "postscriptName": "DarkerGrotesque-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 409,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "700": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Bold",
+ "postscriptName": "DarkerGrotesque-Bold",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 411,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ }
+ },
+ "800": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque ExtraBold",
+ "postscriptName": "DarkerGrotesque-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 412,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 585
+ }
+ }
+ },
+ "900": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Black",
+ "postscriptName": "DarkerGrotesque-Black",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Darker Grotesque",
+ "fullName": "Darker Grotesque Regular",
+ "postscriptName": "DarkerGrotesque-Regular",
+ "category": "sans-serif",
+ "capHeight": 563,
+ "ascent": 1060,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 406,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ }
+ }
+ },
+ "darumadropOne": {
+ "familyName": "Darumadrop One",
+ "fullName": "Darumadrop One Regular",
+ "postscriptName": "DarumadropOne-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 435,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 797
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Darumadrop One",
+ "fullName": "Darumadrop One Regular",
+ "postscriptName": "DarumadropOne-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 435,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 797
+ }
+ }
+ }
+ }
+ },
+ "davidLibre": {
+ "familyName": "David Libre",
+ "fullName": "David Libre Regular",
+ "postscriptName": "DavidLibre-Regular",
+ "category": "serif",
+ "capHeight": 1360,
+ "ascent": 1599,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1318
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "David Libre",
+ "fullName": "David Libre Medium",
+ "postscriptName": "DavidLibre-Medium",
+ "category": "serif",
+ "capHeight": 1362,
+ "ascent": 1599,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 1314
+ }
+ }
+ },
+ "700": {
+ "familyName": "David Libre",
+ "fullName": "David Libre Bold",
+ "postscriptName": "DavidLibre-Bold",
+ "category": "serif",
+ "capHeight": 1362,
+ "ascent": 1599,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 896,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 896
+ },
+ "thai": {
+ "xWidthAvg": 1330
+ }
+ }
+ },
+ "regular": {
+ "familyName": "David Libre",
+ "fullName": "David Libre Regular",
+ "postscriptName": "DavidLibre-Regular",
+ "category": "serif",
+ "capHeight": 1360,
+ "ascent": 1599,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 1318
+ }
+ }
+ }
+ }
+ },
+ "dawningOfANewDay": {
+ "familyName": "Dawning of a New Day",
+ "fullName": "Dawning of a New Day",
+ "postscriptName": "DawningofaNewDay",
+ "category": "handwriting",
+ "capHeight": 818,
+ "ascent": 1151,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 218,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dawning of a New Day",
+ "fullName": "Dawning of a New Day",
+ "postscriptName": "DawningofaNewDay",
+ "category": "handwriting",
+ "capHeight": 818,
+ "ascent": 1151,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 218,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ }
+ }
+ },
+ "daysOne": {
+ "familyName": "Days One",
+ "fullName": "Days One",
+ "postscriptName": "DaysOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2040,
+ "descent": -567,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1128,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1128
+ },
+ "thai": {
+ "xWidthAvg": 717
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Days One",
+ "fullName": "Days One",
+ "postscriptName": "DaysOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2040,
+ "descent": -567,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1128,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1128
+ },
+ "thai": {
+ "xWidthAvg": 717
+ }
+ }
+ }
+ }
+ },
+ "dekko": {
+ "familyName": "Dekko",
+ "fullName": "Dekko",
+ "postscriptName": "Dekko",
+ "category": "handwriting",
+ "capHeight": 1340,
+ "ascent": 2231,
+ "descent": -1112,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 995,
+ "xWidthAvg": 823,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 823
+ },
+ "thai": {
+ "xWidthAvg": 1518
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dekko",
+ "fullName": "Dekko",
+ "postscriptName": "Dekko",
+ "category": "handwriting",
+ "capHeight": 1340,
+ "ascent": 2231,
+ "descent": -1112,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 995,
+ "xWidthAvg": 823,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 823
+ },
+ "thai": {
+ "xWidthAvg": 1518
+ }
+ }
+ }
+ }
+ },
+ "delaGothicOne": {
+ "familyName": "Dela Gothic One",
+ "fullName": "Dela Gothic One Regular",
+ "postscriptName": "DelaGothicOne-Regular",
+ "category": "display",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 586
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dela Gothic One",
+ "fullName": "Dela Gothic One Regular",
+ "postscriptName": "DelaGothicOne-Regular",
+ "category": "display",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 586
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "deliciousHandrawn": {
+ "familyName": "Delicious Handrawn",
+ "fullName": "Delicious Handrawn Regular",
+ "postscriptName": "DeliciousHandrawn-Regular",
+ "category": "handwriting",
+ "capHeight": 850,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 333
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Delicious Handrawn",
+ "fullName": "Delicious Handrawn Regular",
+ "postscriptName": "DeliciousHandrawn-Regular",
+ "category": "handwriting",
+ "capHeight": 850,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 333,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 333
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ }
+ }
+ },
+ "delius": {
+ "familyName": "Delius",
+ "fullName": "Delius-Regular",
+ "postscriptName": "Delius-Regular",
+ "category": "handwriting",
+ "capHeight": 195,
+ "ascent": 986,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 85,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Delius",
+ "fullName": "Delius-Regular",
+ "postscriptName": "Delius-Regular",
+ "category": "handwriting",
+ "capHeight": 195,
+ "ascent": 986,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 85,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "deliusSwashCaps": {
+ "familyName": "Delius Swash Caps",
+ "fullName": "Delius Swash Caps",
+ "postscriptName": "DeliusSwashCaps-Regular",
+ "category": "handwriting",
+ "capHeight": 282,
+ "ascent": 986,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 113,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Delius Swash Caps",
+ "fullName": "Delius Swash Caps",
+ "postscriptName": "DeliusSwashCaps-Regular",
+ "category": "handwriting",
+ "capHeight": 282,
+ "ascent": 986,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 113,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ }
+ }
+ },
+ "deliusUnicase": {
+ "familyName": "Delius Unicase",
+ "fullName": "Delius Unicase",
+ "postscriptName": "DeliusUnicase-Regular",
+ "category": "handwriting",
+ "capHeight": 195,
+ "ascent": 1016,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 634,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 634
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Delius Unicase",
+ "fullName": "Delius Unicase Bold",
+ "postscriptName": "DeliusUnicase-Bold",
+ "category": "handwriting",
+ "capHeight": 195,
+ "ascent": 1031,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 637,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 637
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Delius Unicase",
+ "fullName": "Delius Unicase",
+ "postscriptName": "DeliusUnicase-Regular",
+ "category": "handwriting",
+ "capHeight": 195,
+ "ascent": 1016,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 634,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 634
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "dellaRespira": {
+ "familyName": "Della Respira",
+ "fullName": "Della Respira",
+ "postscriptName": "DellaRespira-Regular",
+ "category": "serif",
+ "ascent": 2196,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Della Respira",
+ "fullName": "Della Respira",
+ "postscriptName": "DellaRespira-Regular",
+ "category": "serif",
+ "ascent": 2196,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "denkOne": {
+ "familyName": "Denk One",
+ "fullName": "Denk One Regular",
+ "postscriptName": "DenkOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1690,
+ "ascent": 2118,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1202,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Denk One",
+ "fullName": "Denk One Regular",
+ "postscriptName": "DenkOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1690,
+ "ascent": 2118,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1202,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ }
+ }
+ },
+ "devonshire": {
+ "familyName": "Devonshire",
+ "fullName": "Devonshire-Regular",
+ "postscriptName": "Devonshire-Regular",
+ "category": "handwriting",
+ "capHeight": 664,
+ "ascent": 981,
+ "descent": -433,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 405,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Devonshire",
+ "fullName": "Devonshire-Regular",
+ "postscriptName": "Devonshire-Regular",
+ "category": "handwriting",
+ "capHeight": 664,
+ "ascent": 981,
+ "descent": -433,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 405,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "dhurjati": {
+ "familyName": "Dhurjati",
+ "fullName": "Dhurjati",
+ "postscriptName": "Dhurjati",
+ "category": "sans-serif",
+ "capHeight": 419,
+ "ascent": 1101,
+ "descent": -509,
+ "lineGap": 0,
+ "unitsPerEm": 870,
+ "xHeight": 314,
+ "xWidthAvg": 325,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 325
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dhurjati",
+ "fullName": "Dhurjati",
+ "postscriptName": "Dhurjati",
+ "category": "sans-serif",
+ "capHeight": 419,
+ "ascent": 1101,
+ "descent": -509,
+ "lineGap": 0,
+ "unitsPerEm": 870,
+ "xHeight": 314,
+ "xWidthAvg": 325,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 325
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ }
+ }
+ }
+ },
+ "didactGothic": {
+ "familyName": "Didact Gothic",
+ "fullName": "Didact Gothic Regular",
+ "postscriptName": "DidactGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 682,
+ "ascent": 1046,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Didact Gothic",
+ "fullName": "Didact Gothic Regular",
+ "postscriptName": "DidactGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 682,
+ "ascent": 1046,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "diphylleia": {
+ "familyName": "Diphylleia",
+ "fullName": "Diphylleia Regular",
+ "postscriptName": "Diphylleia-Regular",
+ "category": "serif",
+ "capHeight": 674,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 854
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Diphylleia",
+ "fullName": "Diphylleia Regular",
+ "postscriptName": "Diphylleia-Regular",
+ "category": "serif",
+ "capHeight": 674,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 854
+ }
+ }
+ }
+ }
+ },
+ "diplomata": {
+ "familyName": "Diplomata",
+ "fullName": "Diplomata Regular",
+ "postscriptName": "Diplomata-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 930,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 965,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 965
+ },
+ "thai": {
+ "xWidthAvg": 1415
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Diplomata",
+ "fullName": "Diplomata Regular",
+ "postscriptName": "Diplomata-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 930,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 965,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 965
+ },
+ "thai": {
+ "xWidthAvg": 1415
+ }
+ }
+ }
+ }
+ },
+ "diplomataSC": {
+ "familyName": "Diplomata SC",
+ "fullName": "Diplomata SC Regular",
+ "postscriptName": "DiplomataSC-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 930,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 1050,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1050
+ },
+ "thai": {
+ "xWidthAvg": 1415
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Diplomata SC",
+ "fullName": "Diplomata SC Regular",
+ "postscriptName": "DiplomataSC-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 930,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 1050,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1050
+ },
+ "thai": {
+ "xWidthAvg": 1415
+ }
+ }
+ }
+ }
+ },
+ "doHyeon": {
+ "familyName": "Do Hyeon",
+ "fullName": "Do Hyeon Regular",
+ "postscriptName": "DoHyeon-Regular",
+ "category": "sans-serif",
+ "capHeight": 851,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 636,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Do Hyeon",
+ "fullName": "Do Hyeon Regular",
+ "postscriptName": "DoHyeon-Regular",
+ "category": "sans-serif",
+ "capHeight": 851,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 636,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ }
+ }
+ }
+ },
+ "dokdo": {
+ "familyName": "Dokdo",
+ "fullName": "Dokdo Regular",
+ "postscriptName": "Dokdo-Regular",
+ "category": "display",
+ "capHeight": 475,
+ "ascent": 696,
+ "descent": -304,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 272,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dokdo",
+ "fullName": "Dokdo Regular",
+ "postscriptName": "Dokdo-Regular",
+ "category": "display",
+ "capHeight": 475,
+ "ascent": 696,
+ "descent": -304,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 272,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ }
+ }
+ },
+ "domine": {
+ "familyName": "Domine",
+ "fullName": "Domine Regular",
+ "postscriptName": "Domine-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Domine",
+ "fullName": "Domine Medium",
+ "postscriptName": "Domine-Medium",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600": {
+ "familyName": "Domine",
+ "fullName": "Domine SemiBold",
+ "postscriptName": "Domine-SemiBold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700": {
+ "familyName": "Domine",
+ "fullName": "Domine Bold",
+ "postscriptName": "Domine-Bold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Domine",
+ "fullName": "Domine Regular",
+ "postscriptName": "Domine-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "donegalOne": {
+ "familyName": "Donegal One",
+ "fullName": "Donegal One",
+ "postscriptName": "DonegalOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1020,
+ "xWidthAvg": 1023,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1023
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Donegal One",
+ "fullName": "Donegal One",
+ "postscriptName": "DonegalOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1020,
+ "xWidthAvg": 1023,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1023
+ },
+ "thai": {
+ "xWidthAvg": 675
+ }
+ }
+ }
+ }
+ },
+ "dongle": {
+ "familyName": "Dongle",
+ "fullName": "Dongle Regular",
+ "postscriptName": "Dongle-Regular",
+ "category": "sans-serif",
+ "capHeight": 395,
+ "ascent": 850,
+ "descent": -598,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Dongle",
+ "fullName": "Dongle Light",
+ "postscriptName": "Dongle-Light",
+ "category": "sans-serif",
+ "capHeight": 395,
+ "ascent": 850,
+ "descent": -598,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 275,
+ "xWidthAvg": 290,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 290
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Dongle",
+ "fullName": "Dongle Bold",
+ "postscriptName": "Dongle-Bold",
+ "category": "sans-serif",
+ "capHeight": 400,
+ "ascent": 850,
+ "descent": -598,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 285,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Dongle",
+ "fullName": "Dongle Regular",
+ "postscriptName": "Dongle-Regular",
+ "category": "sans-serif",
+ "capHeight": 395,
+ "ascent": 850,
+ "descent": -598,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 280,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "doppioOne": {
+ "familyName": "Doppio One",
+ "fullName": "Doppio One Regular",
+ "postscriptName": "DoppioOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1427,
+ "ascent": 2060,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 967,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 967
+ },
+ "thai": {
+ "xWidthAvg": 1092
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Doppio One",
+ "fullName": "Doppio One Regular",
+ "postscriptName": "DoppioOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1427,
+ "ascent": 2060,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 967,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 967
+ },
+ "thai": {
+ "xWidthAvg": 1092
+ }
+ }
+ }
+ }
+ },
+ "dorsa": {
+ "familyName": "Dorsa",
+ "fullName": "Dorsa",
+ "postscriptName": "Dorsa-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 857,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 165,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 165
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dorsa",
+ "fullName": "Dorsa",
+ "postscriptName": "Dorsa-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 857,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 165,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 165
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ }
+ }
+ },
+ "dosis": {
+ "familyName": "Dosis",
+ "fullName": "Dosis Regular",
+ "postscriptName": "Dosis-Regular",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Dosis",
+ "fullName": "Dosis ExtraLight",
+ "postscriptName": "Dosis-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ }
+ },
+ "300": {
+ "familyName": "Dosis",
+ "fullName": "Dosis Light",
+ "postscriptName": "Dosis-Light",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ }
+ },
+ "500": {
+ "familyName": "Dosis",
+ "fullName": "Dosis Medium",
+ "postscriptName": "Dosis-Medium",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 353
+ }
+ }
+ },
+ "600": {
+ "familyName": "Dosis",
+ "fullName": "Dosis SemiBold",
+ "postscriptName": "Dosis-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ },
+ "700": {
+ "familyName": "Dosis",
+ "fullName": "Dosis Bold",
+ "postscriptName": "Dosis-Bold",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 388
+ }
+ }
+ },
+ "800": {
+ "familyName": "Dosis",
+ "fullName": "Dosis ExtraBold",
+ "postscriptName": "Dosis-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 408
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Dosis",
+ "fullName": "Dosis Regular",
+ "postscriptName": "Dosis-Regular",
+ "category": "sans-serif",
+ "capHeight": 731,
+ "ascent": 1027,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ }
+ }
+ }
+ },
+ "dotGothic16": {
+ "familyName": "DotGothic16",
+ "fullName": "DotGothic16 Regular",
+ "postscriptName": "DotGothic16-Regular",
+ "category": "sans-serif",
+ "capHeight": 787,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "DotGothic16",
+ "fullName": "DotGothic16 Regular",
+ "postscriptName": "DotGothic16-Regular",
+ "category": "sans-serif",
+ "capHeight": 787,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "doto": {
+ "familyName": "Doto",
+ "fullName": "Doto Regular",
+ "postscriptName": "Doto-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Doto",
+ "fullName": "Doto Thin",
+ "postscriptName": "Doto-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Doto",
+ "fullName": "Doto ExtraLight",
+ "postscriptName": "Doto-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Doto",
+ "fullName": "Doto Light",
+ "postscriptName": "Doto-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Doto",
+ "fullName": "Doto Medium",
+ "postscriptName": "Doto-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Doto",
+ "fullName": "Doto SemiBold",
+ "postscriptName": "Doto-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Doto",
+ "fullName": "Doto Bold",
+ "postscriptName": "Doto-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Doto",
+ "fullName": "Doto ExtraBold",
+ "postscriptName": "Doto-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Doto",
+ "fullName": "Doto Black",
+ "postscriptName": "Doto-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Doto",
+ "fullName": "Doto Regular",
+ "postscriptName": "Doto-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "drSugiyama": {
+ "familyName": "Dr Sugiyama",
+ "fullName": "Dr Sugiyama Regular",
+ "postscriptName": "DrSugiyama-Regular",
+ "category": "handwriting",
+ "capHeight": 710,
+ "ascent": 1009,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 235,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 234
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dr Sugiyama",
+ "fullName": "Dr Sugiyama Regular",
+ "postscriptName": "DrSugiyama-Regular",
+ "category": "handwriting",
+ "capHeight": 710,
+ "ascent": 1009,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 235,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 234
+ }
+ }
+ }
+ }
+ },
+ "duruSans": {
+ "familyName": "Duru Sans",
+ "fullName": "Duru Sans Regular",
+ "postscriptName": "DuruSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1554,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1157,
+ "xWidthAvg": 1066,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1066
+ },
+ "thai": {
+ "xWidthAvg": 1634
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Duru Sans",
+ "fullName": "Duru Sans Regular",
+ "postscriptName": "DuruSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1554,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1157,
+ "xWidthAvg": 1066,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1066
+ },
+ "thai": {
+ "xWidthAvg": 1634
+ }
+ }
+ }
+ }
+ },
+ "dynaPuff": {
+ "familyName": "DynaPuff",
+ "fullName": "DynaPuff Regular",
+ "postscriptName": "DynaPuff-Regular",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 965,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "DynaPuff",
+ "fullName": "DynaPuff Medium",
+ "postscriptName": "DynaPuff-Medium",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 965,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "600": {
+ "familyName": "DynaPuff",
+ "fullName": "DynaPuff SemiBold",
+ "postscriptName": "DynaPuff-SemiBold",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 965,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 615
+ }
+ }
+ },
+ "700": {
+ "familyName": "DynaPuff",
+ "fullName": "DynaPuff Bold",
+ "postscriptName": "DynaPuff-Bold",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 965,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "regular": {
+ "familyName": "DynaPuff",
+ "fullName": "DynaPuff Regular",
+ "postscriptName": "DynaPuff-Regular",
+ "category": "display",
+ "capHeight": 730,
+ "ascent": 965,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "dynalight": {
+ "familyName": "Dynalight",
+ "fullName": "Dynalight",
+ "postscriptName": "Dynalight-Regular",
+ "category": "display",
+ "capHeight": 1441,
+ "ascent": 1840,
+ "descent": -645,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 723,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Dynalight",
+ "fullName": "Dynalight",
+ "postscriptName": "Dynalight-Regular",
+ "category": "display",
+ "capHeight": 1441,
+ "ascent": 1840,
+ "descent": -645,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 723,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ }
+ }
+ },
+ "eBGaramond": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Regular",
+ "postscriptName": "EBGaramond-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Medium",
+ "postscriptName": "EBGaramond-Medium",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "600": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond SemiBold",
+ "postscriptName": "EBGaramond-SemiBold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "700": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Bold",
+ "postscriptName": "EBGaramond-Bold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ },
+ "800": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond ExtraBold",
+ "postscriptName": "EBGaramond-ExtraBold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 516
+ }
+ }
+ },
+ "regular": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Regular",
+ "postscriptName": "EBGaramond-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Italic",
+ "postscriptName": "EBGaramond-Italic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond ExtraBold Italic",
+ "postscriptName": "EBGaramond-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 516
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Bold Italic",
+ "postscriptName": "EBGaramond-BoldItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond SemiBold Italic",
+ "postscriptName": "EBGaramond-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "EB Garamond",
+ "fullName": "EB Garamond Medium Italic",
+ "postscriptName": "EBGaramond-MediumItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1007,
+ "descent": -298,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ }
+ }
+ },
+ "eagleLake": {
+ "familyName": "Eagle Lake",
+ "fullName": "Eagle Lake",
+ "postscriptName": "EagleLake-Regular",
+ "category": "handwriting",
+ "capHeight": 1518,
+ "ascent": 2420,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1094,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Eagle Lake",
+ "fullName": "Eagle Lake",
+ "postscriptName": "EagleLake-Regular",
+ "category": "handwriting",
+ "capHeight": 1518,
+ "ascent": 2420,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1094,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ }
+ }
+ },
+ "eastSeaDokdo": {
+ "familyName": "East Sea Dokdo",
+ "fullName": "East Sea Dokdo Regular",
+ "postscriptName": "EastSeaDokdo-Regular",
+ "category": "handwriting",
+ "capHeight": 418,
+ "ascent": 706,
+ "descent": -294,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 239,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "East Sea Dokdo",
+ "fullName": "East Sea Dokdo Regular",
+ "postscriptName": "EastSeaDokdo-Regular",
+ "category": "handwriting",
+ "capHeight": 418,
+ "ascent": 706,
+ "descent": -294,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 239,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "eater": {
+ "familyName": "Eater",
+ "fullName": "Eater",
+ "postscriptName": "Eater-Regular",
+ "category": "display",
+ "capHeight": 1729,
+ "ascent": 2898,
+ "descent": -919,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1706,
+ "xWidthAvg": 1251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1251
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Eater",
+ "fullName": "Eater",
+ "postscriptName": "Eater-Regular",
+ "category": "display",
+ "capHeight": 1729,
+ "ascent": 2898,
+ "descent": -919,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1706,
+ "xWidthAvg": 1251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1251
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "economica": {
+ "familyName": "Economica",
+ "fullName": "Economica",
+ "postscriptName": "Economica-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 949,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Economica",
+ "fullName": "Economica Bold",
+ "postscriptName": "Economica-Bold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 949,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Economica",
+ "fullName": "Economica",
+ "postscriptName": "Economica-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 949,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Economica",
+ "fullName": "Economica Italic",
+ "postscriptName": "Economica-Italic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 949,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Economica",
+ "fullName": "Economica Bold Italic",
+ "postscriptName": "Economica-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 949,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 310,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 310
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ }
+ }
+ },
+ "eczar": {
+ "familyName": "Eczar",
+ "fullName": "Eczar Regular",
+ "postscriptName": "Eczar-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Eczar",
+ "fullName": "Eczar Medium",
+ "postscriptName": "Eczar-Medium",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "600": {
+ "familyName": "Eczar",
+ "fullName": "Eczar SemiBold",
+ "postscriptName": "Eczar-SemiBold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Eczar",
+ "fullName": "Eczar Bold",
+ "postscriptName": "Eczar-Bold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "800": {
+ "familyName": "Eczar",
+ "fullName": "Eczar ExtraBold",
+ "postscriptName": "Eczar-ExtraBold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Eczar",
+ "fullName": "Eczar Regular",
+ "postscriptName": "Eczar-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1143,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "eduAUVICWANTDots": {
+ "familyName": "Edu AU VIC WA NT Dots",
+ "fullName": "Edu AU VIC WA NT Dots Regular",
+ "postscriptName": "EduAUVICWANTDots-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu AU VIC WA NT Dots",
+ "fullName": "Edu AU VIC WA NT Dots Medium",
+ "postscriptName": "EduAUVICWANTDots-Medium",
+ "category": "handwriting",
+ "capHeight": 1841,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 1027,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1027
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu AU VIC WA NT Dots",
+ "fullName": "Edu AU VIC WA NT Dots SemiBold",
+ "postscriptName": "EduAUVICWANTDots-SemiBold",
+ "category": "handwriting",
+ "capHeight": 1837,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 1058,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1058
+ },
+ "thai": {
+ "xWidthAvg": 1351
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu AU VIC WA NT Dots",
+ "fullName": "Edu AU VIC WA NT Dots Bold",
+ "postscriptName": "EduAUVICWANTDots-Bold",
+ "category": "handwriting",
+ "capHeight": 1835,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 1077,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1077
+ },
+ "thai": {
+ "xWidthAvg": 1378
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu AU VIC WA NT Dots",
+ "fullName": "Edu AU VIC WA NT Dots Regular",
+ "postscriptName": "EduAUVICWANTDots-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ }
+ }
+ }
+ },
+ "eduAUVICWANTGuides": {
+ "familyName": "Edu AU VIC WA NT Guides",
+ "fullName": "Edu AU VIC WA NT Guides Regular",
+ "postscriptName": "EduAUVICWANTGuides-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu AU VIC WA NT Guides",
+ "fullName": "Edu AU VIC WA NT Guides Medium",
+ "postscriptName": "EduAUVICWANTGuides-Medium",
+ "category": "handwriting",
+ "capHeight": 1841,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 874,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 874
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu AU VIC WA NT Guides",
+ "fullName": "Edu AU VIC WA NT Guides SemiBold",
+ "postscriptName": "EduAUVICWANTGuides-SemiBold",
+ "category": "handwriting",
+ "capHeight": 1837,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1351
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu AU VIC WA NT Guides",
+ "fullName": "Edu AU VIC WA NT Guides Bold",
+ "postscriptName": "EduAUVICWANTGuides-Bold",
+ "category": "handwriting",
+ "capHeight": 1835,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 1378
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu AU VIC WA NT Guides",
+ "fullName": "Edu AU VIC WA NT Guides Regular",
+ "postscriptName": "EduAUVICWANTGuides-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ }
+ }
+ }
+ },
+ "eduAUVICWANTHand": {
+ "familyName": "Edu AU VIC WA NT Hand",
+ "fullName": "Edu AU VIC WA NT Hand Regular",
+ "postscriptName": "EduAUVICWANTHand-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu AU VIC WA NT Hand",
+ "fullName": "Edu AU VIC WA NT Hand Medium",
+ "postscriptName": "EduAUVICWANTHand-Medium",
+ "category": "handwriting",
+ "capHeight": 1841,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 874,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 874
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu AU VIC WA NT Hand",
+ "fullName": "Edu AU VIC WA NT Hand SemiBold",
+ "postscriptName": "EduAUVICWANTHand-SemiBold",
+ "category": "handwriting",
+ "capHeight": 1837,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1351
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu AU VIC WA NT Hand",
+ "fullName": "Edu AU VIC WA NT Hand Bold",
+ "postscriptName": "EduAUVICWANTHand-Bold",
+ "category": "handwriting",
+ "capHeight": 1835,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 916,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 916
+ },
+ "thai": {
+ "xWidthAvg": 1378
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu AU VIC WA NT Hand",
+ "fullName": "Edu AU VIC WA NT Hand Regular",
+ "postscriptName": "EduAUVICWANTHand-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ }
+ }
+ }
+ },
+ "eduAUVICWANTPre": {
+ "familyName": "Edu AU VIC WA NT Pre",
+ "fullName": "Edu AU VIC WA NT Pre Regular",
+ "postscriptName": "EduAUVICWANTPre-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu AU VIC WA NT Pre",
+ "fullName": "Edu AU VIC WA NT Pre Medium",
+ "postscriptName": "EduAUVICWANTPre-Medium",
+ "category": "handwriting",
+ "capHeight": 1841,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 874,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 874
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu AU VIC WA NT Pre",
+ "fullName": "Edu AU VIC WA NT Pre SemiBold",
+ "postscriptName": "EduAUVICWANTPre-SemiBold",
+ "category": "handwriting",
+ "capHeight": 1837,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1351
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu AU VIC WA NT Pre",
+ "fullName": "Edu AU VIC WA NT Pre Bold",
+ "postscriptName": "EduAUVICWANTPre-Bold",
+ "category": "handwriting",
+ "capHeight": 1835,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 1378
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu AU VIC WA NT Pre",
+ "fullName": "Edu AU VIC WA NT Pre Regular",
+ "postscriptName": "EduAUVICWANTPre-Regular",
+ "category": "handwriting",
+ "capHeight": 1847,
+ "ascent": 2576,
+ "descent": -903,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 838,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 838
+ },
+ "thai": {
+ "xWidthAvg": 1245
+ }
+ }
+ }
+ }
+ },
+ "eduNSWACTFoundation": {
+ "familyName": "Edu NSW ACT Foundation",
+ "fullName": "Edu NSW ACT Foundation Regular",
+ "postscriptName": "EduNSWACTFoundation-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu NSW ACT Foundation",
+ "fullName": "Edu NSW ACT Foundation Medium",
+ "postscriptName": "EduNSWACTFoundation-Medium",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu NSW ACT Foundation",
+ "fullName": "Edu NSW ACT Foundation SemiBold",
+ "postscriptName": "EduNSWACTFoundation-SemiBold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 739
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu NSW ACT Foundation",
+ "fullName": "Edu NSW ACT Foundation Bold",
+ "postscriptName": "EduNSWACTFoundation-Bold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 759
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu NSW ACT Foundation",
+ "fullName": "Edu NSW ACT Foundation Regular",
+ "postscriptName": "EduNSWACTFoundation-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ }
+ }
+ },
+ "eduQLDBeginner": {
+ "familyName": "Edu QLD Beginner",
+ "fullName": "Edu QLD Beginner Regular",
+ "postscriptName": "EduQLDBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 743
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu QLD Beginner",
+ "fullName": "Edu QLD Beginner Medium",
+ "postscriptName": "EduQLDBeginner-Medium",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 771
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu QLD Beginner",
+ "fullName": "Edu QLD Beginner SemiBold",
+ "postscriptName": "EduQLDBeginner-SemiBold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 805
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu QLD Beginner",
+ "fullName": "Edu QLD Beginner Bold",
+ "postscriptName": "EduQLDBeginner-Bold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 828
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu QLD Beginner",
+ "fullName": "Edu QLD Beginner Regular",
+ "postscriptName": "EduQLDBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 743
+ }
+ }
+ }
+ }
+ },
+ "eduSABeginner": {
+ "familyName": "Edu SA Beginner",
+ "fullName": "Edu SA Beginner Regular",
+ "postscriptName": "EduSABeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu SA Beginner",
+ "fullName": "Edu SA Beginner Medium",
+ "postscriptName": "EduSABeginner-Medium",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 698
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu SA Beginner",
+ "fullName": "Edu SA Beginner SemiBold",
+ "postscriptName": "EduSABeginner-SemiBold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 715
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu SA Beginner",
+ "fullName": "Edu SA Beginner Bold",
+ "postscriptName": "EduSABeginner-Bold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 726
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu SA Beginner",
+ "fullName": "Edu SA Beginner Regular",
+ "postscriptName": "EduSABeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ }
+ }
+ },
+ "eduTASBeginner": {
+ "familyName": "Edu TAS Beginner",
+ "fullName": "Edu TAS Beginner Regular",
+ "postscriptName": "EduTASBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 674
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu TAS Beginner",
+ "fullName": "Edu TAS Beginner Medium",
+ "postscriptName": "EduTASBeginner-Medium",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 704
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu TAS Beginner",
+ "fullName": "Edu TAS Beginner SemiBold",
+ "postscriptName": "EduTASBeginner-SemiBold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 739
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu TAS Beginner",
+ "fullName": "Edu TAS Beginner Bold",
+ "postscriptName": "EduTASBeginner-Bold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 763
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu TAS Beginner",
+ "fullName": "Edu TAS Beginner Regular",
+ "postscriptName": "EduTASBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 674
+ }
+ }
+ }
+ }
+ },
+ "eduVICWANTBeginner": {
+ "familyName": "Edu VIC WA NT Beginner",
+ "fullName": "Edu VIC WA NT Beginner Regular",
+ "postscriptName": "EduVICWANTBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 743
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Edu VIC WA NT Beginner",
+ "fullName": "Edu VIC WA NT Beginner Medium",
+ "postscriptName": "EduVICWANTBeginner-Medium",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 771
+ }
+ }
+ },
+ "600": {
+ "familyName": "Edu VIC WA NT Beginner",
+ "fullName": "Edu VIC WA NT Beginner SemiBold",
+ "postscriptName": "EduVICWANTBeginner-SemiBold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 805
+ }
+ }
+ },
+ "700": {
+ "familyName": "Edu VIC WA NT Beginner",
+ "fullName": "Edu VIC WA NT Beginner Bold",
+ "postscriptName": "EduVICWANTBeginner-Bold",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 828
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Edu VIC WA NT Beginner",
+ "fullName": "Edu VIC WA NT Beginner Regular",
+ "postscriptName": "EduVICWANTBeginner-Regular",
+ "category": "handwriting",
+ "capHeight": 772,
+ "ascent": 1016,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 743
+ }
+ }
+ }
+ }
+ },
+ "elMessiri": {
+ "familyName": "El Messiri",
+ "fullName": "El Messiri Regular",
+ "postscriptName": "ElMessiri-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1019,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "El Messiri",
+ "fullName": "El Messiri Medium",
+ "postscriptName": "ElMessiri-Medium",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1019,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "El Messiri",
+ "fullName": "El Messiri SemiBold",
+ "postscriptName": "ElMessiri-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1019,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "El Messiri",
+ "fullName": "El Messiri Bold",
+ "postscriptName": "ElMessiri-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1019,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "El Messiri",
+ "fullName": "El Messiri Regular",
+ "postscriptName": "ElMessiri-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1019,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "electrolize": {
+ "familyName": "Electrolize",
+ "fullName": "Electrolize",
+ "postscriptName": "Electrolize-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 911,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Electrolize",
+ "fullName": "Electrolize",
+ "postscriptName": "Electrolize-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 911,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ }
+ }
+ }
+ },
+ "elsie": {
+ "familyName": "Elsie",
+ "fullName": "Elsie Regular",
+ "postscriptName": "Elsie-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "900": {
+ "familyName": "Elsie",
+ "fullName": "Elsie Black",
+ "postscriptName": "Elsie-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Elsie",
+ "fullName": "Elsie Regular",
+ "postscriptName": "Elsie-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "elsieSwashCaps": {
+ "familyName": "Elsie Swash Caps",
+ "fullName": "Elsie Swash Caps Regular",
+ "postscriptName": "ElsieSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "900": {
+ "familyName": "Elsie Swash Caps",
+ "fullName": "Elsie Swash Caps Black",
+ "postscriptName": "ElsieSwashCaps-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Elsie Swash Caps",
+ "fullName": "Elsie Swash Caps Regular",
+ "postscriptName": "ElsieSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 878,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "emblemaOne": {
+ "familyName": "Emblema One",
+ "fullName": "Emblema One",
+ "postscriptName": "EmblemaOne-Regular",
+ "category": "display",
+ "capHeight": 1361,
+ "ascent": 1898,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1002,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 511
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Emblema One",
+ "fullName": "Emblema One",
+ "postscriptName": "EmblemaOne-Regular",
+ "category": "display",
+ "capHeight": 1361,
+ "ascent": 1898,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1002,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 511
+ }
+ }
+ }
+ }
+ },
+ "emilysCandy": {
+ "familyName": "Emilys Candy",
+ "fullName": "Emilys Candy",
+ "postscriptName": "EmilysCandy-Regular",
+ "category": "display",
+ "capHeight": 762,
+ "ascent": 996,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 529,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Emilys Candy",
+ "fullName": "Emilys Candy",
+ "postscriptName": "EmilysCandy-Regular",
+ "category": "display",
+ "capHeight": 762,
+ "ascent": 996,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 529,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ }
+ }
+ }
+ },
+ "encodeSans": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Regular",
+ "postscriptName": "EncodeSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 884,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 884
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Thin",
+ "postscriptName": "EncodeSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 839,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 839
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans ExtraLight",
+ "postscriptName": "EncodeSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Light",
+ "postscriptName": "EncodeSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Medium",
+ "postscriptName": "EncodeSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans SemiBold",
+ "postscriptName": "EncodeSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Bold",
+ "postscriptName": "EncodeSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 963,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 963
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans ExtraBold",
+ "postscriptName": "EncodeSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 991,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 991
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Black",
+ "postscriptName": "EncodeSans-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1015,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1015
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans",
+ "fullName": "Encode Sans Regular",
+ "postscriptName": "EncodeSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 884,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 884
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ }
+ }
+ },
+ "encodeSansCondensed": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Regular",
+ "postscriptName": "EncodeSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 762,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 762
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Thin",
+ "postscriptName": "EncodeSansCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed ExtraLight",
+ "postscriptName": "EncodeSansCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1081,
+ "xWidthAvg": 732,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 732
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Light",
+ "postscriptName": "EncodeSansCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1083,
+ "xWidthAvg": 745,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 745
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Medium",
+ "postscriptName": "EncodeSansCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1088,
+ "xWidthAvg": 781,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 781
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed SemiBold",
+ "postscriptName": "EncodeSansCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 804,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 804
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Bold",
+ "postscriptName": "EncodeSansCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 828,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 828
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed ExtraBold",
+ "postscriptName": "EncodeSansCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1097,
+ "xWidthAvg": 851,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 851
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Black",
+ "postscriptName": "EncodeSansCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 872,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 872
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans Condensed",
+ "fullName": "Encode Sans Condensed Regular",
+ "postscriptName": "EncodeSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 762,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 762
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ }
+ }
+ },
+ "encodeSansExpanded": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Regular",
+ "postscriptName": "EncodeSansExpanded-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Thin",
+ "postscriptName": "EncodeSansExpanded-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 955,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 955
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded ExtraLight",
+ "postscriptName": "EncodeSansExpanded-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1081,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Light",
+ "postscriptName": "EncodeSansExpanded-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1083,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Medium",
+ "postscriptName": "EncodeSansExpanded-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1088,
+ "xWidthAvg": 1034,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1034
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded SemiBold",
+ "postscriptName": "EncodeSansExpanded-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1065,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1065
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Bold",
+ "postscriptName": "EncodeSansExpanded-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 1098,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1098
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded ExtraBold",
+ "postscriptName": "EncodeSansExpanded-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1097,
+ "xWidthAvg": 1130,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1130
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Black",
+ "postscriptName": "EncodeSansExpanded-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1159,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1159
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans Expanded",
+ "fullName": "Encode Sans Expanded Regular",
+ "postscriptName": "EncodeSansExpanded-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ }
+ }
+ },
+ "encodeSansSC": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Regular",
+ "postscriptName": "EncodeSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Thin",
+ "postscriptName": "EncodeSansSC-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 955,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 955
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC ExtraLight",
+ "postscriptName": "EncodeSansSC-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Light",
+ "postscriptName": "EncodeSansSC-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Medium",
+ "postscriptName": "EncodeSansSC-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1026,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1026
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC SemiBold",
+ "postscriptName": "EncodeSansSC-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1053,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1053
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Bold",
+ "postscriptName": "EncodeSansSC-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1081,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1081
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC ExtraBold",
+ "postscriptName": "EncodeSansSC-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1110,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1110
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Black",
+ "postscriptName": "EncodeSansSC-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1135,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1135
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans SC",
+ "fullName": "Encode Sans SC Regular",
+ "postscriptName": "EncodeSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1214
+ }
+ }
+ }
+ }
+ },
+ "encodeSansSemiCondensed": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Regular",
+ "postscriptName": "EncodeSansSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 824,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 824
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Thin",
+ "postscriptName": "EncodeSansSemiCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 781,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 781
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed ExtraLight",
+ "postscriptName": "EncodeSansSemiCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1081,
+ "xWidthAvg": 790,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 790
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Light",
+ "postscriptName": "EncodeSansSemiCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1083,
+ "xWidthAvg": 805,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 805
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Medium",
+ "postscriptName": "EncodeSansSemiCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1088,
+ "xWidthAvg": 846,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 846
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed SemiBold",
+ "postscriptName": "EncodeSansSemiCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 869,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 869
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Bold",
+ "postscriptName": "EncodeSansSemiCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed ExtraBold",
+ "postscriptName": "EncodeSansSemiCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1097,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Black",
+ "postscriptName": "EncodeSansSemiCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans Semi Condensed",
+ "fullName": "Encode Sans Semi Condensed Regular",
+ "postscriptName": "EncodeSansSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 824,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 824
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ }
+ }
+ },
+ "encodeSansSemiExpanded": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Regular",
+ "postscriptName": "EncodeSansSemiExpanded-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Thin",
+ "postscriptName": "EncodeSansSemiExpanded-Thin",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "200": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded ExtraLight",
+ "postscriptName": "EncodeSansSemiExpanded-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1081,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "300": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Light",
+ "postscriptName": "EncodeSansSemiExpanded-Light",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1083,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "500": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Medium",
+ "postscriptName": "EncodeSansSemiExpanded-Medium",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1088,
+ "xWidthAvg": 971,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 971
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "600": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded SemiBold",
+ "postscriptName": "EncodeSansSemiExpanded-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "700": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Bold",
+ "postscriptName": "EncodeSansSemiExpanded-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 1032,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1032
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "800": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded ExtraBold",
+ "postscriptName": "EncodeSansSemiExpanded-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1097,
+ "xWidthAvg": 1060,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1060
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "900": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Black",
+ "postscriptName": "EncodeSansSemiExpanded-Black",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1087,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1087
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Encode Sans Semi Expanded",
+ "fullName": "Encode Sans Semi Expanded Regular",
+ "postscriptName": "EncodeSansSemiExpanded-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 2060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1085,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1028
+ }
+ }
+ }
+ }
+ },
+ "engagement": {
+ "familyName": "Engagement",
+ "fullName": "Engagement",
+ "postscriptName": "Engagement-Regular",
+ "category": "handwriting",
+ "capHeight": 1500,
+ "ascent": 1843,
+ "descent": -684,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 653,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Engagement",
+ "fullName": "Engagement",
+ "postscriptName": "Engagement-Regular",
+ "category": "handwriting",
+ "capHeight": 1500,
+ "ascent": 1843,
+ "descent": -684,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 653,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "englebert": {
+ "familyName": "Englebert",
+ "fullName": "Englebert",
+ "postscriptName": "Englebert-Regular",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 954,
+ "descent": -311,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1077,
+ "xWidthAvg": 780,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 780
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Englebert",
+ "fullName": "Englebert",
+ "postscriptName": "Englebert-Regular",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 954,
+ "descent": -311,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1077,
+ "xWidthAvg": 780,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 780
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ }
+ }
+ }
+ },
+ "enriqueta": {
+ "familyName": "Enriqueta",
+ "fullName": "Enriqueta Regular",
+ "postscriptName": "Enriqueta-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1077,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Enriqueta",
+ "fullName": "Enriqueta Medium",
+ "postscriptName": "Enriqueta-Medium",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1077,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "600": {
+ "familyName": "Enriqueta",
+ "fullName": "Enriqueta SemiBold",
+ "postscriptName": "Enriqueta-SemiBold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1077,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "700": {
+ "familyName": "Enriqueta",
+ "fullName": "Enriqueta Bold",
+ "postscriptName": "Enriqueta-Bold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1077,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Enriqueta",
+ "fullName": "Enriqueta Regular",
+ "postscriptName": "Enriqueta-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1077,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ }
+ }
+ },
+ "ephesis": {
+ "familyName": "Ephesis",
+ "fullName": "Ephesis Regular",
+ "postscriptName": "Ephesis-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ephesis",
+ "fullName": "Ephesis Regular",
+ "postscriptName": "Ephesis-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ }
+ }
+ },
+ "epilogue": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Regular",
+ "postscriptName": "Epilogue-Regular",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 990,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 990
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Thin",
+ "postscriptName": "Epilogue-Thin",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 951,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 951
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "200": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue ExtraLight",
+ "postscriptName": "Epilogue-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "300": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Light",
+ "postscriptName": "Epilogue-Light",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "500": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Medium",
+ "postscriptName": "Epilogue-Medium",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1005,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1005
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "600": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue SemiBold",
+ "postscriptName": "Epilogue-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1019,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1019
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "700": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Bold",
+ "postscriptName": "Epilogue-Bold",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1034,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1034
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "800": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue ExtraBold",
+ "postscriptName": "Epilogue-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1049,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1049
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "900": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Black",
+ "postscriptName": "Epilogue-Black",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1064,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1064
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Regular",
+ "postscriptName": "Epilogue-Regular",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 990,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 990
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Italic",
+ "postscriptName": "Epilogue-Italic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Black Italic",
+ "postscriptName": "Epilogue-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1072,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1072
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue ExtraBold Italic",
+ "postscriptName": "Epilogue-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1057,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1057
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Bold Italic",
+ "postscriptName": "Epilogue-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1041,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1041
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue SemiBold Italic",
+ "postscriptName": "Epilogue-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1026,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1026
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Medium Italic",
+ "postscriptName": "Epilogue-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Light Italic",
+ "postscriptName": "Epilogue-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue ExtraLight Italic",
+ "postscriptName": "Epilogue-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 972,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 972
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Epilogue",
+ "fullName": "Epilogue Thin Italic",
+ "postscriptName": "Epilogue-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1475,
+ "ascent": 1580,
+ "descent": -470,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ }
+ }
+ },
+ "ericaOne": {
+ "familyName": "Erica One",
+ "fullName": "Erica One",
+ "postscriptName": "EricaOne-Regular",
+ "category": "display",
+ "capHeight": 691,
+ "ascent": 1153,
+ "descent": -339,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 591,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 243
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Erica One",
+ "fullName": "Erica One",
+ "postscriptName": "EricaOne-Regular",
+ "category": "display",
+ "capHeight": 691,
+ "ascent": 1153,
+ "descent": -339,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 591,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 243
+ }
+ }
+ }
+ }
+ },
+ "esteban": {
+ "familyName": "Esteban",
+ "fullName": "Esteban",
+ "postscriptName": "Esteban",
+ "category": "serif",
+ "capHeight": 137,
+ "ascent": 984,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 127,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Esteban",
+ "fullName": "Esteban",
+ "postscriptName": "Esteban",
+ "category": "serif",
+ "capHeight": 137,
+ "ascent": 984,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 127,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ }
+ }
+ }
+ },
+ "estonia": {
+ "familyName": "Estonia",
+ "fullName": "Estonia Regular",
+ "postscriptName": "Estonia-Regular",
+ "category": "handwriting",
+ "capHeight": 447,
+ "ascent": 900,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 261,
+ "xWidthAvg": 241,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 241
+ },
+ "thai": {
+ "xWidthAvg": 391
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Estonia",
+ "fullName": "Estonia Regular",
+ "postscriptName": "Estonia-Regular",
+ "category": "handwriting",
+ "capHeight": 447,
+ "ascent": 900,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 261,
+ "xWidthAvg": 241,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 241
+ },
+ "thai": {
+ "xWidthAvg": 391
+ }
+ }
+ }
+ }
+ },
+ "euphoriaScript": {
+ "familyName": "Euphoria Script",
+ "fullName": "Euphoria Script",
+ "postscriptName": "EuphoriaScript-Regular",
+ "category": "handwriting",
+ "capHeight": 274,
+ "ascent": 1014,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1250,
+ "xHeight": 344,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 187
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Euphoria Script",
+ "fullName": "Euphoria Script",
+ "postscriptName": "EuphoriaScript-Regular",
+ "category": "handwriting",
+ "capHeight": 274,
+ "ascent": 1014,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1250,
+ "xHeight": 344,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 187
+ }
+ }
+ }
+ }
+ },
+ "ewert": {
+ "familyName": "Ewert",
+ "fullName": "Ewert",
+ "postscriptName": "Ewert-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 944,
+ "descent": -299,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 399
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ewert",
+ "fullName": "Ewert",
+ "postscriptName": "Ewert-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 944,
+ "descent": -299,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 399
+ }
+ }
+ }
+ }
+ },
+ "exo": {
+ "familyName": "Exo",
+ "fullName": "Exo Regular",
+ "postscriptName": "Exo-Regular",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Exo",
+ "fullName": "Exo Thin",
+ "postscriptName": "Exo-Thin",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 651
+ }
+ }
+ },
+ "200": {
+ "familyName": "Exo",
+ "fullName": "Exo ExtraLight",
+ "postscriptName": "Exo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "300": {
+ "familyName": "Exo",
+ "fullName": "Exo Light",
+ "postscriptName": "Exo-Light",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ },
+ "500": {
+ "familyName": "Exo",
+ "fullName": "Exo Medium",
+ "postscriptName": "Exo-Medium",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "600": {
+ "familyName": "Exo",
+ "fullName": "Exo SemiBold",
+ "postscriptName": "Exo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "700": {
+ "familyName": "Exo",
+ "fullName": "Exo Bold",
+ "postscriptName": "Exo-Bold",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "800": {
+ "familyName": "Exo",
+ "fullName": "Exo ExtraBold",
+ "postscriptName": "Exo-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "900": {
+ "familyName": "Exo",
+ "fullName": "Exo Black",
+ "postscriptName": "Exo-Black",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Exo",
+ "fullName": "Exo Regular",
+ "postscriptName": "Exo-Regular",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Italic",
+ "postscriptName": "Exo-Italic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Black Italic",
+ "postscriptName": "Exo-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Exo",
+ "fullName": "Exo ExtraBold Italic",
+ "postscriptName": "Exo-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Bold Italic",
+ "postscriptName": "Exo-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Exo",
+ "fullName": "Exo SemiBold Italic",
+ "postscriptName": "Exo-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Medium Italic",
+ "postscriptName": "Exo-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Light Italic",
+ "postscriptName": "Exo-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Exo",
+ "fullName": "Exo ExtraLight Italic",
+ "postscriptName": "Exo-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Exo",
+ "fullName": "Exo Thin Italic",
+ "postscriptName": "Exo-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1002,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 651
+ }
+ }
+ }
+ }
+ },
+ "exo2": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Regular",
+ "postscriptName": "Exo2-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Thin",
+ "postscriptName": "Exo2-Thin",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "200": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 ExtraLight",
+ "postscriptName": "Exo2-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "300": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Light",
+ "postscriptName": "Exo2-Light",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 635
+ }
+ }
+ },
+ "500": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Medium",
+ "postscriptName": "Exo2-Medium",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ },
+ "600": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 SemiBold",
+ "postscriptName": "Exo2-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "700": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Bold",
+ "postscriptName": "Exo2-Bold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "800": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 ExtraBold",
+ "postscriptName": "Exo2-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 571
+ }
+ }
+ },
+ "900": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Black",
+ "postscriptName": "Exo2-Black",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Regular",
+ "postscriptName": "Exo2-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Italic",
+ "postscriptName": "Exo2-Italic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Black Italic",
+ "postscriptName": "Exo2-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 ExtraBold Italic",
+ "postscriptName": "Exo2-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 571
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Bold Italic",
+ "postscriptName": "Exo2-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 SemiBold Italic",
+ "postscriptName": "Exo2-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Medium Italic",
+ "postscriptName": "Exo2-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Light Italic",
+ "postscriptName": "Exo2-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 635
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 ExtraLight Italic",
+ "postscriptName": "Exo2-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Exo 2",
+ "fullName": "Exo 2 Thin Italic",
+ "postscriptName": "Exo2-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 999,
+ "descent": -201,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ }
+ }
+ },
+ "expletusSans": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Regular",
+ "postscriptName": "ExpletusSans-Regular",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1524
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Medium",
+ "postscriptName": "ExpletusSans-Medium",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1518
+ }
+ }
+ },
+ "600": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans SemiBold",
+ "postscriptName": "ExpletusSans-SemiBold",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1510
+ }
+ }
+ },
+ "700": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Bold",
+ "postscriptName": "ExpletusSans-Bold",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 1502
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Regular",
+ "postscriptName": "ExpletusSans-Regular",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1524
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Italic",
+ "postscriptName": "ExpletusSans-Italic",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1524
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Bold Italic",
+ "postscriptName": "ExpletusSans-BoldItalic",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 967,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 967
+ },
+ "thai": {
+ "xWidthAvg": 1502
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans SemiBold Italic",
+ "postscriptName": "ExpletusSans-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 952,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 952
+ },
+ "thai": {
+ "xWidthAvg": 1510
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Expletus Sans",
+ "fullName": "Expletus Sans Medium Italic",
+ "postscriptName": "ExpletusSans-MediumItalic",
+ "category": "display",
+ "capHeight": 1454,
+ "ascent": 2066,
+ "descent": -612,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 939,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 939
+ },
+ "thai": {
+ "xWidthAvg": 1518
+ }
+ }
+ }
+ }
+ },
+ "explora": {
+ "familyName": "Explora",
+ "fullName": "Explora Regular",
+ "postscriptName": "Explora-Regular",
+ "category": "handwriting",
+ "capHeight": 542,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 325,
+ "xWidthAvg": 242,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 242
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Explora",
+ "fullName": "Explora Regular",
+ "postscriptName": "Explora-Regular",
+ "category": "handwriting",
+ "capHeight": 542,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 325,
+ "xWidthAvg": 242,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 242
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ }
+ }
+ }
+ },
+ "facultyGlyphic": {
+ "familyName": "Faculty Glyphic",
+ "fullName": "Faculty Glyphic Regular",
+ "postscriptName": "FacultyGlyphic-Regular",
+ "category": "sans-serif",
+ "capHeight": 775,
+ "ascent": 1037,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Faculty Glyphic",
+ "fullName": "Faculty Glyphic Regular",
+ "postscriptName": "FacultyGlyphic-Regular",
+ "category": "sans-serif",
+ "capHeight": 775,
+ "ascent": 1037,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ }
+ }
+ }
+ },
+ "fahkwang": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Regular",
+ "postscriptName": "Fahkwang-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang ExtraLight",
+ "postscriptName": "Fahkwang-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Light",
+ "postscriptName": "Fahkwang-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Medium",
+ "postscriptName": "Fahkwang-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang SemiBold",
+ "postscriptName": "Fahkwang-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Bold",
+ "postscriptName": "Fahkwang-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Regular",
+ "postscriptName": "Fahkwang-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Italic",
+ "postscriptName": "Fahkwang-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Bold Italic",
+ "postscriptName": "Fahkwang-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang SemiBold Italic",
+ "postscriptName": "Fahkwang-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Medium Italic",
+ "postscriptName": "Fahkwang-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang Light Italic",
+ "postscriptName": "Fahkwang-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Fahkwang",
+ "fullName": "Fahkwang ExtraLight Italic",
+ "postscriptName": "Fahkwang-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1008,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ }
+ }
+ },
+ "familjenGrotesk": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Regular",
+ "postscriptName": "FamiljenGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Medium",
+ "postscriptName": "FamiljenGrotesk-Medium",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk SemiBold",
+ "postscriptName": "FamiljenGrotesk-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Bold",
+ "postscriptName": "FamiljenGrotesk-Bold",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Regular",
+ "postscriptName": "FamiljenGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Italic",
+ "postscriptName": "FamiljenGrotesk-Italic",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Bold Italic",
+ "postscriptName": "FamiljenGrotesk-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk SemiBold Italic",
+ "postscriptName": "FamiljenGrotesk-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Familjen Grotesk",
+ "fullName": "Familjen Grotesk Medium Italic",
+ "postscriptName": "FamiljenGrotesk-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 780,
+ "ascent": 1230,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "fanwoodText": {
+ "familyName": "Fanwood Text",
+ "fullName": "Fanwood Text",
+ "postscriptName": "FanwoodText-Regular",
+ "category": "serif",
+ "capHeight": 1282,
+ "ascent": 3761,
+ "descent": -1609,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1606,
+ "xWidthAvg": 1572,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1572
+ },
+ "thai": {
+ "xWidthAvg": 1497
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fanwood Text",
+ "fullName": "Fanwood Text",
+ "postscriptName": "FanwoodText-Regular",
+ "category": "serif",
+ "capHeight": 1282,
+ "ascent": 3761,
+ "descent": -1609,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1606,
+ "xWidthAvg": 1572,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1572
+ },
+ "thai": {
+ "xWidthAvg": 1497
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fanwood Text",
+ "fullName": "Fanwood Text Italic",
+ "postscriptName": "FanwoodText-Italic",
+ "category": "serif",
+ "capHeight": 1172,
+ "ascent": 3761,
+ "descent": -1609,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1261,
+ "xWidthAvg": 1546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1546
+ },
+ "thai": {
+ "xWidthAvg": 1497
+ }
+ }
+ }
+ }
+ },
+ "farro": {
+ "familyName": "Farro",
+ "fullName": "Farro Regular",
+ "postscriptName": "Farro-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1106
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Farro",
+ "fullName": "Farro Light",
+ "postscriptName": "Farro-Light",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 1129
+ }
+ }
+ },
+ "500": {
+ "familyName": "Farro",
+ "fullName": "Farro Medium",
+ "postscriptName": "Farro-Medium",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1081
+ }
+ }
+ },
+ "700": {
+ "familyName": "Farro",
+ "fullName": "Farro Bold",
+ "postscriptName": "Farro-Bold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 1059
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Farro",
+ "fullName": "Farro Regular",
+ "postscriptName": "Farro-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1106
+ }
+ }
+ }
+ }
+ },
+ "farsan": {
+ "familyName": "Farsan",
+ "fullName": "Farsan Regular",
+ "postscriptName": "Farsan-Regular",
+ "category": "display",
+ "capHeight": 664,
+ "ascent": 711,
+ "descent": -289,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 312,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 312
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Farsan",
+ "fullName": "Farsan Regular",
+ "postscriptName": "Farsan-Regular",
+ "category": "display",
+ "capHeight": 664,
+ "ascent": 711,
+ "descent": -289,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 312,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 312
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "fascinate": {
+ "familyName": "Fascinate",
+ "fullName": "Fascinate",
+ "postscriptName": "Fascinate-Regular",
+ "category": "display",
+ "capHeight": 1436,
+ "ascent": 2125,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1116,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1116
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fascinate",
+ "fullName": "Fascinate",
+ "postscriptName": "Fascinate-Regular",
+ "category": "display",
+ "capHeight": 1436,
+ "ascent": 2125,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1116,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1116
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "fascinateInline": {
+ "familyName": "Fascinate Inline",
+ "fullName": "Fascinate Inline",
+ "postscriptName": "FascinateInline-Regular",
+ "category": "display",
+ "capHeight": 1436,
+ "ascent": 2125,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1116,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1116
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fascinate Inline",
+ "fullName": "Fascinate Inline",
+ "postscriptName": "FascinateInline-Regular",
+ "category": "display",
+ "capHeight": 1436,
+ "ascent": 2125,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1116,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1116
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "fasterOne": {
+ "familyName": "Faster One",
+ "fullName": "Faster One Regular",
+ "postscriptName": "FasterOne-Regular",
+ "category": "display",
+ "capHeight": 625,
+ "ascent": 898,
+ "descent": -165,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Faster One",
+ "fullName": "Faster One Regular",
+ "postscriptName": "FasterOne-Regular",
+ "category": "display",
+ "capHeight": 625,
+ "ascent": 898,
+ "descent": -165,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 613,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 613
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ }
+ }
+ },
+ "fasthand": {
+ "familyName": "Fasthand",
+ "fullName": "Fasthand Regular",
+ "postscriptName": "Fasthand-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fasthand",
+ "fullName": "Fasthand Regular",
+ "postscriptName": "Fasthand-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "faunaOne": {
+ "familyName": "Fauna One",
+ "fullName": "Fauna One Regular",
+ "postscriptName": "FaunaOne-Regular",
+ "category": "serif",
+ "capHeight": 730,
+ "ascent": 987,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 283
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fauna One",
+ "fullName": "Fauna One Regular",
+ "postscriptName": "FaunaOne-Regular",
+ "category": "serif",
+ "capHeight": 730,
+ "ascent": 987,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 283
+ }
+ }
+ }
+ }
+ },
+ "faustina": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Regular",
+ "postscriptName": "Faustina-Regular",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Light",
+ "postscriptName": "Faustina-Light",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Medium",
+ "postscriptName": "Faustina-Medium",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Faustina",
+ "fullName": "Faustina SemiBold",
+ "postscriptName": "Faustina-SemiBold",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Bold",
+ "postscriptName": "Faustina-Bold",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800": {
+ "familyName": "Faustina",
+ "fullName": "Faustina ExtraBold",
+ "postscriptName": "Faustina-ExtraBold",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Regular",
+ "postscriptName": "Faustina-Regular",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Italic",
+ "postscriptName": "Faustina-Italic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina ExtraBold Italic",
+ "postscriptName": "Faustina-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Bold Italic",
+ "postscriptName": "Faustina-BoldItalic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina SemiBold Italic",
+ "postscriptName": "Faustina-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Medium Italic",
+ "postscriptName": "Faustina-MediumItalic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Faustina",
+ "fullName": "Faustina Light Italic",
+ "postscriptName": "Faustina-LightItalic",
+ "category": "serif",
+ "capHeight": 648,
+ "ascent": 1043,
+ "descent": -217,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ }
+ }
+ },
+ "federant": {
+ "familyName": "Federant",
+ "fullName": "Federant",
+ "postscriptName": "Federant-Regular",
+ "category": "display",
+ "capHeight": 714,
+ "ascent": 942,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Federant",
+ "fullName": "Federant",
+ "postscriptName": "Federant-Regular",
+ "category": "display",
+ "capHeight": 714,
+ "ascent": 942,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ }
+ }
+ },
+ "federo": {
+ "familyName": "Federo",
+ "fullName": "Federo",
+ "postscriptName": "Federo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1487,
+ "ascent": 1883,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 942,
+ "xWidthAvg": 831,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 831
+ },
+ "thai": {
+ "xWidthAvg": 1083
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Federo",
+ "fullName": "Federo",
+ "postscriptName": "Federo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1487,
+ "ascent": 1883,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 942,
+ "xWidthAvg": 831,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 831
+ },
+ "thai": {
+ "xWidthAvg": 1083
+ }
+ }
+ }
+ }
+ },
+ "felipa": {
+ "familyName": "Felipa",
+ "fullName": "Felipa",
+ "postscriptName": "Felipa-Regular",
+ "category": "handwriting",
+ "capHeight": 752,
+ "ascent": 966,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 346,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 346
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Felipa",
+ "fullName": "Felipa",
+ "postscriptName": "Felipa-Regular",
+ "category": "handwriting",
+ "capHeight": 752,
+ "ascent": 966,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 346,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 346
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "fenix": {
+ "familyName": "Fenix",
+ "fullName": "Fenix",
+ "postscriptName": "Fenix",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 879,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fenix",
+ "fullName": "Fenix",
+ "postscriptName": "Fenix",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 879,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ }
+ }
+ },
+ "festive": {
+ "familyName": "Festive",
+ "fullName": "Festive Regular",
+ "postscriptName": "Festive-Regular",
+ "category": "handwriting",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -590,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Festive",
+ "fullName": "Festive Regular",
+ "postscriptName": "Festive-Regular",
+ "category": "handwriting",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -590,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ }
+ }
+ },
+ "figtree": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Regular",
+ "postscriptName": "Figtree-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Light",
+ "postscriptName": "Figtree-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "500": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Medium",
+ "postscriptName": "Figtree-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "600": {
+ "familyName": "Figtree",
+ "fullName": "Figtree SemiBold",
+ "postscriptName": "Figtree-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "700": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Bold",
+ "postscriptName": "Figtree-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "800": {
+ "familyName": "Figtree",
+ "fullName": "Figtree ExtraBold",
+ "postscriptName": "Figtree-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "900": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Black",
+ "postscriptName": "Figtree-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Regular",
+ "postscriptName": "Figtree-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Italic",
+ "postscriptName": "Figtree-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Black Italic",
+ "postscriptName": "Figtree-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree ExtraBold Italic",
+ "postscriptName": "Figtree-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Bold Italic",
+ "postscriptName": "Figtree-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree SemiBold Italic",
+ "postscriptName": "Figtree-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Medium Italic",
+ "postscriptName": "Figtree-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Figtree",
+ "fullName": "Figtree Light Italic",
+ "postscriptName": "Figtree-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ }
+ }
+ },
+ "fingerPaint": {
+ "familyName": "Finger Paint",
+ "fullName": "Finger Paint Regular",
+ "postscriptName": "FingerPaint-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1097,
+ "descent": -377,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Finger Paint",
+ "fullName": "Finger Paint Regular",
+ "postscriptName": "FingerPaint-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1097,
+ "descent": -377,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "finlandica": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Regular",
+ "postscriptName": "Finlandica-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Medium",
+ "postscriptName": "Finlandica-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica SemiBold",
+ "postscriptName": "Finlandica-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Bold",
+ "postscriptName": "Finlandica-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Regular",
+ "postscriptName": "Finlandica-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Italic",
+ "postscriptName": "Finlandica-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Bold Italic",
+ "postscriptName": "Finlandica-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica SemiBold Italic",
+ "postscriptName": "Finlandica-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Finlandica",
+ "fullName": "Finlandica Medium Italic",
+ "postscriptName": "Finlandica-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "firaCode": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code Regular",
+ "postscriptName": "FiraCode-Regular",
+ "category": "monospace",
+ "capHeight": 1377,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1053,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code Light",
+ "postscriptName": "FiraCode-Light",
+ "category": "monospace",
+ "capHeight": 1374,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1050,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code Medium",
+ "postscriptName": "FiraCode-Medium",
+ "category": "monospace",
+ "capHeight": 1380,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1056,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code SemiBold",
+ "postscriptName": "FiraCode-SemiBold",
+ "category": "monospace",
+ "capHeight": 1383,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1059,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code Bold",
+ "postscriptName": "FiraCode-Bold",
+ "category": "monospace",
+ "capHeight": 1386,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1062,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fira Code",
+ "fullName": "Fira Code Regular",
+ "postscriptName": "FiraCode-Regular",
+ "category": "monospace",
+ "capHeight": 1377,
+ "ascent": 1980,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1053,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ }
+ }
+ },
+ "firaMono": {
+ "familyName": "Fira Mono",
+ "fullName": "Fira Mono Regular",
+ "postscriptName": "FiraMono-Regular",
+ "category": "monospace",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Fira Mono",
+ "fullName": "Fira Mono Medium",
+ "postscriptName": "FiraMono-Medium",
+ "category": "monospace",
+ "capHeight": 690,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fira Mono",
+ "fullName": "Fira Mono Bold",
+ "postscriptName": "FiraMono-Bold",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fira Mono",
+ "fullName": "Fira Mono Regular",
+ "postscriptName": "FiraMono-Regular",
+ "category": "monospace",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "firaSans": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Regular",
+ "postscriptName": "FiraSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Thin",
+ "postscriptName": "FiraSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "200": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans ExtraLight",
+ "postscriptName": "FiraSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Light",
+ "postscriptName": "FiraSans-Light",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Medium",
+ "postscriptName": "FiraSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans SemiBold",
+ "postscriptName": "FiraSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Bold",
+ "postscriptName": "FiraSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "800": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans ExtraBold",
+ "postscriptName": "FiraSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "900": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Black",
+ "postscriptName": "FiraSans-Black",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Regular",
+ "postscriptName": "FiraSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Italic",
+ "postscriptName": "FiraSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Black Italic",
+ "postscriptName": "FiraSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans ExtraBold Italic",
+ "postscriptName": "FiraSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Bold Italic",
+ "postscriptName": "FiraSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans SemiBold Italic",
+ "postscriptName": "FiraSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Medium Italic",
+ "postscriptName": "FiraSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Light Italic",
+ "postscriptName": "FiraSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans ExtraLight Italic",
+ "postscriptName": "FiraSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Fira Sans",
+ "fullName": "Fira Sans Thin Italic",
+ "postscriptName": "FiraSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ }
+ }
+ },
+ "firaSansCondensed": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Regular",
+ "postscriptName": "FiraSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Thin",
+ "postscriptName": "FiraSansCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "200": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed ExtraLight",
+ "postscriptName": "FiraSansCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Light",
+ "postscriptName": "FiraSansCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Medium",
+ "postscriptName": "FiraSansCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed SemiBold",
+ "postscriptName": "FiraSansCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Bold",
+ "postscriptName": "FiraSansCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "800": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed ExtraBold",
+ "postscriptName": "FiraSansCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "900": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Black",
+ "postscriptName": "FiraSansCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Regular",
+ "postscriptName": "FiraSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Italic",
+ "postscriptName": "FiraSansCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Black Italic",
+ "postscriptName": "FiraSansCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed ExtraBold Italic",
+ "postscriptName": "FiraSansCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 694,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Bold Italic",
+ "postscriptName": "FiraSansCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed SemiBold Italic",
+ "postscriptName": "FiraSansCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Medium Italic",
+ "postscriptName": "FiraSansCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Light Italic",
+ "postscriptName": "FiraSansCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed ExtraLight Italic",
+ "postscriptName": "FiraSansCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Fira Sans Condensed",
+ "fullName": "Fira Sans Condensed Thin Italic",
+ "postscriptName": "FiraSansCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ }
+ }
+ },
+ "firaSansExtraCondensed": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Regular",
+ "postscriptName": "FiraSansExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Thin",
+ "postscriptName": "FiraSansExtraCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "200": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed ExtraLight",
+ "postscriptName": "FiraSansExtraCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Light",
+ "postscriptName": "FiraSansExtraCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Medium",
+ "postscriptName": "FiraSansExtraCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed SemiBold",
+ "postscriptName": "FiraSansExtraCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Bold",
+ "postscriptName": "FiraSansExtraCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "800": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed ExtraBold",
+ "postscriptName": "FiraSansExtraCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "900": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Black",
+ "postscriptName": "FiraSansExtraCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Regular",
+ "postscriptName": "FiraSansExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Italic",
+ "postscriptName": "FiraSansExtraCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 689,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Black Italic",
+ "postscriptName": "FiraSansExtraCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 696,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed ExtraBold Italic",
+ "postscriptName": "FiraSansExtraCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Bold Italic",
+ "postscriptName": "FiraSansExtraCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed SemiBold Italic",
+ "postscriptName": "FiraSansExtraCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Medium Italic",
+ "postscriptName": "FiraSansExtraCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 691,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Light Italic",
+ "postscriptName": "FiraSansExtraCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed ExtraLight Italic",
+ "postscriptName": "FiraSansExtraCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 664
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Fira Sans Extra Condensed",
+ "fullName": "Fira Sans Extra Condensed Thin Italic",
+ "postscriptName": "FiraSansExtraCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 681,
+ "ascent": 935,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ }
+ }
+ },
+ "fjallaOne": {
+ "familyName": "Fjalla One",
+ "fullName": "Fjalla One Regular",
+ "postscriptName": "FjallaOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1708,
+ "ascent": 2066,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1377,
+ "xWidthAvg": 798,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 798
+ },
+ "thai": {
+ "xWidthAvg": 1316
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fjalla One",
+ "fullName": "Fjalla One Regular",
+ "postscriptName": "FjallaOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1708,
+ "ascent": 2066,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1377,
+ "xWidthAvg": 798,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 798
+ },
+ "thai": {
+ "xWidthAvg": 1316
+ }
+ }
+ }
+ }
+ },
+ "fjordOne": {
+ "familyName": "Fjord One",
+ "fullName": "Fjord One",
+ "postscriptName": "Fjord-One",
+ "category": "serif",
+ "capHeight": 1448,
+ "ascent": 1940,
+ "descent": -620,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 919,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 919
+ },
+ "thai": {
+ "xWidthAvg": 1583
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fjord One",
+ "fullName": "Fjord One",
+ "postscriptName": "Fjord-One",
+ "category": "serif",
+ "capHeight": 1448,
+ "ascent": 1940,
+ "descent": -620,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 919,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 919
+ },
+ "thai": {
+ "xWidthAvg": 1583
+ }
+ }
+ }
+ }
+ },
+ "flamenco": {
+ "familyName": "Flamenco",
+ "fullName": "Flamenco Regular",
+ "postscriptName": "Flamenco-Regular",
+ "category": "display",
+ "capHeight": 608,
+ "ascent": 800,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 385,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Flamenco",
+ "fullName": "Flamenco Light",
+ "postscriptName": "Flamenco-Light",
+ "category": "display",
+ "capHeight": 608,
+ "ascent": 801,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 379,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Flamenco",
+ "fullName": "Flamenco Regular",
+ "postscriptName": "Flamenco-Regular",
+ "category": "display",
+ "capHeight": 608,
+ "ascent": 800,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 385,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "flavors": {
+ "familyName": "Flavors",
+ "fullName": "Flavors Regular",
+ "postscriptName": "Flavors-Regular",
+ "category": "display",
+ "capHeight": 801,
+ "ascent": 1015,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 845,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Flavors",
+ "fullName": "Flavors Regular",
+ "postscriptName": "Flavors-Regular",
+ "category": "display",
+ "capHeight": 801,
+ "ascent": 1015,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 845,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ }
+ }
+ }
+ },
+ "fleurDeLeah": {
+ "familyName": "Fleur De Leah",
+ "fullName": "Fleur De Leah Regular",
+ "postscriptName": "FleurDeLeah-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 920,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 324,
+ "xWidthAvg": 317,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 317
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fleur De Leah",
+ "fullName": "Fleur De Leah Regular",
+ "postscriptName": "FleurDeLeah-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 920,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 324,
+ "xWidthAvg": 317,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 317
+ },
+ "thai": {
+ "xWidthAvg": 429
+ }
+ }
+ }
+ }
+ },
+ "flowBlock": {
+ "familyName": "Flow Block",
+ "fullName": "Flow Block Regular",
+ "postscriptName": "FlowBlock-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Flow Block",
+ "fullName": "Flow Block Regular",
+ "postscriptName": "FlowBlock-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ }
+ }
+ },
+ "flowCircular": {
+ "familyName": "Flow Circular",
+ "fullName": "Flow Circular Regular",
+ "postscriptName": "FlowCircular-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Flow Circular",
+ "fullName": "Flow Circular Regular",
+ "postscriptName": "FlowCircular-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ }
+ }
+ },
+ "flowRounded": {
+ "familyName": "Flow Rounded",
+ "fullName": "Flow Rounded Regular",
+ "postscriptName": "FlowRounded-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Flow Rounded",
+ "fullName": "Flow Rounded Regular",
+ "postscriptName": "FlowRounded-Regular",
+ "category": "display",
+ "capHeight": 640,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ }
+ }
+ },
+ "foldit": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Regular",
+ "postscriptName": "Foldit-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Thin",
+ "postscriptName": "Foldit-Thin",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 176,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 176
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "200": {
+ "familyName": "Foldit",
+ "fullName": "Foldit ExtraLight",
+ "postscriptName": "Foldit-ExtraLight",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 202
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "300": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Light",
+ "postscriptName": "Foldit-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 252,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 252
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "500": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Medium",
+ "postscriptName": "Foldit-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "600": {
+ "familyName": "Foldit",
+ "fullName": "Foldit SemiBold",
+ "postscriptName": "Foldit-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "700": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Bold",
+ "postscriptName": "Foldit-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "800": {
+ "familyName": "Foldit",
+ "fullName": "Foldit ExtraBold",
+ "postscriptName": "Foldit-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 622,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 622
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "900": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Black",
+ "postscriptName": "Foldit-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 716,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 716
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Foldit",
+ "fullName": "Foldit Regular",
+ "postscriptName": "Foldit-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ }
+ }
+ },
+ "fondamento": {
+ "familyName": "Fondamento",
+ "fullName": "Fondamento Regular",
+ "postscriptName": "Fondamento-Regular",
+ "category": "handwriting",
+ "capHeight": 1439,
+ "ascent": 2060,
+ "descent": -774,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 953,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fondamento",
+ "fullName": "Fondamento Regular",
+ "postscriptName": "Fondamento-Regular",
+ "category": "handwriting",
+ "capHeight": 1439,
+ "ascent": 2060,
+ "descent": -774,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 953,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fondamento",
+ "fullName": "Fondamento-Italic",
+ "postscriptName": "Fondamento-Italic",
+ "category": "handwriting",
+ "capHeight": 1439,
+ "ascent": 2060,
+ "descent": -774,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 953,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "fontdinerSwanky": {
+ "familyName": "Fontdiner Swanky",
+ "fullName": "Fontdiner Swanky Regular",
+ "postscriptName": "FontdinerSwanky-Regular",
+ "category": "display",
+ "capHeight": 805,
+ "ascent": 1047,
+ "descent": -510,
+ "lineGap": 20,
+ "unitsPerEm": 1024,
+ "xHeight": 579,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fontdiner Swanky",
+ "fullName": "Fontdiner Swanky Regular",
+ "postscriptName": "FontdinerSwanky-Regular",
+ "category": "display",
+ "capHeight": 805,
+ "ascent": 1047,
+ "descent": -510,
+ "lineGap": 20,
+ "unitsPerEm": 1024,
+ "xHeight": 579,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ }
+ }
+ }
+ },
+ "forum": {
+ "familyName": "Forum",
+ "fullName": "Forum",
+ "postscriptName": "Forum",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 856,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Forum",
+ "fullName": "Forum",
+ "postscriptName": "Forum",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 856,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ }
+ }
+ },
+ "fragmentMono": {
+ "familyName": "Fragment Mono",
+ "fullName": "Fragment Mono Regular",
+ "postscriptName": "FragmentMono-Regular",
+ "category": "monospace",
+ "capHeight": 699,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fragment Mono",
+ "fullName": "Fragment Mono Regular",
+ "postscriptName": "FragmentMono-Regular",
+ "category": "monospace",
+ "capHeight": 699,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fragment Mono",
+ "fullName": "Fragment Mono Italic",
+ "postscriptName": "FragmentMono-Italic",
+ "category": "monospace",
+ "capHeight": 699,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 618
+ }
+ }
+ }
+ }
+ },
+ "francoisOne": {
+ "familyName": "Francois One",
+ "fullName": "Francois One Regular",
+ "postscriptName": "FrancoisOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1089,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Francois One",
+ "fullName": "Francois One Regular",
+ "postscriptName": "FrancoisOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1089,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "frankRuhlLibre": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Regular",
+ "postscriptName": "FrankRuhlLibre-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Light",
+ "postscriptName": "FrankRuhlLibre-Light",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "500": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Medium",
+ "postscriptName": "FrankRuhlLibre-Medium",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "600": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre SemiBold",
+ "postscriptName": "FrankRuhlLibre-SemiBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "700": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Bold",
+ "postscriptName": "FrankRuhlLibre-Bold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "800": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre ExtraBold",
+ "postscriptName": "FrankRuhlLibre-ExtraBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "900": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Black",
+ "postscriptName": "FrankRuhlLibre-Black",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Frank Ruhl Libre",
+ "fullName": "Frank Ruhl Libre Regular",
+ "postscriptName": "FrankRuhlLibre-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 957,
+ "descent": -334,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 778
+ }
+ }
+ }
+ }
+ },
+ "fraunces": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Regular",
+ "postscriptName": "Fraunces-Regular",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 938,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 938
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Thin",
+ "postscriptName": "Fraunces-Thin",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces ExtraLight",
+ "postscriptName": "Fraunces-ExtraLight",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Light",
+ "postscriptName": "Fraunces-Light",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 907,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 907
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Medium",
+ "postscriptName": "Fraunces-Medium",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces SemiBold",
+ "postscriptName": "Fraunces-SemiBold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Bold",
+ "postscriptName": "Fraunces-Bold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces ExtraBold",
+ "postscriptName": "Fraunces-ExtraBold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 1016,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1016
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Black",
+ "postscriptName": "Fraunces-Black",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 1032,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1032
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Regular",
+ "postscriptName": "Fraunces-Regular",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 938,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 938
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Italic",
+ "postscriptName": "Fraunces-Italic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 896,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 896
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Black Italic",
+ "postscriptName": "Fraunces-BlackItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 1019,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1019
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces ExtraBold Italic",
+ "postscriptName": "Fraunces-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Bold Italic",
+ "postscriptName": "Fraunces-BoldItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces SemiBold Italic",
+ "postscriptName": "Fraunces-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Medium Italic",
+ "postscriptName": "Fraunces-MediumItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Light Italic",
+ "postscriptName": "Fraunces-LightItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces ExtraLight Italic",
+ "postscriptName": "Fraunces-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 835,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 835
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Fraunces",
+ "fullName": "Fraunces Thin Italic",
+ "postscriptName": "Fraunces-ThinItalic",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1956,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 814,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 814
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "freckleFace": {
+ "familyName": "Freckle Face",
+ "fullName": "Freckle Face",
+ "postscriptName": "FreckleFace-Regular",
+ "category": "display",
+ "capHeight": 1563,
+ "ascent": 1946,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1147,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Freckle Face",
+ "fullName": "Freckle Face",
+ "postscriptName": "FreckleFace-Regular",
+ "category": "display",
+ "capHeight": 1563,
+ "ascent": 1946,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1147,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ }
+ }
+ }
+ },
+ "frederickaTheGreat": {
+ "familyName": "Fredericka the Great",
+ "fullName": "Fredericka the Great",
+ "postscriptName": "FrederickatheGreat-Regular",
+ "category": "display",
+ "capHeight": 772,
+ "ascent": 1001,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 519,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 372
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fredericka the Great",
+ "fullName": "Fredericka the Great",
+ "postscriptName": "FrederickatheGreat-Regular",
+ "category": "display",
+ "capHeight": 772,
+ "ascent": 1001,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 519,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 372
+ }
+ }
+ }
+ }
+ },
+ "fredoka": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka Regular",
+ "postscriptName": "Fredoka-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka Light",
+ "postscriptName": "Fredoka-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka Medium",
+ "postscriptName": "Fredoka-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka SemiBold",
+ "postscriptName": "Fredoka-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka Bold",
+ "postscriptName": "Fredoka-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fredoka",
+ "fullName": "Fredoka Regular",
+ "postscriptName": "Fredoka-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 974,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ }
+ }
+ },
+ "freehand": {
+ "familyName": "Freehand",
+ "fullName": "Freehand Regular",
+ "postscriptName": "Freehand-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Freehand",
+ "fullName": "Freehand Regular",
+ "postscriptName": "Freehand-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "freeman": {
+ "familyName": "Freeman",
+ "fullName": "Freeman Regular",
+ "postscriptName": "Freeman-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 564,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Freeman",
+ "fullName": "Freeman Regular",
+ "postscriptName": "Freeman-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 564,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ }
+ }
+ },
+ "fresca": {
+ "familyName": "Fresca",
+ "fullName": "Fresca-Regular",
+ "postscriptName": "Fresca-Regular",
+ "category": "sans-serif",
+ "capHeight": 648,
+ "ascent": 869,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fresca",
+ "fullName": "Fresca-Regular",
+ "postscriptName": "Fresca-Regular",
+ "category": "sans-serif",
+ "capHeight": 648,
+ "ascent": 869,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ }
+ }
+ }
+ },
+ "frijole": {
+ "familyName": "Frijole",
+ "fullName": "Frijole",
+ "postscriptName": "Frijole",
+ "category": "display",
+ "capHeight": 788,
+ "ascent": 1075,
+ "descent": -337,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 712,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Frijole",
+ "fullName": "Frijole",
+ "postscriptName": "Frijole",
+ "category": "display",
+ "capHeight": 788,
+ "ascent": 1075,
+ "descent": -337,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 712,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ }
+ }
+ },
+ "fruktur": {
+ "familyName": "Fruktur",
+ "fullName": "Fruktur Regular",
+ "postscriptName": "Fruktur-Regular",
+ "category": "display",
+ "capHeight": 1529,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1182,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1703
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fruktur",
+ "fullName": "Fruktur Regular",
+ "postscriptName": "Fruktur-Regular",
+ "category": "display",
+ "capHeight": 1529,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1182,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1703
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Fruktur",
+ "fullName": "Fruktur Italic",
+ "postscriptName": "Fruktur-Italic",
+ "category": "display",
+ "capHeight": 1529,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1182,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 1703
+ }
+ }
+ }
+ }
+ },
+ "fugazOne": {
+ "familyName": "Fugaz One",
+ "fullName": "Fugaz One",
+ "postscriptName": "FugazOne-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1046,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fugaz One",
+ "fullName": "Fugaz One",
+ "postscriptName": "FugazOne-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1046,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ }
+ }
+ },
+ "fuggles": {
+ "familyName": "Fuggles",
+ "fullName": "Fuggles Regular",
+ "postscriptName": "Fuggles-Regular",
+ "category": "handwriting",
+ "capHeight": 667,
+ "ascent": 850,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 234,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 234
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Fuggles",
+ "fullName": "Fuggles Regular",
+ "postscriptName": "Fuggles-Regular",
+ "category": "handwriting",
+ "capHeight": 667,
+ "ascent": 850,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 234,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 234
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "funnelDisplay": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display Regular",
+ "postscriptName": "FunnelDisplay-Regular",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display Light",
+ "postscriptName": "FunnelDisplay-Light",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 565,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 565
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display Medium",
+ "postscriptName": "FunnelDisplay-Medium",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 577,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 577
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display SemiBold",
+ "postscriptName": "FunnelDisplay-SemiBold",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display Bold",
+ "postscriptName": "FunnelDisplay-Bold",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 585,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 585
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "800": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display ExtraBold",
+ "postscriptName": "FunnelDisplay-ExtraBold",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 589,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 589
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Funnel Display",
+ "fullName": "Funnel Display Regular",
+ "postscriptName": "FunnelDisplay-Regular",
+ "category": "display",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "funnelSans": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Regular",
+ "postscriptName": "FunnelSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Light",
+ "postscriptName": "FunnelSans-Light",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Medium",
+ "postscriptName": "FunnelSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans SemiBold",
+ "postscriptName": "FunnelSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Bold",
+ "postscriptName": "FunnelSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 551,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 551
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "800": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans ExtraBold",
+ "postscriptName": "FunnelSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Regular",
+ "postscriptName": "FunnelSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Italic",
+ "postscriptName": "FunnelSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans ExtraBold Italic",
+ "postscriptName": "FunnelSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Bold Italic",
+ "postscriptName": "FunnelSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 551,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 551
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans SemiBold Italic",
+ "postscriptName": "FunnelSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Medium Italic",
+ "postscriptName": "FunnelSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Funnel Sans",
+ "fullName": "Funnel Sans Light Italic",
+ "postscriptName": "FunnelSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1200,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1200,
+ "xHeight": 600,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "fustat": {
+ "familyName": "Fustat",
+ "fullName": "Fustat Regular",
+ "postscriptName": "Fustat-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Fustat",
+ "fullName": "Fustat ExtraLight",
+ "postscriptName": "Fustat-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "300": {
+ "familyName": "Fustat",
+ "fullName": "Fustat Light",
+ "postscriptName": "Fustat-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 678
+ }
+ }
+ },
+ "500": {
+ "familyName": "Fustat",
+ "fullName": "Fustat Medium",
+ "postscriptName": "Fustat-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "600": {
+ "familyName": "Fustat",
+ "fullName": "Fustat SemiBold",
+ "postscriptName": "Fustat-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "700": {
+ "familyName": "Fustat",
+ "fullName": "Fustat Bold",
+ "postscriptName": "Fustat-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 647
+ }
+ }
+ },
+ "800": {
+ "familyName": "Fustat",
+ "fullName": "Fustat ExtraBold",
+ "postscriptName": "Fustat-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fustat",
+ "fullName": "Fustat Regular",
+ "postscriptName": "Fustat-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ }
+ }
+ },
+ "fuzzyBubbles": {
+ "familyName": "Fuzzy Bubbles",
+ "fullName": "Fuzzy Bubbles Regular",
+ "postscriptName": "FuzzyBubbles-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Fuzzy Bubbles",
+ "fullName": "Fuzzy Bubbles Bold",
+ "postscriptName": "FuzzyBubbles-Bold",
+ "category": "handwriting",
+ "capHeight": 680,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Fuzzy Bubbles",
+ "fullName": "Fuzzy Bubbles Regular",
+ "postscriptName": "FuzzyBubbles-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "gFSDidot": {
+ "familyName": "GFS Didot",
+ "fullName": "GFS Didot Regular",
+ "postscriptName": "GFSDidot-Regular",
+ "category": "serif",
+ "capHeight": 689,
+ "ascent": 947,
+ "descent": -277,
+ "lineGap": 25,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "GFS Didot",
+ "fullName": "GFS Didot Regular",
+ "postscriptName": "GFSDidot-Regular",
+ "category": "serif",
+ "capHeight": 689,
+ "ascent": 947,
+ "descent": -277,
+ "lineGap": 25,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ }
+ }
+ },
+ "gFSNeohellenic": {
+ "familyName": "GFS Neohellenic",
+ "fullName": "GFS Neohellenic Regular",
+ "postscriptName": "GFSNeohellenic-Regular",
+ "category": "sans-serif",
+ "capHeight": 623,
+ "ascent": 873,
+ "descent": -245,
+ "lineGap": 24,
+ "unitsPerEm": 1000,
+ "xHeight": 387,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "GFS Neohellenic",
+ "fullName": "GFS Neohellenic Bold",
+ "postscriptName": "GFSNeohellenic-Bold",
+ "category": "sans-serif",
+ "capHeight": 623,
+ "ascent": 871,
+ "descent": -264,
+ "lineGap": 22,
+ "unitsPerEm": 1000,
+ "xHeight": 388,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 398
+ }
+ }
+ },
+ "regular": {
+ "familyName": "GFS Neohellenic",
+ "fullName": "GFS Neohellenic Regular",
+ "postscriptName": "GFSNeohellenic-Regular",
+ "category": "sans-serif",
+ "capHeight": 623,
+ "ascent": 873,
+ "descent": -245,
+ "lineGap": 24,
+ "unitsPerEm": 1000,
+ "xHeight": 387,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "GFS Neohellenic",
+ "fullName": "GFS Neohellenic Italic",
+ "postscriptName": "GFSNeohellenic-Italic",
+ "category": "sans-serif",
+ "capHeight": 623,
+ "ascent": 877,
+ "descent": -242,
+ "lineGap": 24,
+ "unitsPerEm": 1000,
+ "xHeight": 388,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "GFS Neohellenic",
+ "fullName": "GFS Neohellenic Bold Italic",
+ "postscriptName": "GFSNeohellenic-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 872,
+ "descent": -264,
+ "lineGap": 23,
+ "unitsPerEm": 1000,
+ "xHeight": 388,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "gaMaamli": {
+ "familyName": "Ga Maamli",
+ "fullName": "Ga Maamli Regular",
+ "postscriptName": "GaMaamli-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 812
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ga Maamli",
+ "fullName": "Ga Maamli Regular",
+ "postscriptName": "GaMaamli-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 812
+ }
+ }
+ }
+ }
+ },
+ "gabarito": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito Regular",
+ "postscriptName": "Gabarito-Regular",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito Medium",
+ "postscriptName": "Gabarito-Medium",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito SemiBold",
+ "postscriptName": "Gabarito-SemiBold",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito Bold",
+ "postscriptName": "Gabarito-Bold",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ },
+ "800": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito ExtraBold",
+ "postscriptName": "Gabarito-ExtraBold",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ },
+ "900": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito Black",
+ "postscriptName": "Gabarito-Black",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gabarito",
+ "fullName": "Gabarito Regular",
+ "postscriptName": "Gabarito-Regular",
+ "category": "display",
+ "capHeight": 681,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 834
+ }
+ }
+ }
+ }
+ },
+ "gabriela": {
+ "familyName": "Gabriela",
+ "fullName": "Gabriela Regular",
+ "postscriptName": "Gabriela-Regular",
+ "category": "serif",
+ "capHeight": 718,
+ "ascent": 986,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gabriela",
+ "fullName": "Gabriela Regular",
+ "postscriptName": "Gabriela-Regular",
+ "category": "serif",
+ "capHeight": 718,
+ "ascent": 986,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "gaegu": {
+ "familyName": "Gaegu",
+ "fullName": "Gaegu Regular",
+ "postscriptName": "Gaegu-Regular",
+ "category": "handwriting",
+ "capHeight": 525,
+ "ascent": 760,
+ "descent": -240,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 340,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Gaegu",
+ "fullName": "Gaegu Light",
+ "postscriptName": "Gaegu-Light",
+ "category": "handwriting",
+ "capHeight": 525,
+ "ascent": 760,
+ "descent": -240,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gaegu",
+ "fullName": "Gaegu Bold",
+ "postscriptName": "Gaegu-Bold",
+ "category": "handwriting",
+ "capHeight": 525,
+ "ascent": 760,
+ "descent": -240,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 340,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gaegu",
+ "fullName": "Gaegu Regular",
+ "postscriptName": "Gaegu-Regular",
+ "category": "handwriting",
+ "capHeight": 525,
+ "ascent": 760,
+ "descent": -240,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 340,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "gafata": {
+ "familyName": "Gafata",
+ "fullName": "Gafata",
+ "postscriptName": "Gafata-Regular",
+ "category": "sans-serif",
+ "capHeight": 648,
+ "ascent": 921,
+ "descent": -202,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gafata",
+ "fullName": "Gafata",
+ "postscriptName": "Gafata-Regular",
+ "category": "sans-serif",
+ "capHeight": 648,
+ "ascent": 921,
+ "descent": -202,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "gajrajOne": {
+ "familyName": "Gajraj One",
+ "fullName": "Gajraj One Regular",
+ "postscriptName": "GajrajOne-Regular",
+ "category": "display",
+ "capHeight": 665,
+ "ascent": 1065,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 565,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 565
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gajraj One",
+ "fullName": "Gajraj One Regular",
+ "postscriptName": "GajrajOne-Regular",
+ "category": "display",
+ "capHeight": 665,
+ "ascent": 1065,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 565,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 565
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "galada": {
+ "familyName": "Galada",
+ "fullName": "Galada Regular",
+ "postscriptName": "Galada-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1035,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Galada",
+ "fullName": "Galada Regular",
+ "postscriptName": "Galada-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1035,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ }
+ }
+ },
+ "galdeano": {
+ "familyName": "Galdeano",
+ "fullName": "Galdeano Regular",
+ "postscriptName": "Galdeano-Regular",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 820,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 166,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Galdeano",
+ "fullName": "Galdeano Regular",
+ "postscriptName": "Galdeano-Regular",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 820,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 166,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "galindo": {
+ "familyName": "Galindo",
+ "fullName": "Galindo",
+ "postscriptName": "Galindo-Regular",
+ "category": "display",
+ "capHeight": 1505,
+ "ascent": 2014,
+ "descent": -883,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1085,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1085
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Galindo",
+ "fullName": "Galindo",
+ "postscriptName": "Galindo-Regular",
+ "category": "display",
+ "capHeight": 1505,
+ "ascent": 2014,
+ "descent": -883,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1085,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1085
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "gamjaFlower": {
+ "familyName": "Gamja Flower",
+ "fullName": "Gamja Flower Regular",
+ "postscriptName": "GamjaFlower-Regular",
+ "category": "handwriting",
+ "capHeight": 526,
+ "ascent": 800,
+ "descent": -224,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 311,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gamja Flower",
+ "fullName": "Gamja Flower Regular",
+ "postscriptName": "GamjaFlower-Regular",
+ "category": "handwriting",
+ "capHeight": 526,
+ "ascent": 800,
+ "descent": -224,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 311,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "gantari": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Regular",
+ "postscriptName": "Gantari-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Thin",
+ "postscriptName": "Gantari-Thin",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "200": {
+ "familyName": "Gantari",
+ "fullName": "Gantari ExtraLight",
+ "postscriptName": "Gantari-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "300": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Light",
+ "postscriptName": "Gantari-Light",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "500": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Medium",
+ "postscriptName": "Gantari-Medium",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gantari",
+ "fullName": "Gantari SemiBold",
+ "postscriptName": "Gantari-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Bold",
+ "postscriptName": "Gantari-Bold",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "800": {
+ "familyName": "Gantari",
+ "fullName": "Gantari ExtraBold",
+ "postscriptName": "Gantari-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "900": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Black",
+ "postscriptName": "Gantari-Black",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Regular",
+ "postscriptName": "Gantari-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Italic",
+ "postscriptName": "Gantari-Italic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Black Italic",
+ "postscriptName": "Gantari-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari ExtraBold Italic",
+ "postscriptName": "Gantari-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Bold Italic",
+ "postscriptName": "Gantari-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari SemiBold Italic",
+ "postscriptName": "Gantari-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Medium Italic",
+ "postscriptName": "Gantari-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Light Italic",
+ "postscriptName": "Gantari-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari ExtraLight Italic",
+ "postscriptName": "Gantari-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Gantari",
+ "fullName": "Gantari Thin Italic",
+ "postscriptName": "Gantari-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ }
+ }
+ },
+ "gasoekOne": {
+ "familyName": "Gasoek One",
+ "fullName": "Gasoek One Regular",
+ "postscriptName": "GasoekOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 770,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gasoek One",
+ "fullName": "Gasoek One Regular",
+ "postscriptName": "GasoekOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 770,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 620,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "gayathri": {
+ "familyName": "Gayathri",
+ "fullName": "Gayathri Regular",
+ "postscriptName": "Gayathri-Regular",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Gayathri",
+ "fullName": "Gayathri Thin",
+ "postscriptName": "Gayathri-Thin",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 867,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 867
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gayathri",
+ "fullName": "Gayathri Bold",
+ "postscriptName": "Gayathri-Bold",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gayathri",
+ "fullName": "Gayathri Regular",
+ "postscriptName": "Gayathri-Regular",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ }
+ }
+ },
+ "geist": {
+ "familyName": "Geist",
+ "fullName": "Geist Regular",
+ "postscriptName": "Geist-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Geist",
+ "fullName": "Geist Thin",
+ "postscriptName": "Geist-Thin",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "200": {
+ "familyName": "Geist",
+ "fullName": "Geist ExtraLight",
+ "postscriptName": "Geist-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "300": {
+ "familyName": "Geist",
+ "fullName": "Geist Light",
+ "postscriptName": "Geist-Light",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ }
+ },
+ "500": {
+ "familyName": "Geist",
+ "fullName": "Geist Medium",
+ "postscriptName": "Geist-Medium",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Geist",
+ "fullName": "Geist SemiBold",
+ "postscriptName": "Geist-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Geist",
+ "fullName": "Geist Bold",
+ "postscriptName": "Geist-Bold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Geist",
+ "fullName": "Geist ExtraBold",
+ "postscriptName": "Geist-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Geist",
+ "fullName": "Geist Black",
+ "postscriptName": "Geist-Black",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Geist",
+ "fullName": "Geist Regular",
+ "postscriptName": "Geist-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "geistMono": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Regular",
+ "postscriptName": "GeistMono-Regular",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Thin",
+ "postscriptName": "GeistMono-Thin",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono ExtraLight",
+ "postscriptName": "GeistMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Light",
+ "postscriptName": "GeistMono-Light",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Medium",
+ "postscriptName": "GeistMono-Medium",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono SemiBold",
+ "postscriptName": "GeistMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Bold",
+ "postscriptName": "GeistMono-Bold",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono ExtraBold",
+ "postscriptName": "GeistMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Black",
+ "postscriptName": "GeistMono-Black",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Geist Mono",
+ "fullName": "Geist Mono Regular",
+ "postscriptName": "GeistMono-Regular",
+ "category": "monospace",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "gelasio": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Regular",
+ "postscriptName": "Gelasio-Regular",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Medium",
+ "postscriptName": "Gelasio-Medium",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 988,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio SemiBold",
+ "postscriptName": "Gelasio-SemiBold",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 992,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Bold",
+ "postscriptName": "Gelasio-Bold",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 994,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Regular",
+ "postscriptName": "Gelasio-Regular",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Italic",
+ "postscriptName": "Gelasio-Italic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Bold Italic",
+ "postscriptName": "Gelasio-BoldItalic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 994,
+ "xWidthAvg": 1082,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1082
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio SemiBold Italic",
+ "postscriptName": "Gelasio-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 992,
+ "xWidthAvg": 1036,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1036
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Gelasio",
+ "fullName": "Gelasio Medium Italic",
+ "postscriptName": "Gelasio-MediumItalic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1900,
+ "descent": -700,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 988,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "gemunuLibre": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre Regular",
+ "postscriptName": "GemunuLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre ExtraLight",
+ "postscriptName": "GemunuLibre-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "300": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre Light",
+ "postscriptName": "GemunuLibre-Light",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "500": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre Medium",
+ "postscriptName": "GemunuLibre-Medium",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre SemiBold",
+ "postscriptName": "GemunuLibre-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre Bold",
+ "postscriptName": "GemunuLibre-Bold",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "800": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre ExtraBold",
+ "postscriptName": "GemunuLibre-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gemunu Libre",
+ "fullName": "Gemunu Libre Regular",
+ "postscriptName": "GemunuLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 884,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ }
+ }
+ },
+ "genos": {
+ "familyName": "Genos",
+ "fullName": "Genos Regular",
+ "postscriptName": "Genos-Regular",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Genos",
+ "fullName": "Genos Thin",
+ "postscriptName": "Genos-Thin",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Genos",
+ "fullName": "Genos ExtraLight",
+ "postscriptName": "Genos-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Genos",
+ "fullName": "Genos Light",
+ "postscriptName": "Genos-Light",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Genos",
+ "fullName": "Genos Medium",
+ "postscriptName": "Genos-Medium",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Genos",
+ "fullName": "Genos SemiBold",
+ "postscriptName": "Genos-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Genos",
+ "fullName": "Genos Bold",
+ "postscriptName": "Genos-Bold",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Genos",
+ "fullName": "Genos ExtraBold",
+ "postscriptName": "Genos-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Genos",
+ "fullName": "Genos Black",
+ "postscriptName": "Genos-Black",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Genos",
+ "fullName": "Genos Regular",
+ "postscriptName": "Genos-Regular",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Italic",
+ "postscriptName": "Genos-Italic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 275
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Black Italic",
+ "postscriptName": "Genos-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 363
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Genos",
+ "fullName": "Genos ExtraBold Italic",
+ "postscriptName": "Genos-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 345
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Bold Italic",
+ "postscriptName": "Genos-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Genos",
+ "fullName": "Genos SemiBold Italic",
+ "postscriptName": "Genos-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 308
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Medium Italic",
+ "postscriptName": "Genos-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Light Italic",
+ "postscriptName": "Genos-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 261
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Genos",
+ "fullName": "Genos ExtraLight Italic",
+ "postscriptName": "Genos-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Genos",
+ "fullName": "Genos Thin Italic",
+ "postscriptName": "Genos-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 460,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 244
+ }
+ }
+ }
+ }
+ },
+ "gentiumBookPlus": {
+ "familyName": "Gentium Book Plus",
+ "fullName": "Gentium Book Plus",
+ "postscriptName": "GentiumBookPlus",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gentium Book Plus",
+ "fullName": "Gentium Book Plus Bold",
+ "postscriptName": "GentiumBookPlus-Bold",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gentium Book Plus",
+ "fullName": "Gentium Book Plus",
+ "postscriptName": "GentiumBookPlus",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Gentium Book Plus",
+ "fullName": "Gentium Book Plus Italic",
+ "postscriptName": "GentiumBookPlus-Italic",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 778,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 778
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Gentium Book Plus",
+ "fullName": "Gentium Book Plus Bold Italic",
+ "postscriptName": "GentiumBookPlus-BoldItalic",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "gentiumPlus": {
+ "familyName": "Gentium Plus",
+ "fullName": "Gentium Plus",
+ "postscriptName": "GentiumPlus",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 846,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 846
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gentium Plus",
+ "fullName": "Gentium Plus Bold",
+ "postscriptName": "GentiumPlus-Bold",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gentium Plus",
+ "fullName": "Gentium Plus",
+ "postscriptName": "GentiumPlus",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 846,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 846
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Gentium Plus",
+ "fullName": "Gentium Plus Italic",
+ "postscriptName": "GentiumPlus-Italic",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 759,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 759
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Gentium Plus",
+ "fullName": "Gentium Plus Bold Italic",
+ "postscriptName": "GentiumPlus-BoldItalic",
+ "category": "serif",
+ "capHeight": 1260,
+ "ascent": 2250,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 817,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 817
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "geo": {
+ "familyName": "Geo",
+ "fullName": "Geo",
+ "postscriptName": "Geo-Regular",
+ "category": "sans-serif",
+ "capHeight": 573,
+ "ascent": 821,
+ "descent": -225,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xHeight": 451,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Geo",
+ "fullName": "Geo",
+ "postscriptName": "Geo-Regular",
+ "category": "sans-serif",
+ "capHeight": 573,
+ "ascent": 821,
+ "descent": -225,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xHeight": 451,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Geo",
+ "fullName": "Geo Oblique",
+ "postscriptName": "Geo-Oblique",
+ "category": "sans-serif",
+ "capHeight": 573,
+ "ascent": 821,
+ "descent": -225,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xHeight": 451,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "geologica": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Regular",
+ "postscriptName": "GeologicaRoman-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 990,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 1278
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Thin",
+ "postscriptName": "GeologicaRoman-Thin",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 960,
+ "xWidthAvg": 922,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 922
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "200": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman ExtraLight",
+ "postscriptName": "GeologicaRoman-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 970,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1247
+ }
+ }
+ },
+ "300": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Light",
+ "postscriptName": "GeologicaRoman-Light",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 950,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 950
+ },
+ "thai": {
+ "xWidthAvg": 1263
+ }
+ }
+ },
+ "500": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Medium",
+ "postscriptName": "GeologicaRoman-Medium",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1293
+ }
+ }
+ },
+ "600": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman SemiBold",
+ "postscriptName": "GeologicaRoman-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1010,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 1308
+ }
+ }
+ },
+ "700": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Bold",
+ "postscriptName": "GeologicaRoman-Bold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1020,
+ "xWidthAvg": 1006,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1006
+ },
+ "thai": {
+ "xWidthAvg": 1324
+ }
+ }
+ },
+ "800": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman ExtraBold",
+ "postscriptName": "GeologicaRoman-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1030,
+ "xWidthAvg": 1020,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1020
+ },
+ "thai": {
+ "xWidthAvg": 1339
+ }
+ }
+ },
+ "900": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Black",
+ "postscriptName": "GeologicaRoman-Black",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1040,
+ "xWidthAvg": 1034,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1034
+ },
+ "thai": {
+ "xWidthAvg": 1354
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Geologica",
+ "fullName": "Geologica Roman Regular",
+ "postscriptName": "GeologicaRoman-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1950,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 990,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 1278
+ }
+ }
+ }
+ }
+ },
+ "georama": {
+ "familyName": "Georama",
+ "fullName": "Georama Regular",
+ "postscriptName": "Georama-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Georama",
+ "fullName": "Georama Thin",
+ "postscriptName": "Georama-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Georama",
+ "fullName": "Georama ExtraLight",
+ "postscriptName": "Georama-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Georama",
+ "fullName": "Georama Light",
+ "postscriptName": "Georama-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Georama",
+ "fullName": "Georama Medium",
+ "postscriptName": "Georama-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Georama",
+ "fullName": "Georama SemiBold",
+ "postscriptName": "Georama-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Georama",
+ "fullName": "Georama Bold",
+ "postscriptName": "Georama-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Georama",
+ "fullName": "Georama ExtraBold",
+ "postscriptName": "Georama-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Georama",
+ "fullName": "Georama Black",
+ "postscriptName": "Georama-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Georama",
+ "fullName": "Georama Regular",
+ "postscriptName": "Georama-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Italic",
+ "postscriptName": "Georama-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Black Italic",
+ "postscriptName": "Georama-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Georama",
+ "fullName": "Georama ExtraBold Italic",
+ "postscriptName": "Georama-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Bold Italic",
+ "postscriptName": "Georama-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Georama",
+ "fullName": "Georama SemiBold Italic",
+ "postscriptName": "Georama-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Medium Italic",
+ "postscriptName": "Georama-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Light Italic",
+ "postscriptName": "Georama-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Georama",
+ "fullName": "Georama ExtraLight Italic",
+ "postscriptName": "Georama-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Georama",
+ "fullName": "Georama Thin Italic",
+ "postscriptName": "Georama-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ }
+ }
+ },
+ "georgia": {
+ "familyName": "Georgia",
+ "fullName": "Georgia",
+ "postscriptName": "Georgia",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1878,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Georgia",
+ "fullName": "Georgia Bold",
+ "postscriptName": "Georgia-Bold",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1878,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 992,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Georgia",
+ "fullName": "Georgia",
+ "postscriptName": "Georgia",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1878,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Georgia",
+ "fullName": "Georgia Italic",
+ "postscriptName": "Georgia-Italic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1878,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1009,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Georgia",
+ "fullName": "Georgia Bold Italic",
+ "postscriptName": "Georgia-BoldItalic",
+ "category": "serif",
+ "capHeight": 1419,
+ "ascent": 1878,
+ "descent": -449,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1015,
+ "xWidthAvg": 1082,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1082
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "geostar": {
+ "familyName": "Geostar",
+ "fullName": "Geostar",
+ "postscriptName": "Geostar-Regular",
+ "category": "display",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Geostar",
+ "fullName": "Geostar",
+ "postscriptName": "Geostar-Regular",
+ "category": "display",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "geostarFill": {
+ "familyName": "Geostar Fill",
+ "fullName": "Geostar Fill",
+ "postscriptName": "GeostarFill-Regular",
+ "category": "display",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Geostar Fill",
+ "fullName": "Geostar Fill",
+ "postscriptName": "GeostarFill-Regular",
+ "category": "display",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -226,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "germaniaOne": {
+ "familyName": "Germania One",
+ "fullName": "Germania One",
+ "postscriptName": "GermaniaOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 911,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Germania One",
+ "fullName": "Germania One",
+ "postscriptName": "GermaniaOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 911,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "gideonRoman": {
+ "familyName": "Gideon Roman",
+ "fullName": "Gideon Roman Regular",
+ "postscriptName": "GideonRoman-Regular",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gideon Roman",
+ "fullName": "Gideon Roman Regular",
+ "postscriptName": "GideonRoman-Regular",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ }
+ }
+ },
+ "gidugu": {
+ "familyName": "Gidugu",
+ "fullName": "Gidugu",
+ "postscriptName": "Gidugu",
+ "category": "sans-serif",
+ "ascent": 1294,
+ "descent": -790,
+ "lineGap": 0,
+ "unitsPerEm": 1124,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 387
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gidugu",
+ "fullName": "Gidugu",
+ "postscriptName": "Gidugu",
+ "category": "sans-serif",
+ "ascent": 1294,
+ "descent": -790,
+ "lineGap": 0,
+ "unitsPerEm": 1124,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 387
+ }
+ }
+ }
+ }
+ },
+ "gildaDisplay": {
+ "familyName": "Gilda Display",
+ "fullName": "Gilda Display Regular",
+ "postscriptName": "GildaDisplay-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 892,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gilda Display",
+ "fullName": "Gilda Display Regular",
+ "postscriptName": "GildaDisplay-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 892,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "girassol": {
+ "familyName": "Girassol",
+ "fullName": "Girassol Regular",
+ "postscriptName": "Girassol-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 944,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Girassol",
+ "fullName": "Girassol Regular",
+ "postscriptName": "Girassol-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 944,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ }
+ }
+ },
+ "giveYouGlory": {
+ "familyName": "Give You Glory",
+ "fullName": "Give You Glory",
+ "postscriptName": "GiveYouGlory",
+ "category": "handwriting",
+ "capHeight": 747,
+ "ascent": 1020,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 551,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Give You Glory",
+ "fullName": "Give You Glory",
+ "postscriptName": "GiveYouGlory",
+ "category": "handwriting",
+ "capHeight": 747,
+ "ascent": 1020,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 551,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "glassAntiqua": {
+ "familyName": "Glass Antiqua",
+ "fullName": "Glass Antiqua",
+ "postscriptName": "GlassAntiqua-Regular",
+ "category": "display",
+ "capHeight": 638,
+ "ascent": 835,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Glass Antiqua",
+ "fullName": "Glass Antiqua",
+ "postscriptName": "GlassAntiqua-Regular",
+ "category": "display",
+ "capHeight": 638,
+ "ascent": 835,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "glegoo": {
+ "familyName": "Glegoo",
+ "fullName": "Glegoo",
+ "postscriptName": "Glegoo-Regular",
+ "category": "serif",
+ "ascent": 1267,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Glegoo",
+ "fullName": "Glegoo Bold",
+ "postscriptName": "Glegoo-Bold",
+ "category": "serif",
+ "ascent": 1267,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Glegoo",
+ "fullName": "Glegoo",
+ "postscriptName": "Glegoo-Regular",
+ "category": "serif",
+ "ascent": 1267,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ }
+ }
+ }
+ },
+ "gloock": {
+ "familyName": "Gloock",
+ "fullName": "Gloock Regular",
+ "postscriptName": "Gloock-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 975,
+ "descent": -225,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gloock",
+ "fullName": "Gloock Regular",
+ "postscriptName": "Gloock-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 975,
+ "descent": -225,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ }
+ }
+ }
+ },
+ "gloriaHallelujah": {
+ "familyName": "Gloria Hallelujah",
+ "fullName": "Gloria Hallelujah",
+ "postscriptName": "GloriaHallelujah",
+ "category": "handwriting",
+ "capHeight": 904,
+ "ascent": 1439,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 580,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gloria Hallelujah",
+ "fullName": "Gloria Hallelujah",
+ "postscriptName": "GloriaHallelujah",
+ "category": "handwriting",
+ "capHeight": 904,
+ "ascent": 1439,
+ "descent": -591,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 580,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ }
+ }
+ }
+ },
+ "glory": {
+ "familyName": "Glory",
+ "fullName": "Glory Regular",
+ "postscriptName": "Glory-Regular",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Glory",
+ "fullName": "Glory Thin",
+ "postscriptName": "Glory-Thin",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Glory",
+ "fullName": "Glory ExtraLight",
+ "postscriptName": "Glory-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Glory",
+ "fullName": "Glory Light",
+ "postscriptName": "Glory-Light",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Glory",
+ "fullName": "Glory Medium",
+ "postscriptName": "Glory-Medium",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Glory",
+ "fullName": "Glory SemiBold",
+ "postscriptName": "Glory-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Glory",
+ "fullName": "Glory Bold",
+ "postscriptName": "Glory-Bold",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Glory",
+ "fullName": "Glory ExtraBold",
+ "postscriptName": "Glory-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Glory",
+ "fullName": "Glory Regular",
+ "postscriptName": "Glory-Regular",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Glory",
+ "fullName": "Glory Italic",
+ "postscriptName": "Glory-Italic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Glory",
+ "fullName": "Glory ExtraBold Italic",
+ "postscriptName": "Glory-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Glory",
+ "fullName": "Glory Bold Italic",
+ "postscriptName": "Glory-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Glory",
+ "fullName": "Glory SemiBold Italic",
+ "postscriptName": "Glory-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Glory",
+ "fullName": "Glory Medium Italic",
+ "postscriptName": "Glory-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Glory",
+ "fullName": "Glory Light Italic",
+ "postscriptName": "Glory-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Glory",
+ "fullName": "Glory ExtraLight Italic",
+ "postscriptName": "Glory-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Glory",
+ "fullName": "Glory Thin Italic",
+ "postscriptName": "Glory-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ }
+ }
+ },
+ "gluten": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Regular",
+ "postscriptName": "Gluten-Regular",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Thin",
+ "postscriptName": "Gluten-Thin",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 893,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 893
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "200": {
+ "familyName": "Gluten",
+ "fullName": "Gluten ExtraLight",
+ "postscriptName": "Gluten-ExtraLight",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "300": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Light",
+ "postscriptName": "Gluten-Light",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 976,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 976
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "500": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Medium",
+ "postscriptName": "Gluten-Medium",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1059,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1059
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gluten",
+ "fullName": "Gluten SemiBold",
+ "postscriptName": "Gluten-SemiBold",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1100
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Bold",
+ "postscriptName": "Gluten-Bold",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1142,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1142
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "800": {
+ "familyName": "Gluten",
+ "fullName": "Gluten ExtraBold",
+ "postscriptName": "Gluten-ExtraBold",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1183,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1183
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "900": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Black",
+ "postscriptName": "Gluten-Black",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1225,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1225
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gluten",
+ "fullName": "Gluten Regular",
+ "postscriptName": "Gluten-Regular",
+ "category": "display",
+ "capHeight": 1167,
+ "ascent": 1290,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 833,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ }
+ }
+ },
+ "goblinOne": {
+ "familyName": "Goblin One",
+ "fullName": "Goblin One",
+ "postscriptName": "GoblinOne",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 1920,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1107,
+ "xWidthAvg": 1524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1524
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Goblin One",
+ "fullName": "Goblin One",
+ "postscriptName": "GoblinOne",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 1920,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1107,
+ "xWidthAvg": 1524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1524
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "gochiHand": {
+ "familyName": "Gochi Hand",
+ "fullName": "Gochi Hand",
+ "postscriptName": "GochiHand-Regular",
+ "category": "handwriting",
+ "capHeight": 975,
+ "ascent": 1579,
+ "descent": -835,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 765,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gochi Hand",
+ "fullName": "Gochi Hand",
+ "postscriptName": "GochiHand-Regular",
+ "category": "handwriting",
+ "capHeight": 975,
+ "ascent": 1579,
+ "descent": -835,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 765,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ }
+ }
+ },
+ "goldman": {
+ "familyName": "Goldman",
+ "fullName": "Goldman Regular",
+ "postscriptName": "Goldman-Regular",
+ "category": "display",
+ "capHeight": 588,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Goldman",
+ "fullName": "Goldman Bold",
+ "postscriptName": "Goldman-Bold",
+ "category": "display",
+ "capHeight": 588,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Goldman",
+ "fullName": "Goldman Regular",
+ "postscriptName": "Goldman-Regular",
+ "category": "display",
+ "capHeight": 588,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ }
+ }
+ },
+ "golosText": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text Regular",
+ "postscriptName": "GolosText-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text Medium",
+ "postscriptName": "GolosText-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text SemiBold",
+ "postscriptName": "GolosText-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text Bold",
+ "postscriptName": "GolosText-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text ExtraBold",
+ "postscriptName": "GolosText-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text Black",
+ "postscriptName": "GolosText-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Golos Text",
+ "fullName": "Golos Text Regular",
+ "postscriptName": "GolosText-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "gorditas": {
+ "familyName": "Gorditas",
+ "fullName": "Gorditas",
+ "postscriptName": "Gorditas-Regular",
+ "category": "display",
+ "capHeight": 380,
+ "ascent": 954,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 274,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 203
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gorditas",
+ "fullName": "Gorditas Bold",
+ "postscriptName": "Gorditas-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 954,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 195
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gorditas",
+ "fullName": "Gorditas",
+ "postscriptName": "Gorditas-Regular",
+ "category": "display",
+ "capHeight": 380,
+ "ascent": 954,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 274,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 203
+ }
+ }
+ }
+ }
+ },
+ "gothicA1": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Regular",
+ "postscriptName": "GothicA1-Regular",
+ "category": "sans-serif",
+ "capHeight": 749,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 538,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Thin",
+ "postscriptName": "GothicA1-Thin",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "200": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 ExtraLight",
+ "postscriptName": "GothicA1-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 721,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 513,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "300": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Light",
+ "postscriptName": "GothicA1-Light",
+ "category": "sans-serif",
+ "capHeight": 735,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 525,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "500": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Medium",
+ "postscriptName": "GothicA1-Medium",
+ "category": "sans-serif",
+ "capHeight": 763,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 551,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "600": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 SemiBold",
+ "postscriptName": "GothicA1-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 777,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 564,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Bold",
+ "postscriptName": "GothicA1-Bold",
+ "category": "sans-serif",
+ "capHeight": 791,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 577,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "800": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 ExtraBold",
+ "postscriptName": "GothicA1-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 791,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 577,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "900": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Black",
+ "postscriptName": "GothicA1-Black",
+ "category": "sans-serif",
+ "capHeight": 819,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 602,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gothic A1",
+ "fullName": "Gothic A1 Regular",
+ "postscriptName": "GothicA1-Regular",
+ "category": "sans-serif",
+ "capHeight": 749,
+ "ascent": 817,
+ "descent": -207,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 538,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ }
+ }
+ },
+ "gotu": {
+ "familyName": "Gotu",
+ "fullName": "Gotu",
+ "postscriptName": "Gotu-Regular",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1115,
+ "descent": -545,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gotu",
+ "fullName": "Gotu",
+ "postscriptName": "Gotu-Regular",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1115,
+ "descent": -545,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ }
+ }
+ },
+ "goudyBookletter1911": {
+ "familyName": "Goudy Bookletter 1911",
+ "fullName": "Goudy Bookletter 1911",
+ "postscriptName": "GoudyBookletter1911",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 983,
+ "descent": -318,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xHeight": 458,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Goudy Bookletter 1911",
+ "fullName": "Goudy Bookletter 1911",
+ "postscriptName": "GoudyBookletter1911",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 983,
+ "descent": -318,
+ "lineGap": 92,
+ "unitsPerEm": 1024,
+ "xHeight": 458,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "gowunBatang": {
+ "familyName": "Gowun Batang",
+ "fullName": "Gowun Batang Regular",
+ "postscriptName": "GowunBatang-Regular",
+ "category": "serif",
+ "capHeight": 775,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gowun Batang",
+ "fullName": "Gowun Batang Bold",
+ "postscriptName": "GowunBatang-Bold",
+ "category": "serif",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gowun Batang",
+ "fullName": "Gowun Batang Regular",
+ "postscriptName": "GowunBatang-Regular",
+ "category": "serif",
+ "capHeight": 775,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ }
+ }
+ },
+ "gowunDodum": {
+ "familyName": "Gowun Dodum",
+ "fullName": "Gowun Dodum Regular",
+ "postscriptName": "GowunDodum-Regular",
+ "category": "sans-serif",
+ "capHeight": 775,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gowun Dodum",
+ "fullName": "Gowun Dodum Regular",
+ "postscriptName": "GowunDodum-Regular",
+ "category": "sans-serif",
+ "capHeight": 775,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ }
+ }
+ },
+ "graduate": {
+ "familyName": "Graduate",
+ "fullName": "Graduate",
+ "postscriptName": "Graduate-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 953,
+ "descent": -186,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 594,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 594
+ },
+ "thai": {
+ "xWidthAvg": 350
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Graduate",
+ "fullName": "Graduate",
+ "postscriptName": "Graduate-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 953,
+ "descent": -186,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 594,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 594
+ },
+ "thai": {
+ "xWidthAvg": 350
+ }
+ }
+ }
+ }
+ },
+ "grandHotel": {
+ "familyName": "Grand Hotel",
+ "fullName": "Grand Hotel",
+ "postscriptName": "GrandHotel-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 1938,
+ "descent": -844,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 803,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Grand Hotel",
+ "fullName": "Grand Hotel",
+ "postscriptName": "GrandHotel-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 1938,
+ "descent": -844,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 803,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "grandifloraOne": {
+ "familyName": "Grandiflora One",
+ "fullName": "Grandiflora One Regular",
+ "postscriptName": "GrandifloraOne-Regular",
+ "category": "serif",
+ "capHeight": 687,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 407,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Grandiflora One",
+ "fullName": "Grandiflora One Regular",
+ "postscriptName": "GrandifloraOne-Regular",
+ "category": "serif",
+ "capHeight": 687,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 407,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ }
+ }
+ },
+ "grandstander": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Regular",
+ "postscriptName": "Grandstander-Regular",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Thin",
+ "postscriptName": "Grandstander-Thin",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 993,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 993
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "200": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander ExtraLight",
+ "postscriptName": "Grandstander-ExtraLight",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "300": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Light",
+ "postscriptName": "Grandstander-Light",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "500": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Medium",
+ "postscriptName": "Grandstander-Medium",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "600": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander SemiBold",
+ "postscriptName": "Grandstander-SemiBold",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "700": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Bold",
+ "postscriptName": "Grandstander-Bold",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "800": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander ExtraBold",
+ "postscriptName": "Grandstander-ExtraBold",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 997,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 997
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "900": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Black",
+ "postscriptName": "Grandstander-Black",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 997,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 997
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Regular",
+ "postscriptName": "Grandstander-Regular",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Italic",
+ "postscriptName": "Grandstander-Italic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Black Italic",
+ "postscriptName": "Grandstander-BlackItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 997,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 997
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander ExtraBold Italic",
+ "postscriptName": "Grandstander-ExtraBoldItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 997,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 997
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Bold Italic",
+ "postscriptName": "Grandstander-BoldItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander SemiBold Italic",
+ "postscriptName": "Grandstander-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Medium Italic",
+ "postscriptName": "Grandstander-MediumItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Light Italic",
+ "postscriptName": "Grandstander-LightItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander ExtraLight Italic",
+ "postscriptName": "Grandstander-ExtraLightItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 993,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 993
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Grandstander",
+ "fullName": "Grandstander Thin Italic",
+ "postscriptName": "Grandstander-ThinItalic",
+ "category": "display",
+ "capHeight": 1291,
+ "ascent": 1465,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1063,
+ "xWidthAvg": 993,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 993
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ }
+ }
+ },
+ "grapeNuts": {
+ "familyName": "Grape Nuts",
+ "fullName": "Grape Nuts Regular",
+ "postscriptName": "GrapeNuts-Regular",
+ "category": "handwriting",
+ "capHeight": 590,
+ "ascent": 900,
+ "descent": -325,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 365,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Grape Nuts",
+ "fullName": "Grape Nuts Regular",
+ "postscriptName": "GrapeNuts-Regular",
+ "category": "handwriting",
+ "capHeight": 590,
+ "ascent": 900,
+ "descent": -325,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 365,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ }
+ }
+ },
+ "gravitasOne": {
+ "familyName": "Gravitas One",
+ "fullName": "Gravitas One",
+ "postscriptName": "GravitasOne",
+ "category": "display",
+ "capHeight": 1417,
+ "ascent": 1937,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1113,
+ "xWidthAvg": 1480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1480
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gravitas One",
+ "fullName": "Gravitas One",
+ "postscriptName": "GravitasOne",
+ "category": "display",
+ "capHeight": 1417,
+ "ascent": 1937,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1113,
+ "xWidthAvg": 1480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1480
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ }
+ }
+ },
+ "greatVibes": {
+ "familyName": "Great Vibes",
+ "fullName": "Great Vibes Regular",
+ "postscriptName": "GreatVibes-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 851,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 328,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Great Vibes",
+ "fullName": "Great Vibes Regular",
+ "postscriptName": "GreatVibes-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 851,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 328,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ }
+ }
+ }
+ },
+ "grechenFuemen": {
+ "familyName": "Grechen Fuemen",
+ "fullName": "Grechen Fuemen Regular",
+ "postscriptName": "GrechenFuemen-Regular",
+ "category": "handwriting",
+ "capHeight": 580,
+ "ascent": 900,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 317,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Grechen Fuemen",
+ "fullName": "Grechen Fuemen Regular",
+ "postscriptName": "GrechenFuemen-Regular",
+ "category": "handwriting",
+ "capHeight": 580,
+ "ascent": 900,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 317,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ }
+ }
+ },
+ "grenze": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Regular",
+ "postscriptName": "Grenze-Regular",
+ "category": "serif",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Thin",
+ "postscriptName": "Grenze-Thin",
+ "category": "serif",
+ "capHeight": 591,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Grenze",
+ "fullName": "Grenze ExtraLight",
+ "postscriptName": "Grenze-ExtraLight",
+ "category": "serif",
+ "capHeight": 594,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Light",
+ "postscriptName": "Grenze-Light",
+ "category": "serif",
+ "capHeight": 599,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Medium",
+ "postscriptName": "Grenze-Medium",
+ "category": "serif",
+ "capHeight": 604,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Grenze",
+ "fullName": "Grenze SemiBold",
+ "postscriptName": "Grenze-SemiBold",
+ "category": "serif",
+ "capHeight": 606,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 453,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Bold",
+ "postscriptName": "Grenze-Bold",
+ "category": "serif",
+ "capHeight": 608,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Grenze",
+ "fullName": "Grenze ExtraBold",
+ "postscriptName": "Grenze-ExtraBold",
+ "category": "serif",
+ "capHeight": 610,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Black",
+ "postscriptName": "Grenze-Black",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Regular",
+ "postscriptName": "Grenze-Regular",
+ "category": "serif",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Italic",
+ "postscriptName": "Grenze-Italic",
+ "category": "serif",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Black Italic",
+ "postscriptName": "Grenze-BlackItalic",
+ "category": "serif",
+ "capHeight": 613,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze ExtraBold Italic",
+ "postscriptName": "Grenze-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Bold Italic",
+ "postscriptName": "Grenze-BoldItalic",
+ "category": "serif",
+ "capHeight": 609,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze SemiBold Italic",
+ "postscriptName": "Grenze-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 607,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 453,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Medium Italic",
+ "postscriptName": "Grenze-MediumItalic",
+ "category": "serif",
+ "capHeight": 605,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Light Italic",
+ "postscriptName": "Grenze-LightItalic",
+ "category": "serif",
+ "capHeight": 599,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 340,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 340
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze ExtraLight Italic",
+ "postscriptName": "Grenze-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 594,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 336
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Grenze",
+ "fullName": "Grenze Thin Italic",
+ "postscriptName": "Grenze-ThinItalic",
+ "category": "serif",
+ "capHeight": 591,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 332,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 332
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ }
+ }
+ },
+ "grenzeGotisch": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Regular",
+ "postscriptName": "GrenzeGotisch-Regular",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Thin",
+ "postscriptName": "GrenzeGotisch-Thin",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 335,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 335
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch ExtraLight",
+ "postscriptName": "GrenzeGotisch-ExtraLight",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Light",
+ "postscriptName": "GrenzeGotisch-Light",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Medium",
+ "postscriptName": "GrenzeGotisch-Medium",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch SemiBold",
+ "postscriptName": "GrenzeGotisch-SemiBold",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Bold",
+ "postscriptName": "GrenzeGotisch-Bold",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch ExtraBold",
+ "postscriptName": "GrenzeGotisch-ExtraBold",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Black",
+ "postscriptName": "GrenzeGotisch-Black",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Grenze Gotisch",
+ "fullName": "Grenze Gotisch Regular",
+ "postscriptName": "GrenzeGotisch-Regular",
+ "category": "display",
+ "capHeight": 603,
+ "ascent": 1100,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ }
+ }
+ },
+ "greyQo": {
+ "familyName": "Grey Qo",
+ "fullName": "Grey Qo Regular",
+ "postscriptName": "GreyQo-Regular",
+ "category": "handwriting",
+ "capHeight": 540,
+ "ascent": 900,
+ "descent": -360,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 265,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Grey Qo",
+ "fullName": "Grey Qo Regular",
+ "postscriptName": "GreyQo-Regular",
+ "category": "handwriting",
+ "capHeight": 540,
+ "ascent": 900,
+ "descent": -360,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 265,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ }
+ }
+ },
+ "griffy": {
+ "familyName": "Griffy",
+ "fullName": "Griffy",
+ "postscriptName": "Griffy-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 984,
+ "descent": -399,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 0,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Griffy",
+ "fullName": "Griffy",
+ "postscriptName": "Griffy-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 984,
+ "descent": -399,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 0,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ }
+ }
+ }
+ },
+ "gruppo": {
+ "familyName": "Gruppo",
+ "fullName": "Gruppo Regular",
+ "postscriptName": "Gruppo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1114,
+ "ascent": 1639,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 766,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1311
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gruppo",
+ "fullName": "Gruppo Regular",
+ "postscriptName": "Gruppo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1114,
+ "ascent": 1639,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 766,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1311
+ }
+ }
+ }
+ }
+ },
+ "gudea": {
+ "familyName": "Gudea",
+ "fullName": "Gudea",
+ "postscriptName": "Gudea",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 972,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 211
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gudea",
+ "fullName": "Gudea Bold",
+ "postscriptName": "Gudea-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 972,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 211
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gudea",
+ "fullName": "Gudea",
+ "postscriptName": "Gudea",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 972,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 211
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Gudea",
+ "fullName": "Gudea Italic",
+ "postscriptName": "Gudea-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 972,
+ "descent": -264,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ }
+ }
+ },
+ "gugi": {
+ "familyName": "Gugi",
+ "fullName": "Gugi Regular",
+ "postscriptName": "Gugi-Regular",
+ "category": "display",
+ "capHeight": 794,
+ "ascent": 858,
+ "descent": -142,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 602,
+ "xWidthAvg": 588,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 588
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gugi",
+ "fullName": "Gugi Regular",
+ "postscriptName": "Gugi-Regular",
+ "category": "display",
+ "capHeight": 794,
+ "ascent": 858,
+ "descent": -142,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 602,
+ "xWidthAvg": 588,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 588
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "gulzar": {
+ "familyName": "Gulzar",
+ "fullName": "Gulzar Regular",
+ "postscriptName": "Gulzar-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gulzar",
+ "fullName": "Gulzar Regular",
+ "postscriptName": "Gulzar-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ }
+ }
+ },
+ "gupter": {
+ "familyName": "Gupter",
+ "fullName": "Gupter Regular",
+ "postscriptName": "Gupter-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 957
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Gupter",
+ "fullName": "Gupter Medium",
+ "postscriptName": "Gupter-Medium",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 957
+ }
+ }
+ },
+ "700": {
+ "familyName": "Gupter",
+ "fullName": "Gupter Bold",
+ "postscriptName": "Gupter-Bold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 957
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gupter",
+ "fullName": "Gupter Regular",
+ "postscriptName": "Gupter-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 957
+ }
+ }
+ }
+ }
+ },
+ "gurajada": {
+ "familyName": "Gurajada",
+ "fullName": "Gurajada",
+ "postscriptName": "Gurajada",
+ "category": "serif",
+ "capHeight": 482,
+ "ascent": 1294,
+ "descent": -810,
+ "lineGap": 0,
+ "unitsPerEm": 1070,
+ "xHeight": 358,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 888
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Gurajada",
+ "fullName": "Gurajada",
+ "postscriptName": "Gurajada",
+ "category": "serif",
+ "capHeight": 482,
+ "ascent": 1294,
+ "descent": -810,
+ "lineGap": 0,
+ "unitsPerEm": 1070,
+ "xHeight": 358,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 888
+ }
+ }
+ }
+ }
+ },
+ "gwendolyn": {
+ "familyName": "Gwendolyn",
+ "fullName": "Gwendolyn Regular",
+ "postscriptName": "Gwendolyn-Regular",
+ "category": "handwriting",
+ "capHeight": 618,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 290,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Gwendolyn",
+ "fullName": "Gwendolyn Bold",
+ "postscriptName": "Gwendolyn-Bold",
+ "category": "handwriting",
+ "capHeight": 618,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 290,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Gwendolyn",
+ "fullName": "Gwendolyn Regular",
+ "postscriptName": "Gwendolyn-Regular",
+ "category": "handwriting",
+ "capHeight": 618,
+ "ascent": 880,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 290,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "habibi": {
+ "familyName": "Habibi",
+ "fullName": "Habibi",
+ "postscriptName": "Habibi-Regular",
+ "category": "serif",
+ "capHeight": 1508,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Habibi",
+ "fullName": "Habibi",
+ "postscriptName": "Habibi-Regular",
+ "category": "serif",
+ "capHeight": 1508,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 989,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ }
+ }
+ },
+ "hachiMaruPop": {
+ "familyName": "Hachi Maru Pop",
+ "fullName": "Hachi Maru Pop Regular",
+ "postscriptName": "HachiMaruPop-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 660,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 660
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hachi Maru Pop",
+ "fullName": "Hachi Maru Pop Regular",
+ "postscriptName": "HachiMaruPop-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 660,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 660
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ }
+ }
+ },
+ "hahmlet": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Regular",
+ "postscriptName": "Hahmlet-Regular",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Thin",
+ "postscriptName": "Hahmlet-Thin",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "200": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet ExtraLight",
+ "postscriptName": "Hahmlet-ExtraLight",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "300": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Light",
+ "postscriptName": "Hahmlet-Light",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Medium",
+ "postscriptName": "Hahmlet-Medium",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet SemiBold",
+ "postscriptName": "Hahmlet-SemiBold",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Bold",
+ "postscriptName": "Hahmlet-Bold",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "800": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet ExtraBold",
+ "postscriptName": "Hahmlet-ExtraBold",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "900": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Black",
+ "postscriptName": "Hahmlet-Black",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hahmlet",
+ "fullName": "Hahmlet Regular",
+ "postscriptName": "Hahmlet-Regular",
+ "category": "serif",
+ "capHeight": 742,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 843
+ }
+ }
+ }
+ }
+ },
+ "halant": {
+ "familyName": "Halant",
+ "fullName": "Halant Regular",
+ "postscriptName": "Halant-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Halant",
+ "fullName": "Halant Light",
+ "postscriptName": "Halant-Light",
+ "category": "serif",
+ "capHeight": 651,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "500": {
+ "familyName": "Halant",
+ "fullName": "Halant Medium",
+ "postscriptName": "Halant-Medium",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "600": {
+ "familyName": "Halant",
+ "fullName": "Halant SemiBold",
+ "postscriptName": "Halant-SemiBold",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "700": {
+ "familyName": "Halant",
+ "fullName": "Halant Bold",
+ "postscriptName": "Halant-Bold",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Halant",
+ "fullName": "Halant Regular",
+ "postscriptName": "Halant-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1089,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ }
+ }
+ },
+ "hammersmithOne": {
+ "familyName": "Hammersmith One",
+ "fullName": "Hammersmith One Regular",
+ "postscriptName": "HammersmithOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1330,
+ "ascent": 1844,
+ "descent": -716,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1045,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hammersmith One",
+ "fullName": "Hammersmith One Regular",
+ "postscriptName": "HammersmithOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1330,
+ "ascent": 1844,
+ "descent": -716,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1045,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "hanalei": {
+ "familyName": "Hanalei",
+ "fullName": "Hanalei",
+ "postscriptName": "Hanalei-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2124,
+ "descent": -541,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hanalei",
+ "fullName": "Hanalei",
+ "postscriptName": "Hanalei-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2124,
+ "descent": -541,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ }
+ }
+ }
+ },
+ "hanaleiFill": {
+ "familyName": "Hanalei Fill",
+ "fullName": "Hanalei Fill",
+ "postscriptName": "HanaleiFill-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2124,
+ "descent": -541,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hanalei Fill",
+ "fullName": "Hanalei Fill",
+ "postscriptName": "HanaleiFill-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2124,
+ "descent": -541,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ }
+ }
+ }
+ },
+ "handjet": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Regular",
+ "postscriptName": "Handjet-Regular",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Thin",
+ "postscriptName": "Handjet-Thin",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "200": {
+ "familyName": "Handjet",
+ "fullName": "Handjet ExtraLight",
+ "postscriptName": "Handjet-ExtraLight",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "300": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Light",
+ "postscriptName": "Handjet-Light",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "500": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Medium",
+ "postscriptName": "Handjet-Medium",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "600": {
+ "familyName": "Handjet",
+ "fullName": "Handjet SemiBold",
+ "postscriptName": "Handjet-SemiBold",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "700": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Bold",
+ "postscriptName": "Handjet-Bold",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "800": {
+ "familyName": "Handjet",
+ "fullName": "Handjet ExtraBold",
+ "postscriptName": "Handjet-ExtraBold",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "900": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Black",
+ "postscriptName": "Handjet-Black",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Handjet",
+ "fullName": "Handjet Regular",
+ "postscriptName": "Handjet-Regular",
+ "category": "display",
+ "capHeight": 5280,
+ "ascent": 7200,
+ "descent": -1920,
+ "lineGap": 0,
+ "unitsPerEm": 8160,
+ "xHeight": 3840,
+ "xWidthAvg": 2704,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 2704
+ },
+ "thai": {
+ "xWidthAvg": 3360
+ }
+ }
+ }
+ }
+ },
+ "handlee": {
+ "familyName": "Handlee",
+ "fullName": "Handlee Regular",
+ "postscriptName": "Handlee-Regular",
+ "category": "handwriting",
+ "capHeight": 438,
+ "ascent": 934,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 331,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Handlee",
+ "fullName": "Handlee Regular",
+ "postscriptName": "Handlee-Regular",
+ "category": "handwriting",
+ "capHeight": 438,
+ "ascent": 934,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 331,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "hankenGrotesk": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Regular",
+ "postscriptName": "HankenGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Thin",
+ "postscriptName": "HankenGrotesk-Thin",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ },
+ "200": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk ExtraLight",
+ "postscriptName": "HankenGrotesk-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "300": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Light",
+ "postscriptName": "HankenGrotesk-Light",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Medium",
+ "postscriptName": "HankenGrotesk-Medium",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 508
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk SemiBold",
+ "postscriptName": "HankenGrotesk-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 507
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Bold",
+ "postscriptName": "HankenGrotesk-Bold",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "800": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk ExtraBold",
+ "postscriptName": "HankenGrotesk-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "900": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Black",
+ "postscriptName": "HankenGrotesk-Black",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 504
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Regular",
+ "postscriptName": "HankenGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Italic",
+ "postscriptName": "HankenGrotesk-Italic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Black Italic",
+ "postscriptName": "HankenGrotesk-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 504
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk ExtraBold Italic",
+ "postscriptName": "HankenGrotesk-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Bold Italic",
+ "postscriptName": "HankenGrotesk-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk SemiBold Italic",
+ "postscriptName": "HankenGrotesk-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 507
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Medium Italic",
+ "postscriptName": "HankenGrotesk-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 508
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Light Italic",
+ "postscriptName": "HankenGrotesk-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk ExtraLight Italic",
+ "postscriptName": "HankenGrotesk-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Hanken Grotesk",
+ "fullName": "Hanken Grotesk Thin Italic",
+ "postscriptName": "HankenGrotesk-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1000,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ }
+ }
+ },
+ "hanuman": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Regular",
+ "postscriptName": "Hanuman-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Thin",
+ "postscriptName": "Hanuman-Thin",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Light",
+ "postscriptName": "Hanuman-Light",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Bold",
+ "postscriptName": "Hanuman-Bold",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1014,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1014
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Black",
+ "postscriptName": "Hanuman-Black",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hanuman",
+ "fullName": "Hanuman Regular",
+ "postscriptName": "Hanuman-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2000,
+ "descent": -1000,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "happyMonkey": {
+ "familyName": "Happy Monkey",
+ "fullName": "Happy Monkey",
+ "postscriptName": "HappyMonkey-Regular",
+ "category": "display",
+ "capHeight": 699,
+ "ascent": 950,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 241
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Happy Monkey",
+ "fullName": "Happy Monkey",
+ "postscriptName": "HappyMonkey-Regular",
+ "category": "display",
+ "capHeight": 699,
+ "ascent": 950,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 241
+ }
+ }
+ }
+ }
+ },
+ "harmattan": {
+ "familyName": "Harmattan",
+ "fullName": "Harmattan",
+ "postscriptName": "Harmattan-Regular",
+ "category": "sans-serif",
+ "capHeight": 1111,
+ "ascent": 2166,
+ "descent": -1323,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 778,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Harmattan",
+ "fullName": "Harmattan Medium",
+ "postscriptName": "Harmattan-Medium",
+ "category": "sans-serif",
+ "capHeight": 1111,
+ "ascent": 2166,
+ "descent": -1323,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 778,
+ "xWidthAvg": 734,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 734
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ }
+ },
+ "600": {
+ "familyName": "Harmattan",
+ "fullName": "Harmattan SemiBold",
+ "postscriptName": "Harmattan-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1111,
+ "ascent": 2166,
+ "descent": -1323,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 778,
+ "xWidthAvg": 746,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 746
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ }
+ },
+ "700": {
+ "familyName": "Harmattan",
+ "fullName": "Harmattan Bold",
+ "postscriptName": "Harmattan-Bold",
+ "category": "sans-serif",
+ "capHeight": 1111,
+ "ascent": 2166,
+ "descent": -1323,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 778,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Harmattan",
+ "fullName": "Harmattan",
+ "postscriptName": "Harmattan-Regular",
+ "category": "sans-serif",
+ "capHeight": 1111,
+ "ascent": 2166,
+ "descent": -1323,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 778,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 1690
+ }
+ }
+ }
+ }
+ },
+ "headlandOne": {
+ "familyName": "Headland One",
+ "fullName": "HeadlandOne-Regular",
+ "postscriptName": "HeadlandOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2043,
+ "descent": -522,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1189,
+ "xWidthAvg": 1100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1100
+ },
+ "thai": {
+ "xWidthAvg": 2351
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Headland One",
+ "fullName": "HeadlandOne-Regular",
+ "postscriptName": "HeadlandOne-Regular",
+ "category": "serif",
+ "capHeight": 1530,
+ "ascent": 2043,
+ "descent": -522,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1189,
+ "xWidthAvg": 1100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1100
+ },
+ "thai": {
+ "xWidthAvg": 2351
+ }
+ }
+ }
+ }
+ },
+ "hedvigLettersSans": {
+ "familyName": "Hedvig Letters Sans",
+ "fullName": "Hedvig Letters Sans Regular",
+ "postscriptName": "HedvigLettersSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hedvig Letters Sans",
+ "fullName": "Hedvig Letters Sans Regular",
+ "postscriptName": "HedvigLettersSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ }
+ }
+ },
+ "hedvigLettersSerif": {
+ "familyName": "Hedvig Letters Serif",
+ "fullName": "Hedvig Letters Serif 24pt Regular",
+ "postscriptName": "HedvigLettersSerif24pt-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hedvig Letters Serif",
+ "fullName": "Hedvig Letters Serif 24pt Regular",
+ "postscriptName": "HedvigLettersSerif24pt-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ }
+ }
+ },
+ "heebo": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Regular",
+ "postscriptName": "Heebo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 912,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 912
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Thin",
+ "postscriptName": "Heebo-Thin",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 1215
+ }
+ }
+ },
+ "200": {
+ "familyName": "Heebo",
+ "fullName": "Heebo ExtraLight",
+ "postscriptName": "Heebo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 1243
+ }
+ }
+ },
+ "300": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Light",
+ "postscriptName": "Heebo-Light",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1269
+ }
+ }
+ },
+ "500": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Medium",
+ "postscriptName": "Heebo-Medium",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ }
+ },
+ "600": {
+ "familyName": "Heebo",
+ "fullName": "Heebo SemiBold",
+ "postscriptName": "Heebo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 922,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 922
+ },
+ "thai": {
+ "xWidthAvg": 1401
+ }
+ }
+ },
+ "700": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Bold",
+ "postscriptName": "Heebo-Bold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 927,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 927
+ },
+ "thai": {
+ "xWidthAvg": 1452
+ }
+ }
+ },
+ "800": {
+ "familyName": "Heebo",
+ "fullName": "Heebo ExtraBold",
+ "postscriptName": "Heebo-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1502
+ }
+ }
+ },
+ "900": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Black",
+ "postscriptName": "Heebo-Black",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1553
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Heebo",
+ "fullName": "Heebo Regular",
+ "postscriptName": "Heebo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -862,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 912,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 912
+ },
+ "thai": {
+ "xWidthAvg": 1300
+ }
+ }
+ }
+ }
+ },
+ "helvetica": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica",
+ "postscriptName": "Helvetica",
+ "category": "sans-serif",
+ "capHeight": 1469,
+ "ascent": 1577,
+ "descent": -471,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1298
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica Light",
+ "postscriptName": "Helvetica-Light",
+ "category": "sans-serif",
+ "capHeight": 718,
+ "ascent": 770,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica Bold",
+ "postscriptName": "Helvetica-Bold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 1577,
+ "descent": -471,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1090,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1479
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica",
+ "postscriptName": "Helvetica",
+ "category": "sans-serif",
+ "capHeight": 1469,
+ "ascent": 1577,
+ "descent": -471,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1298
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica Oblique",
+ "postscriptName": "Helvetica-Oblique",
+ "category": "sans-serif",
+ "capHeight": 1469,
+ "ascent": 1577,
+ "descent": -471,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1298
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica Bold Oblique",
+ "postscriptName": "Helvetica-BoldOblique",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 1577,
+ "descent": -471,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1105,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 1479
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Helvetica",
+ "fullName": "Helvetica Light Oblique",
+ "postscriptName": "Helvetica-LightOblique",
+ "category": "sans-serif",
+ "capHeight": 718,
+ "ascent": 770,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ }
+ }
+ },
+ "helveticaNeue": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue",
+ "postscriptName": "HelveticaNeue",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 952,
+ "descent": -213,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue UltraLight",
+ "postscriptName": "HelveticaNeue-UltraLight",
+ "category": "sans-serif",
+ "ascent": 931,
+ "descent": -213,
+ "lineGap": 27,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "200": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Thin",
+ "postscriptName": "HelveticaNeue-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 967,
+ "descent": -213,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "300": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Light",
+ "postscriptName": "HelveticaNeue-Light",
+ "category": "sans-serif",
+ "ascent": 967,
+ "descent": -213,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "500": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Medium",
+ "postscriptName": "HelveticaNeue-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 975,
+ "descent": -217,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Bold",
+ "postscriptName": "HelveticaNeue-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 975,
+ "descent": -217,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue",
+ "postscriptName": "HelveticaNeue",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 952,
+ "descent": -213,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Italic",
+ "postscriptName": "HelveticaNeue-Italic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 957,
+ "descent": -213,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Bold Italic",
+ "postscriptName": "HelveticaNeue-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 975,
+ "descent": -217,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Medium Italic",
+ "postscriptName": "HelveticaNeue-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 975,
+ "descent": -217,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Light Italic",
+ "postscriptName": "HelveticaNeue-LightItalic",
+ "category": "sans-serif",
+ "ascent": 951,
+ "descent": -213,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue Thin Italic",
+ "postscriptName": "HelveticaNeue-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 967,
+ "descent": -213,
+ "lineGap": 29,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Helvetica Neue",
+ "fullName": "Helvetica Neue UltraLight Italic",
+ "postscriptName": "HelveticaNeue-UltraLightItalic",
+ "category": "sans-serif",
+ "ascent": 931,
+ "descent": -213,
+ "lineGap": 27,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "hennyPenny": {
+ "familyName": "Henny Penny",
+ "fullName": "Henny Penny",
+ "postscriptName": "HennyPenny-Regular",
+ "category": "display",
+ "capHeight": 1794,
+ "ascent": 2324,
+ "descent": -1305,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1264,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Henny Penny",
+ "fullName": "Henny Penny",
+ "postscriptName": "HennyPenny-Regular",
+ "category": "display",
+ "capHeight": 1794,
+ "ascent": 2324,
+ "descent": -1305,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1264,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ }
+ }
+ },
+ "heptaSlab": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Regular",
+ "postscriptName": "HeptaSlab-Regular",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1102,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1102
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Thin",
+ "postscriptName": "HeptaSlab-Thin",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1091,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1091
+ },
+ "thai": {
+ "xWidthAvg": 1719
+ }
+ }
+ },
+ "200": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab ExtraLight",
+ "postscriptName": "HeptaSlab-ExtraLight",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ }
+ },
+ "300": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Light",
+ "postscriptName": "HeptaSlab-Light",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1098,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1098
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Medium",
+ "postscriptName": "HeptaSlab-Medium",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1105,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1105
+ },
+ "thai": {
+ "xWidthAvg": 1696
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab SemiBold",
+ "postscriptName": "HeptaSlab-SemiBold",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1123,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1123
+ },
+ "thai": {
+ "xWidthAvg": 1711
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Bold",
+ "postscriptName": "HeptaSlab-Bold",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1145,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1145
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ }
+ },
+ "800": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab ExtraBold",
+ "postscriptName": "HeptaSlab-ExtraBold",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1180,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1180
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ }
+ },
+ "900": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Black",
+ "postscriptName": "HeptaSlab-Black",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1218,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1218
+ },
+ "thai": {
+ "xWidthAvg": 2054
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hepta Slab",
+ "fullName": "Hepta Slab Regular",
+ "postscriptName": "HeptaSlab-Regular",
+ "category": "serif",
+ "capHeight": 1504,
+ "ascent": 1976,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1052,
+ "xWidthAvg": 1102,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1102
+ },
+ "thai": {
+ "xWidthAvg": 1714
+ }
+ }
+ }
+ }
+ },
+ "herrVonMuellerhoff": {
+ "familyName": "Herr Von Muellerhoff",
+ "fullName": "Herr Von Muellerhoff Regular",
+ "postscriptName": "HerrVonMuellerhoff-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 925,
+ "descent": -497,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 269,
+ "xWidthAvg": 260,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 260
+ },
+ "thai": {
+ "xWidthAvg": 220
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Herr Von Muellerhoff",
+ "fullName": "Herr Von Muellerhoff Regular",
+ "postscriptName": "HerrVonMuellerhoff-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 925,
+ "descent": -497,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 269,
+ "xWidthAvg": 260,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 260
+ },
+ "thai": {
+ "xWidthAvg": 220
+ }
+ }
+ }
+ }
+ },
+ "hiMelody": {
+ "familyName": "Hi Melody",
+ "fullName": "Hi Melody Regular",
+ "postscriptName": "HiMelody-Regular",
+ "category": "handwriting",
+ "capHeight": 512,
+ "ascent": 679,
+ "descent": -345,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 321,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hi Melody",
+ "fullName": "Hi Melody Regular",
+ "postscriptName": "HiMelody-Regular",
+ "category": "handwriting",
+ "capHeight": 512,
+ "ascent": 679,
+ "descent": -345,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 321,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "hinaMincho": {
+ "familyName": "Hina Mincho",
+ "fullName": "Hina Mincho Regular",
+ "postscriptName": "HinaMincho-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 380,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hina Mincho",
+ "fullName": "Hina Mincho Regular",
+ "postscriptName": "HinaMincho-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 380,
+ "xWidthAvg": 375,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 375
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "hind": {
+ "familyName": "Hind",
+ "fullName": "Hind Regular",
+ "postscriptName": "Hind-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Hind",
+ "fullName": "Hind Light",
+ "postscriptName": "Hind-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hind",
+ "fullName": "Hind Medium",
+ "postscriptName": "Hind-Medium",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hind",
+ "fullName": "Hind SemiBold",
+ "postscriptName": "Hind-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hind",
+ "fullName": "Hind Bold",
+ "postscriptName": "Hind-Bold",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hind",
+ "fullName": "Hind Regular",
+ "postscriptName": "Hind-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1055,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "hindGuntur": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur Regular",
+ "postscriptName": "HindGuntur-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur Light",
+ "postscriptName": "HindGuntur-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur Medium",
+ "postscriptName": "HindGuntur-Medium",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur SemiBold",
+ "postscriptName": "HindGuntur-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur Bold",
+ "postscriptName": "HindGuntur-Bold",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hind Guntur",
+ "fullName": "Hind Guntur Regular",
+ "postscriptName": "HindGuntur-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1115,
+ "descent": -773,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "hindMadurai": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai Regular",
+ "postscriptName": "HindMadurai-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai Light",
+ "postscriptName": "HindMadurai-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai Medium",
+ "postscriptName": "HindMadurai-Medium",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai SemiBold",
+ "postscriptName": "HindMadurai-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai Bold",
+ "postscriptName": "HindMadurai-Bold",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hind Madurai",
+ "fullName": "Hind Madurai Regular",
+ "postscriptName": "HindMadurai-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 982,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "hindSiliguri": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri Regular",
+ "postscriptName": "HindSiliguri-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri Light",
+ "postscriptName": "HindSiliguri-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri Medium",
+ "postscriptName": "HindSiliguri-Medium",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri SemiBold",
+ "postscriptName": "HindSiliguri-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri Bold",
+ "postscriptName": "HindSiliguri-Bold",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hind Siliguri",
+ "fullName": "Hind Siliguri Regular",
+ "postscriptName": "HindSiliguri-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1116,
+ "descent": -501,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "hindVadodara": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara Regular",
+ "postscriptName": "HindVadodara-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara Light",
+ "postscriptName": "HindVadodara-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara Medium",
+ "postscriptName": "HindVadodara-Medium",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara SemiBold",
+ "postscriptName": "HindVadodara-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara Bold",
+ "postscriptName": "HindVadodara-Bold",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hind Vadodara",
+ "fullName": "Hind Vadodara Regular",
+ "postscriptName": "HindVadodara-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1125,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "holtwoodOneSC": {
+ "familyName": "Holtwood One SC",
+ "fullName": "Holtwood One SC Regular",
+ "postscriptName": "HoltwoodOneSC-Regular",
+ "category": "serif",
+ "capHeight": 1536,
+ "ascent": 2457,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1408,
+ "xWidthAvg": 1426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1426
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Holtwood One SC",
+ "fullName": "Holtwood One SC Regular",
+ "postscriptName": "HoltwoodOneSC-Regular",
+ "category": "serif",
+ "capHeight": 1536,
+ "ascent": 2457,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1408,
+ "xWidthAvg": 1426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1426
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ }
+ }
+ },
+ "homemadeApple": {
+ "familyName": "Homemade Apple",
+ "fullName": "Homemade Apple Regular",
+ "postscriptName": "HomemadeApple-Regular",
+ "category": "handwriting",
+ "capHeight": 1022,
+ "ascent": 1327,
+ "descent": -866,
+ "lineGap": 18,
+ "unitsPerEm": 1024,
+ "xHeight": 600,
+ "xWidthAvg": 567,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 567
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Homemade Apple",
+ "fullName": "Homemade Apple Regular",
+ "postscriptName": "HomemadeApple-Regular",
+ "category": "handwriting",
+ "capHeight": 1022,
+ "ascent": 1327,
+ "descent": -866,
+ "lineGap": 18,
+ "unitsPerEm": 1024,
+ "xHeight": 600,
+ "xWidthAvg": 567,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 567
+ },
+ "thai": {
+ "xWidthAvg": 358
+ }
+ }
+ }
+ }
+ },
+ "homenaje": {
+ "familyName": "Homenaje",
+ "fullName": "Homenaje Regular",
+ "postscriptName": "Homenaje-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 892,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Homenaje",
+ "fullName": "Homenaje Regular",
+ "postscriptName": "Homenaje-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 892,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "honk": {
+ "familyName": "Honk",
+ "fullName": "Honk Regular",
+ "postscriptName": "Honk-Regular",
+ "category": "display",
+ "capHeight": 1200,
+ "ascent": 1800,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 970,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Honk",
+ "fullName": "Honk Regular",
+ "postscriptName": "Honk-Regular",
+ "category": "display",
+ "capHeight": 1200,
+ "ascent": 1800,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 970,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 870
+ }
+ }
+ }
+ }
+ },
+ "hostGrotesk": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Regular",
+ "postscriptName": "HostGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Light",
+ "postscriptName": "HostGrotesk-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "500": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Medium",
+ "postscriptName": "HostGrotesk-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk SemiBold",
+ "postscriptName": "HostGrotesk-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Bold",
+ "postscriptName": "HostGrotesk-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "800": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk ExtraBold",
+ "postscriptName": "HostGrotesk-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Regular",
+ "postscriptName": "HostGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Italic",
+ "postscriptName": "HostGrotesk-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk ExtraBold Italic",
+ "postscriptName": "HostGrotesk-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Bold Italic",
+ "postscriptName": "HostGrotesk-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk SemiBold Italic",
+ "postscriptName": "HostGrotesk-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Medium Italic",
+ "postscriptName": "HostGrotesk-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Host Grotesk",
+ "fullName": "Host Grotesk Light Italic",
+ "postscriptName": "HostGrotesk-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1015,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "hubballi": {
+ "familyName": "Hubballi",
+ "fullName": "Hubballi Regular",
+ "postscriptName": "Hubballi-Regular",
+ "category": "sans-serif",
+ "capHeight": 535,
+ "ascent": 765,
+ "descent": -191,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 392,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hubballi",
+ "fullName": "Hubballi Regular",
+ "postscriptName": "Hubballi-Regular",
+ "category": "sans-serif",
+ "capHeight": 535,
+ "ascent": 765,
+ "descent": -191,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 392,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ }
+ }
+ },
+ "hubotSans": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Regular",
+ "postscriptName": "HubotSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans ExtraLight",
+ "postscriptName": "HubotSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "300": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Light",
+ "postscriptName": "HubotSans-Light",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "500": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Medium",
+ "postscriptName": "HubotSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "600": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans SemiBold",
+ "postscriptName": "HubotSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "700": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Bold",
+ "postscriptName": "HubotSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "800": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans ExtraBold",
+ "postscriptName": "HubotSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "900": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Black",
+ "postscriptName": "HubotSans-Black",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Regular",
+ "postscriptName": "HubotSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Italic",
+ "postscriptName": "HubotSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 881
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Black Italic",
+ "postscriptName": "HubotSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans ExtraBold Italic",
+ "postscriptName": "HubotSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Bold Italic",
+ "postscriptName": "HubotSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans SemiBold Italic",
+ "postscriptName": "HubotSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Medium Italic",
+ "postscriptName": "HubotSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 881
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans Light Italic",
+ "postscriptName": "HubotSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Hubot Sans",
+ "fullName": "Hubot Sans ExtraLight Italic",
+ "postscriptName": "HubotSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 882
+ }
+ }
+ }
+ }
+ },
+ "hurricane": {
+ "familyName": "Hurricane",
+ "fullName": "Hurricane Regular",
+ "postscriptName": "Hurricane-Regular",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 950,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 326,
+ "xWidthAvg": 287,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 287
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Hurricane",
+ "fullName": "Hurricane Regular",
+ "postscriptName": "Hurricane-Regular",
+ "category": "handwriting",
+ "capHeight": 610,
+ "ascent": 950,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 326,
+ "xWidthAvg": 287,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 287
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexMono": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Regular",
+ "postscriptName": "IBMPlexMono-Regular",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Thin",
+ "postscriptName": "IBMPlexMono-Thin",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono ExtraLight",
+ "postscriptName": "IBMPlexMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Light",
+ "postscriptName": "IBMPlexMono-Light",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Medium",
+ "postscriptName": "IBMPlexMono-Medium",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono SemiBold",
+ "postscriptName": "IBMPlexMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Bold",
+ "postscriptName": "IBMPlexMono-Bold",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Regular",
+ "postscriptName": "IBMPlexMono-Regular",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Italic",
+ "postscriptName": "IBMPlexMono-Italic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Bold Italic",
+ "postscriptName": "IBMPlexMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono SemiBold Italic",
+ "postscriptName": "IBMPlexMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Medium Italic",
+ "postscriptName": "IBMPlexMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Light Italic",
+ "postscriptName": "IBMPlexMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono ExtraLight Italic",
+ "postscriptName": "IBMPlexMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "IBM Plex Mono",
+ "fullName": "IBM Plex Mono Thin Italic",
+ "postscriptName": "IBMPlexMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSans": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Regular",
+ "postscriptName": "IBMPlexSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Thin",
+ "postscriptName": "IBMPlexSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans ExtraLight",
+ "postscriptName": "IBMPlexSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Light",
+ "postscriptName": "IBMPlexSans-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Medium",
+ "postscriptName": "IBMPlexSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans SemiBold",
+ "postscriptName": "IBMPlexSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Bold",
+ "postscriptName": "IBMPlexSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Regular",
+ "postscriptName": "IBMPlexSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Italic",
+ "postscriptName": "IBMPlexSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Bold Italic",
+ "postscriptName": "IBMPlexSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans SemiBold Italic",
+ "postscriptName": "IBMPlexSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Medium Italic",
+ "postscriptName": "IBMPlexSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Light Italic",
+ "postscriptName": "IBMPlexSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans ExtraLight Italic",
+ "postscriptName": "IBMPlexSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "IBM Plex Sans",
+ "fullName": "IBM Plex Sans Thin Italic",
+ "postscriptName": "IBMPlexSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansArabic": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Regular",
+ "postscriptName": "IBMPlexSansArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Thin",
+ "postscriptName": "IBMPlexSansArabic-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic ExtraLight",
+ "postscriptName": "IBMPlexSansArabic-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Light",
+ "postscriptName": "IBMPlexSansArabic-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Medium",
+ "postscriptName": "IBMPlexSansArabic-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic SemiBold",
+ "postscriptName": "IBMPlexSansArabic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Bold",
+ "postscriptName": "IBMPlexSansArabic-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Arabic",
+ "fullName": "IBM Plex Sans Arabic Regular",
+ "postscriptName": "IBMPlexSansArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansCondensed": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Regular",
+ "postscriptName": "IBMPlexSansCond-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Thin",
+ "postscriptName": "IBMPlexSansCond-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed ExtraLight",
+ "postscriptName": "IBMPlexSansCond-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Light",
+ "postscriptName": "IBMPlexSansCond-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Medium",
+ "postscriptName": "IBMPlexSansCond-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed SemiBold",
+ "postscriptName": "IBMPlexSansCond-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Bold",
+ "postscriptName": "IBMPlexSansCond-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Regular",
+ "postscriptName": "IBMPlexSansCond-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Italic",
+ "postscriptName": "IBMPlexSansCond-Italic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Bold Italic",
+ "postscriptName": "IBMPlexSansCond-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed SemiBold Italic",
+ "postscriptName": "IBMPlexSansCond-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Medium Italic",
+ "postscriptName": "IBMPlexSansCond-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Light Italic",
+ "postscriptName": "IBMPlexSansCond-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed ExtraLight Italic",
+ "postscriptName": "IBMPlexSansCond-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "IBM Plex Sans Condensed",
+ "fullName": "IBM Plex Sans Condensed Thin Italic",
+ "postscriptName": "IBMPlexSansCond-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansDevanagari": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Regular",
+ "postscriptName": "IBMPlexSansDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Thin",
+ "postscriptName": "IBMPlexSansDevanagari-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari ExtraLight",
+ "postscriptName": "IBMPlexSansDevanagari-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Light",
+ "postscriptName": "IBMPlexSansDevanagari-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Medium",
+ "postscriptName": "IBMPlexSansDevanagari-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari SemiBold",
+ "postscriptName": "IBMPlexSansDevanagari-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Bold",
+ "postscriptName": "IBMPlexSansDevanagari-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Devanagari",
+ "fullName": "IBM Plex Sans Devanagari Regular",
+ "postscriptName": "IBMPlexSansDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1070,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansHebrew": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Regular",
+ "postscriptName": "IBMPlexSansHebrew-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Thin",
+ "postscriptName": "IBMPlexSansHebrew-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew ExtraLight",
+ "postscriptName": "IBMPlexSansHebrew-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Light",
+ "postscriptName": "IBMPlexSansHebrew-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Medium",
+ "postscriptName": "IBMPlexSansHebrew-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew SemiBold",
+ "postscriptName": "IBMPlexSansHebrew-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Bold",
+ "postscriptName": "IBMPlexSansHebrew-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Hebrew",
+ "fullName": "IBM Plex Sans Hebrew Regular",
+ "postscriptName": "IBMPlexSansHebrew-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansJP": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Regular",
+ "postscriptName": "IBMPlexSansJP-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Thin",
+ "postscriptName": "IBMPlexSansJP-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP ExtraLight",
+ "postscriptName": "IBMPlexSansJP-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Light",
+ "postscriptName": "IBMPlexSansJP-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Medium",
+ "postscriptName": "IBMPlexSansJP-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP SemiBold",
+ "postscriptName": "IBMPlexSansJP-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Bold",
+ "postscriptName": "IBMPlexSansJP-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans JP",
+ "fullName": "IBM Plex Sans JP Regular",
+ "postscriptName": "IBMPlexSansJP-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1060,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansKR": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Regular",
+ "postscriptName": "IBMPlexSansKR-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Thin",
+ "postscriptName": "IBMPlexSansKR-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR ExtraLight",
+ "postscriptName": "IBMPlexSansKR-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Light",
+ "postscriptName": "IBMPlexSansKR-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Medium",
+ "postscriptName": "IBMPlexSansKR-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR SemiBold",
+ "postscriptName": "IBMPlexSansKR-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Bold",
+ "postscriptName": "IBMPlexSansKR-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans KR",
+ "fullName": "IBM Plex Sans KR Regular",
+ "postscriptName": "IBMPlexSansKR-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1085,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansThai": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Regular",
+ "postscriptName": "IBMPlexSansThai-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Thin",
+ "postscriptName": "IBMPlexSansThai-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai ExtraLight",
+ "postscriptName": "IBMPlexSansThai-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Light",
+ "postscriptName": "IBMPlexSansThai-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Medium",
+ "postscriptName": "IBMPlexSansThai-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai SemiBold",
+ "postscriptName": "IBMPlexSansThai-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Bold",
+ "postscriptName": "IBMPlexSansThai-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Thai",
+ "fullName": "IBM Plex Sans Thai Regular",
+ "postscriptName": "IBMPlexSansThai-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSansThaiLooped": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Regular",
+ "postscriptName": "IBMPlexSansThaiLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 609
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Thin",
+ "postscriptName": "IBMPlexSansThaiLooped-Thin",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 585
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped ExtraLight",
+ "postscriptName": "IBMPlexSansThaiLooped-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Light",
+ "postscriptName": "IBMPlexSansThaiLooped-Light",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Medium",
+ "postscriptName": "IBMPlexSansThaiLooped-Medium",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped SemiBold",
+ "postscriptName": "IBMPlexSansThaiLooped-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 626
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Bold",
+ "postscriptName": "IBMPlexSansThaiLooped-Bold",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Sans Thai Looped",
+ "fullName": "IBM Plex Sans Thai Looped Regular",
+ "postscriptName": "IBMPlexSansThaiLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1116,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 609
+ }
+ }
+ }
+ }
+ },
+ "iBMPlexSerif": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Regular",
+ "postscriptName": "IBMPlexSerif-Regular",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Thin",
+ "postscriptName": "IBMPlexSerif-Thin",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "200": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif ExtraLight",
+ "postscriptName": "IBMPlexSerif-ExtraLight",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "300": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Light",
+ "postscriptName": "IBMPlexSerif-Light",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "500": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Medium",
+ "postscriptName": "IBMPlexSerif-Medium",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "600": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif SemiBold",
+ "postscriptName": "IBMPlexSerif-SemiBold",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "700": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Bold",
+ "postscriptName": "IBMPlexSerif-Bold",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "regular": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Regular",
+ "postscriptName": "IBMPlexSerif-Regular",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Italic",
+ "postscriptName": "IBMPlexSerif-Italic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Bold Italic",
+ "postscriptName": "IBMPlexSerif-BoldItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif SemiBold Italic",
+ "postscriptName": "IBMPlexSerif-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Medium Italic",
+ "postscriptName": "IBMPlexSerif-MediumItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Light Italic",
+ "postscriptName": "IBMPlexSerif-LightItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif ExtraLight Italic",
+ "postscriptName": "IBMPlexSerif-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "IBM Plex Serif",
+ "fullName": "IBM Plex Serif Thin Italic",
+ "postscriptName": "IBMPlexSerif-ThinItalic",
+ "category": "serif",
+ "capHeight": 698,
+ "ascent": 1025,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 424
+ }
+ }
+ }
+ }
+ },
+ "iMFellDWPica": {
+ "familyName": "IM Fell DW Pica",
+ "fullName": "IM FELL DW Pica Roman",
+ "postscriptName": "IM_FELL_DW_Pica_Roman",
+ "category": "serif",
+ "capHeight": 1438,
+ "ascent": 1868,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 903,
+ "xWidthAvg": 815,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 815
+ },
+ "thai": {
+ "xWidthAvg": 1358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell DW Pica",
+ "fullName": "IM FELL DW Pica Roman",
+ "postscriptName": "IM_FELL_DW_Pica_Roman",
+ "category": "serif",
+ "capHeight": 1438,
+ "ascent": 1868,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 903,
+ "xWidthAvg": 815,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 815
+ },
+ "thai": {
+ "xWidthAvg": 1358
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IM Fell DW Pica",
+ "fullName": "IM FELL DW Pica Italic",
+ "postscriptName": "IM_FELL_DW_Pica_Italic",
+ "category": "serif",
+ "capHeight": 1443,
+ "ascent": 1868,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 971,
+ "xWidthAvg": 767,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 767
+ },
+ "thai": {
+ "xWidthAvg": 1358
+ }
+ }
+ }
+ }
+ },
+ "iMFellDWPicaSC": {
+ "familyName": "IM Fell DW Pica SC",
+ "fullName": "IM FELL DW Pica SC",
+ "postscriptName": "IM_FELL_DW_Pica_SC",
+ "category": "serif",
+ "capHeight": 1438,
+ "ascent": 1868,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 903,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1386
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell DW Pica SC",
+ "fullName": "IM FELL DW Pica SC",
+ "postscriptName": "IM_FELL_DW_Pica_SC",
+ "category": "serif",
+ "capHeight": 1438,
+ "ascent": 1868,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 903,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1386
+ }
+ }
+ }
+ }
+ },
+ "iMFellDoublePica": {
+ "familyName": "IM Fell Double Pica",
+ "fullName": "IM FELL Double Pica Roman ",
+ "postscriptName": "IM_FELL_Double_Pica_Roman",
+ "category": "serif",
+ "capHeight": 1509,
+ "ascent": 1924,
+ "descent": -643,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 926,
+ "xWidthAvg": 810,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 810
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell Double Pica",
+ "fullName": "IM FELL Double Pica Roman ",
+ "postscriptName": "IM_FELL_Double_Pica_Roman",
+ "category": "serif",
+ "capHeight": 1509,
+ "ascent": 1924,
+ "descent": -643,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 926,
+ "xWidthAvg": 810,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 810
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IM Fell Double Pica",
+ "fullName": "IM FELL Double Pica Italic",
+ "postscriptName": "IM_FELL_Double_Pica_Italic",
+ "category": "serif",
+ "capHeight": 1494,
+ "ascent": 1924,
+ "descent": -643,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 917,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ }
+ }
+ }
+ },
+ "iMFellDoublePicaSC": {
+ "familyName": "IM Fell Double Pica SC",
+ "fullName": "IM FELL Double Pica SC",
+ "postscriptName": "IM_FELL_Double_Pica_SC",
+ "category": "serif",
+ "capHeight": 1509,
+ "ascent": 1924,
+ "descent": -643,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 946,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1335
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell Double Pica SC",
+ "fullName": "IM FELL Double Pica SC",
+ "postscriptName": "IM_FELL_Double_Pica_SC",
+ "category": "serif",
+ "capHeight": 1509,
+ "ascent": 1924,
+ "descent": -643,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 946,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1335
+ }
+ }
+ }
+ }
+ },
+ "iMFellEnglish": {
+ "familyName": "IM Fell English",
+ "fullName": "IM FELL English Roman",
+ "postscriptName": "IM_FELL_English_Roman",
+ "category": "serif",
+ "capHeight": 1417,
+ "ascent": 1854,
+ "descent": -744,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 962,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1358
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell English",
+ "fullName": "IM FELL English Roman",
+ "postscriptName": "IM_FELL_English_Roman",
+ "category": "serif",
+ "capHeight": 1417,
+ "ascent": 1854,
+ "descent": -744,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 962,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1358
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IM Fell English",
+ "fullName": "IM FELL English Italic",
+ "postscriptName": "IM_FELL_English_Italic",
+ "category": "serif",
+ "capHeight": 1431,
+ "ascent": 1854,
+ "descent": -744,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 912,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 1350
+ }
+ }
+ }
+ }
+ },
+ "iMFellEnglishSC": {
+ "familyName": "IM Fell English SC",
+ "fullName": "IM FELL English SC",
+ "postscriptName": "IM_FELL_English_SC",
+ "category": "serif",
+ "capHeight": 1417,
+ "ascent": 1854,
+ "descent": -744,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 901,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1368
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell English SC",
+ "fullName": "IM FELL English SC",
+ "postscriptName": "IM_FELL_English_SC",
+ "category": "serif",
+ "capHeight": 1417,
+ "ascent": 1854,
+ "descent": -744,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 901,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1368
+ }
+ }
+ }
+ }
+ },
+ "iMFellFrenchCanon": {
+ "familyName": "IM Fell French Canon",
+ "fullName": "IM FELL French Canon Roman",
+ "postscriptName": "IM_FELL_French_Canon_Roman",
+ "category": "serif",
+ "capHeight": 1465,
+ "ascent": 1868,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 981,
+ "xWidthAvg": 879,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 879
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell French Canon",
+ "fullName": "IM FELL French Canon Roman",
+ "postscriptName": "IM_FELL_French_Canon_Roman",
+ "category": "serif",
+ "capHeight": 1465,
+ "ascent": 1868,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 981,
+ "xWidthAvg": 879,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 879
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IM Fell French Canon",
+ "fullName": "IM FELL French Canon Italic",
+ "postscriptName": "IM_FELL_French_Canon_Italic",
+ "category": "serif",
+ "capHeight": 1477,
+ "ascent": 1868,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 826,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 826
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ }
+ }
+ }
+ },
+ "iMFellFrenchCanonSC": {
+ "familyName": "IM Fell French Canon SC",
+ "fullName": "IM FELL French Canon SC",
+ "postscriptName": "IM_FELL_French_Canon_SC",
+ "category": "serif",
+ "capHeight": 1465,
+ "ascent": 1868,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 984,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1374
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell French Canon SC",
+ "fullName": "IM FELL French Canon SC",
+ "postscriptName": "IM_FELL_French_Canon_SC",
+ "category": "serif",
+ "capHeight": 1465,
+ "ascent": 1868,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 984,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1374
+ }
+ }
+ }
+ }
+ },
+ "iMFellGreatPrimer": {
+ "familyName": "IM Fell Great Primer",
+ "fullName": "IM FELL Great Primer Roman",
+ "postscriptName": "IM_FELL_Great_Primer_Roman",
+ "category": "serif",
+ "capHeight": 1488,
+ "ascent": 1942,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 962,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1352
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell Great Primer",
+ "fullName": "IM FELL Great Primer Roman",
+ "postscriptName": "IM_FELL_Great_Primer_Roman",
+ "category": "serif",
+ "capHeight": 1488,
+ "ascent": 1942,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 962,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1352
+ }
+ }
+ },
+ "italic": {
+ "familyName": "IM Fell Great Primer",
+ "fullName": "IM FELL Great Primer Italic",
+ "postscriptName": "IM_FELL_Great_Primer_Italic",
+ "category": "serif",
+ "capHeight": 878,
+ "ascent": 1942,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 561,
+ "xWidthAvg": 802,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 802
+ },
+ "thai": {
+ "xWidthAvg": 1346
+ }
+ }
+ }
+ }
+ },
+ "iMFellGreatPrimerSC": {
+ "familyName": "IM Fell Great Primer SC",
+ "fullName": "IM FELL Great Primer SC",
+ "postscriptName": "IM_FELL_Great_Primer_SC",
+ "category": "serif",
+ "capHeight": 1488,
+ "ascent": 1942,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 957,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1380
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "IM Fell Great Primer SC",
+ "fullName": "IM FELL Great Primer SC",
+ "postscriptName": "IM_FELL_Great_Primer_SC",
+ "category": "serif",
+ "capHeight": 1488,
+ "ascent": 1942,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 957,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1380
+ }
+ }
+ }
+ }
+ },
+ "ibarraRealNova": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Regular",
+ "postscriptName": "IbarraRealNova-Regular",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Medium",
+ "postscriptName": "IbarraRealNova-Medium",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova SemiBold",
+ "postscriptName": "IbarraRealNova-SemiBold",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Bold",
+ "postscriptName": "IbarraRealNova-Bold",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Regular",
+ "postscriptName": "IbarraRealNova-Regular",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Italic",
+ "postscriptName": "IbarraRealNova-Italic",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Bold Italic",
+ "postscriptName": "IbarraRealNova-BoldItalic",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova SemiBold Italic",
+ "postscriptName": "IbarraRealNova-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ibarra Real Nova",
+ "fullName": "Ibarra Real Nova Medium Italic",
+ "postscriptName": "IbarraRealNova-MediumItalic",
+ "category": "serif",
+ "capHeight": 673,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 773
+ }
+ }
+ }
+ }
+ },
+ "iceberg": {
+ "familyName": "Iceberg",
+ "fullName": "Iceberg",
+ "postscriptName": "Iceberg-Regular",
+ "category": "display",
+ "capHeight": 691,
+ "ascent": 936,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Iceberg",
+ "fullName": "Iceberg",
+ "postscriptName": "Iceberg-Regular",
+ "category": "display",
+ "capHeight": 691,
+ "ascent": 936,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ }
+ }
+ }
+ },
+ "iceland": {
+ "familyName": "Iceland",
+ "fullName": "Iceland",
+ "postscriptName": "Iceland-Regular",
+ "category": "display",
+ "capHeight": 490,
+ "ascent": 750,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Iceland",
+ "fullName": "Iceland",
+ "postscriptName": "Iceland-Regular",
+ "category": "display",
+ "capHeight": 490,
+ "ascent": 750,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "imbue": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Regular",
+ "postscriptName": "Imbue10pt-Regular",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Thin",
+ "postscriptName": "Imbue10pt-Thin",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ }
+ },
+ "200": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt ExtraLight",
+ "postscriptName": "Imbue10pt-ExtraLight",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 578
+ }
+ }
+ },
+ "300": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Light",
+ "postscriptName": "Imbue10pt-Light",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "500": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Medium",
+ "postscriptName": "Imbue10pt-Medium",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 614,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 614
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "600": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt SemiBold",
+ "postscriptName": "Imbue10pt-SemiBold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 647,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 647
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "700": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Bold",
+ "postscriptName": "Imbue10pt-Bold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 681,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 681
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt ExtraBold",
+ "postscriptName": "Imbue10pt-ExtraBold",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 714,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 714
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "900": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Black",
+ "postscriptName": "Imbue10pt-Black",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 748,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 748
+ },
+ "thai": {
+ "xWidthAvg": 609
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Imbue",
+ "fullName": "Imbue 10pt Regular",
+ "postscriptName": "Imbue10pt-Regular",
+ "category": "serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1046,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ }
+ }
+ },
+ "imperialScript": {
+ "familyName": "Imperial Script",
+ "fullName": "Imperial Script Regular",
+ "postscriptName": "ImperialScript-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 880,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 325,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Imperial Script",
+ "fullName": "Imperial Script Regular",
+ "postscriptName": "ImperialScript-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 880,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 325,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "imprima": {
+ "familyName": "Imprima",
+ "fullName": "Imprima Regular",
+ "postscriptName": "Imprima-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 919,
+ "descent": -239,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Imprima",
+ "fullName": "Imprima Regular",
+ "postscriptName": "Imprima-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 919,
+ "descent": -239,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ }
+ }
+ }
+ },
+ "inclusiveSans": {
+ "familyName": "Inclusive Sans",
+ "fullName": "Inclusive Sans Regular",
+ "postscriptName": "InclusiveSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Inclusive Sans",
+ "fullName": "Inclusive Sans Regular",
+ "postscriptName": "InclusiveSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Inclusive Sans",
+ "fullName": "Inclusive Sans Italic",
+ "postscriptName": "InclusiveSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ }
+ }
+ },
+ "inconsolata": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Regular",
+ "postscriptName": "Inconsolata-Regular",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata ExtraLight",
+ "postscriptName": "Inconsolata-ExtraLight",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Light",
+ "postscriptName": "Inconsolata-Light",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Medium",
+ "postscriptName": "Inconsolata-Medium",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata SemiBold",
+ "postscriptName": "Inconsolata-SemiBold",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Bold",
+ "postscriptName": "Inconsolata-Bold",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata ExtraBold",
+ "postscriptName": "Inconsolata-ExtraBold",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Black",
+ "postscriptName": "Inconsolata-Black",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inconsolata",
+ "fullName": "Inconsolata Regular",
+ "postscriptName": "Inconsolata-Regular",
+ "category": "monospace",
+ "capHeight": 623,
+ "ascent": 859,
+ "descent": -190,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "inder": {
+ "familyName": "Inder",
+ "fullName": "Inder",
+ "postscriptName": "Inder-Regular",
+ "category": "sans-serif",
+ "capHeight": 1392,
+ "ascent": 2040,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1032,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Inder",
+ "fullName": "Inder",
+ "postscriptName": "Inder-Regular",
+ "category": "sans-serif",
+ "capHeight": 1392,
+ "ascent": 2040,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1032,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ }
+ }
+ },
+ "indieFlower": {
+ "familyName": "Indie Flower",
+ "fullName": "Indie Flower",
+ "postscriptName": "IndieFlower",
+ "category": "handwriting",
+ "capHeight": 587,
+ "ascent": 994,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 374,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Indie Flower",
+ "fullName": "Indie Flower",
+ "postscriptName": "IndieFlower",
+ "category": "handwriting",
+ "capHeight": 587,
+ "ascent": 994,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 374,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ }
+ }
+ }
+ },
+ "ingridDarling": {
+ "familyName": "Ingrid Darling",
+ "fullName": "Ingrid Darling Regular",
+ "postscriptName": "IngridDarling-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 860,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 474
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ingrid Darling",
+ "fullName": "Ingrid Darling Regular",
+ "postscriptName": "IngridDarling-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 860,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 474
+ }
+ }
+ }
+ }
+ },
+ "inika": {
+ "familyName": "Inika",
+ "fullName": "Inika",
+ "postscriptName": "Inika",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -297,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 279
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Inika",
+ "fullName": "Inika Bold",
+ "postscriptName": "Inika-Bold",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1006,
+ "descent": -297,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inika",
+ "fullName": "Inika",
+ "postscriptName": "Inika",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -297,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 279
+ }
+ }
+ }
+ }
+ },
+ "inknutAntiqua": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Regular",
+ "postscriptName": "InknutAntiqua-Regular",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Light",
+ "postscriptName": "InknutAntiqua-Light",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "500": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Medium",
+ "postscriptName": "InknutAntiqua-Medium",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "600": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua SemiBold",
+ "postscriptName": "InknutAntiqua-SemiBold",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 566,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 566
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Bold",
+ "postscriptName": "InknutAntiqua-Bold",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "800": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua ExtraBold",
+ "postscriptName": "InknutAntiqua-ExtraBold",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 586
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "900": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Black",
+ "postscriptName": "InknutAntiqua-Black",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 593,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 593
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inknut Antiqua",
+ "fullName": "Inknut Antiqua Regular",
+ "postscriptName": "InknutAntiqua-Regular",
+ "category": "serif",
+ "capHeight": 786,
+ "ascent": 1703,
+ "descent": -876,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 1396
+ }
+ }
+ }
+ }
+ },
+ "inriaSans": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Regular",
+ "postscriptName": "InriaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Light",
+ "postscriptName": "InriaSans-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 716
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Bold",
+ "postscriptName": "InriaSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Regular",
+ "postscriptName": "InriaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Italic",
+ "postscriptName": "InriaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Bold Italic",
+ "postscriptName": "InriaSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Inria Sans",
+ "fullName": "Inria Sans Light Italic",
+ "postscriptName": "InriaSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 716
+ }
+ }
+ }
+ }
+ },
+ "inriaSerif": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Regular",
+ "postscriptName": "InriaSerif-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Light",
+ "postscriptName": "InriaSerif-Light",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Bold",
+ "postscriptName": "InriaSerif-Bold",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Regular",
+ "postscriptName": "InriaSerif-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Italic",
+ "postscriptName": "InriaSerif-Italic",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 657
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Bold Italic",
+ "postscriptName": "InriaSerif-BoldItalic",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Inria Serif",
+ "fullName": "Inria Serif Light Italic",
+ "postscriptName": "InriaSerif-LightItalic",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 976,
+ "descent": -223,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ }
+ }
+ },
+ "inspiration": {
+ "familyName": "Inspiration",
+ "fullName": "Inspiration Regular",
+ "postscriptName": "Inspiration-Regular",
+ "category": "handwriting",
+ "capHeight": 680,
+ "ascent": 870,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 340,
+ "xWidthAvg": 252,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 252
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Inspiration",
+ "fullName": "Inspiration Regular",
+ "postscriptName": "Inspiration-Regular",
+ "category": "handwriting",
+ "capHeight": 680,
+ "ascent": 870,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 340,
+ "xWidthAvg": 252,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 252
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ }
+ }
+ },
+ "instrumentSans": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Regular",
+ "postscriptName": "InstrumentSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Medium",
+ "postscriptName": "InstrumentSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ },
+ "600": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans SemiBold",
+ "postscriptName": "InstrumentSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 665
+ }
+ }
+ },
+ "700": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Bold",
+ "postscriptName": "InstrumentSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Regular",
+ "postscriptName": "InstrumentSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Italic",
+ "postscriptName": "InstrumentSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Bold Italic",
+ "postscriptName": "InstrumentSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 660
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans SemiBold Italic",
+ "postscriptName": "InstrumentSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 665
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Instrument Sans",
+ "fullName": "Instrument Sans Medium Italic",
+ "postscriptName": "InstrumentSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 970,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ }
+ }
+ },
+ "instrumentSerif": {
+ "familyName": "Instrument Serif",
+ "fullName": "Instrument Serif Regular",
+ "postscriptName": "InstrumentSerif-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 990,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Instrument Serif",
+ "fullName": "Instrument Serif Regular",
+ "postscriptName": "InstrumentSerif-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 990,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 341,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 341
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Instrument Serif",
+ "fullName": "Instrument Serif Italic",
+ "postscriptName": "InstrumentSerif-Italic",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 990,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 359
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "inter": {
+ "familyName": "Inter",
+ "fullName": "Inter Regular",
+ "postscriptName": "Inter-Regular",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Inter",
+ "fullName": "Inter Thin",
+ "postscriptName": "Inter-Thin",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 925,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 925
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "200": {
+ "familyName": "Inter",
+ "fullName": "Inter ExtraLight",
+ "postscriptName": "Inter-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 942,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 942
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "300": {
+ "familyName": "Inter",
+ "fullName": "Inter Light",
+ "postscriptName": "Inter-Light",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "500": {
+ "familyName": "Inter",
+ "fullName": "Inter Medium",
+ "postscriptName": "Inter-Medium",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 988,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 988
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "600": {
+ "familyName": "Inter",
+ "fullName": "Inter SemiBold",
+ "postscriptName": "Inter-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inter",
+ "fullName": "Inter Bold",
+ "postscriptName": "Inter-Bold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1008,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1008
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "800": {
+ "familyName": "Inter",
+ "fullName": "Inter ExtraBold",
+ "postscriptName": "Inter-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1021,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1021
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "900": {
+ "familyName": "Inter",
+ "fullName": "Inter Black",
+ "postscriptName": "Inter-Black",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1035,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1035
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inter",
+ "fullName": "Inter Regular",
+ "postscriptName": "Inter-Regular",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Italic",
+ "postscriptName": "Inter-Italic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Black Italic",
+ "postscriptName": "Inter-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1041,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1041
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Inter",
+ "fullName": "Inter ExtraBold Italic",
+ "postscriptName": "Inter-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1027,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1027
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Bold Italic",
+ "postscriptName": "Inter-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1015,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1015
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Inter",
+ "fullName": "Inter SemiBold Italic",
+ "postscriptName": "Inter-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 1005,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1005
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Medium Italic",
+ "postscriptName": "Inter-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Light Italic",
+ "postscriptName": "Inter-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 965,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 965
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Inter",
+ "fullName": "Inter ExtraLight Italic",
+ "postscriptName": "Inter-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 947,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 947
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Inter",
+ "fullName": "Inter Thin Italic",
+ "postscriptName": "Inter-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ }
+ }
+ },
+ "interTight": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Regular",
+ "postscriptName": "InterTight-Regular",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Thin",
+ "postscriptName": "InterTight-Thin",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "200": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight ExtraLight",
+ "postscriptName": "InterTight-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Light",
+ "postscriptName": "InterTight-Light",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "500": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Medium",
+ "postscriptName": "InterTight-Medium",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight SemiBold",
+ "postscriptName": "InterTight-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Bold",
+ "postscriptName": "InterTight-Bold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight ExtraBold",
+ "postscriptName": "InterTight-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 965,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 965
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Black",
+ "postscriptName": "InterTight-Black",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Regular",
+ "postscriptName": "InterTight-Regular",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Italic",
+ "postscriptName": "InterTight-Italic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 881,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 881
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Black Italic",
+ "postscriptName": "InterTight-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight ExtraBold Italic",
+ "postscriptName": "InterTight-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 965,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 965
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Bold Italic",
+ "postscriptName": "InterTight-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight SemiBold Italic",
+ "postscriptName": "InterTight-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Medium Italic",
+ "postscriptName": "InterTight-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Light Italic",
+ "postscriptName": "InterTight-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight ExtraLight Italic",
+ "postscriptName": "InterTight-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Inter Tight",
+ "fullName": "Inter Tight Thin Italic",
+ "postscriptName": "InterTight-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1490,
+ "ascent": 1984,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "irishGrover": {
+ "familyName": "Irish Grover",
+ "fullName": "Irish Grover Regular",
+ "postscriptName": "IrishGrover-Regular",
+ "category": "display",
+ "capHeight": 731,
+ "ascent": 965,
+ "descent": -246,
+ "lineGap": 27,
+ "unitsPerEm": 1024,
+ "xHeight": 573,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Irish Grover",
+ "fullName": "Irish Grover Regular",
+ "postscriptName": "IrishGrover-Regular",
+ "category": "display",
+ "capHeight": 731,
+ "ascent": 965,
+ "descent": -246,
+ "lineGap": 27,
+ "unitsPerEm": 1024,
+ "xHeight": 573,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ }
+ }
+ }
+ },
+ "islandMoments": {
+ "familyName": "Island Moments",
+ "fullName": "Island Moments Regular",
+ "postscriptName": "IslandMoments-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 750,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 288,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 288
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Island Moments",
+ "fullName": "Island Moments Regular",
+ "postscriptName": "IslandMoments-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 750,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 288,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 288
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "istokWeb": {
+ "familyName": "Istok Web",
+ "fullName": "Istok Web Regular",
+ "postscriptName": "IstokWeb-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2061,
+ "descent": -887,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Istok Web",
+ "fullName": "Istok Web Bold",
+ "postscriptName": "IstokWeb-Bold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2061,
+ "descent": -887,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1260
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Istok Web",
+ "fullName": "Istok Web Regular",
+ "postscriptName": "IstokWeb-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2061,
+ "descent": -887,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Istok Web",
+ "fullName": "Istok Web Italic",
+ "postscriptName": "IstokWeb-Italic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2061,
+ "descent": -887,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Istok Web",
+ "fullName": "Istok Web Bold Italic",
+ "postscriptName": "IstokWeb-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2061,
+ "descent": -887,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 1240
+ }
+ }
+ }
+ }
+ },
+ "italiana": {
+ "familyName": "Italiana",
+ "fullName": "Italiana",
+ "postscriptName": "Italiana-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 928,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Italiana",
+ "fullName": "Italiana",
+ "postscriptName": "Italiana-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 928,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "italianno": {
+ "familyName": "Italianno",
+ "fullName": "Italianno Regular",
+ "postscriptName": "Italianno-Regular",
+ "category": "handwriting",
+ "capHeight": 577,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 273,
+ "xWidthAvg": 266,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 266
+ },
+ "thai": {
+ "xWidthAvg": 398
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Italianno",
+ "fullName": "Italianno Regular",
+ "postscriptName": "Italianno-Regular",
+ "category": "handwriting",
+ "capHeight": 577,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 273,
+ "xWidthAvg": 266,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 266
+ },
+ "thai": {
+ "xWidthAvg": 398
+ }
+ }
+ }
+ }
+ },
+ "itim": {
+ "familyName": "Itim",
+ "fullName": "Itim",
+ "postscriptName": "Itim-Regular",
+ "category": "handwriting",
+ "capHeight": 635,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Itim",
+ "fullName": "Itim",
+ "postscriptName": "Itim-Regular",
+ "category": "handwriting",
+ "capHeight": 635,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ }
+ }
+ },
+ "jacquard12": {
+ "familyName": "Jacquard 12",
+ "fullName": "Jacquard 12 Regular",
+ "postscriptName": "Jacquard12-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1260,
+ "xHeight": 480,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquard 12",
+ "fullName": "Jacquard 12 Regular",
+ "postscriptName": "Jacquard12-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1260,
+ "xHeight": 480,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ }
+ }
+ },
+ "jacquard12Charted": {
+ "familyName": "Jacquard 12 Charted",
+ "fullName": "Jacquard 12 Charted Regular",
+ "postscriptName": "Jacquard12Charted-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1260,
+ "xHeight": 480,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquard 12 Charted",
+ "fullName": "Jacquard 12 Charted Regular",
+ "postscriptName": "Jacquard12Charted-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1260,
+ "xHeight": 480,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jacquard24": {
+ "familyName": "Jacquard 24",
+ "fullName": "Jacquard 24 Regular",
+ "postscriptName": "Jacquard24-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1020,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1290,
+ "xHeight": 510,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquard 24",
+ "fullName": "Jacquard 24 Regular",
+ "postscriptName": "Jacquard24-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1020,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1290,
+ "xHeight": 510,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ }
+ }
+ }
+ },
+ "jacquard24Charted": {
+ "familyName": "Jacquard 24 Charted",
+ "fullName": "Jacquard 24 Charted Regular",
+ "postscriptName": "Jacquard24Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1020,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1290,
+ "xHeight": 510,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquard 24 Charted",
+ "fullName": "Jacquard 24 Charted Regular",
+ "postscriptName": "Jacquard24Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1020,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1290,
+ "xHeight": 510,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ }
+ }
+ }
+ },
+ "jacquardaBastarda9": {
+ "familyName": "Jacquarda Bastarda 9",
+ "fullName": "Jacquarda Bastarda 9 Regular",
+ "postscriptName": "JacquardaBastarda9-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1045,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 480,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquarda Bastarda 9",
+ "fullName": "Jacquarda Bastarda 9 Regular",
+ "postscriptName": "JacquardaBastarda9-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1045,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 480,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ }
+ }
+ },
+ "jacquardaBastarda9Charted": {
+ "familyName": "Jacquarda Bastarda 9 Charted",
+ "fullName": "Jacquarda Bastarda 9 Charted Regular",
+ "postscriptName": "JacquardaBastarda9Charted-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1045,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 480,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacquarda Bastarda 9 Charted",
+ "fullName": "Jacquarda Bastarda 9 Charted Regular",
+ "postscriptName": "JacquardaBastarda9Charted-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 1045,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 480,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "jacquesFrancois": {
+ "familyName": "Jacques Francois",
+ "fullName": "Jacques Francois",
+ "postscriptName": "JacquesFrancois-Regular",
+ "category": "serif",
+ "capHeight": 1464,
+ "ascent": 2095,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 879,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacques Francois",
+ "fullName": "Jacques Francois",
+ "postscriptName": "JacquesFrancois-Regular",
+ "category": "serif",
+ "capHeight": 1464,
+ "ascent": 2095,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 879,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "jacquesFrancoisShadow": {
+ "familyName": "Jacques Francois Shadow",
+ "fullName": "Jacques Francois Shadow",
+ "postscriptName": "JacquesFrancoisShadow-Regular",
+ "category": "display",
+ "capHeight": 1513,
+ "ascent": 2095,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 1039,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1039
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jacques Francois Shadow",
+ "fullName": "Jacques Francois Shadow",
+ "postscriptName": "JacquesFrancoisShadow-Regular",
+ "category": "display",
+ "capHeight": 1513,
+ "ascent": 2095,
+ "descent": -606,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 1039,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1039
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "jaini": {
+ "familyName": "Jaini",
+ "fullName": "Jaini Regular",
+ "postscriptName": "Jaini-Regular",
+ "category": "display",
+ "capHeight": 639,
+ "ascent": 1048,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jaini",
+ "fullName": "Jaini Regular",
+ "postscriptName": "Jaini-Regular",
+ "category": "display",
+ "capHeight": 639,
+ "ascent": 1048,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ }
+ }
+ },
+ "jainiPurva": {
+ "familyName": "Jaini Purva",
+ "fullName": "Jaini Purva Regular",
+ "postscriptName": "JainiPurva-Regular",
+ "category": "display",
+ "capHeight": 639,
+ "ascent": 1048,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jaini Purva",
+ "fullName": "Jaini Purva Regular",
+ "postscriptName": "JainiPurva-Regular",
+ "category": "display",
+ "capHeight": 639,
+ "ascent": 1048,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 342
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ }
+ }
+ },
+ "jaldi": {
+ "familyName": "Jaldi",
+ "fullName": "Jaldi",
+ "postscriptName": "Jaldi-Regular",
+ "category": "sans-serif",
+ "capHeight": 1243,
+ "ascent": 2350,
+ "descent": -1111,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 786,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 786
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Jaldi",
+ "fullName": "Jaldi Bold",
+ "postscriptName": "Jaldi-Bold",
+ "category": "sans-serif",
+ "capHeight": 1243,
+ "ascent": 2350,
+ "descent": -1111,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 786,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 786
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Jaldi",
+ "fullName": "Jaldi",
+ "postscriptName": "Jaldi-Regular",
+ "category": "sans-serif",
+ "capHeight": 1243,
+ "ascent": 2350,
+ "descent": -1111,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 786,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 786
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ }
+ }
+ }
+ },
+ "jaro": {
+ "familyName": "Jaro",
+ "fullName": "Jaro Regular",
+ "postscriptName": "Jaro-Regular",
+ "category": "sans-serif",
+ "capHeight": 1333,
+ "ascent": 2000,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 1057
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jaro",
+ "fullName": "Jaro Regular",
+ "postscriptName": "Jaro-Regular",
+ "category": "sans-serif",
+ "capHeight": 1333,
+ "ascent": 2000,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 1057
+ }
+ }
+ }
+ }
+ },
+ "jersey10": {
+ "familyName": "Jersey 10",
+ "fullName": "Jersey 10 Regular",
+ "postscriptName": "Jersey10-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1125,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1400,
+ "xHeight": 600,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 10",
+ "fullName": "Jersey 10 Regular",
+ "postscriptName": "Jersey10-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1125,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1400,
+ "xHeight": 600,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jersey10Charted": {
+ "familyName": "Jersey 10 Charted",
+ "fullName": "Jersey 10 Charted Regular",
+ "postscriptName": "Jersey10Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1125,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1400,
+ "xHeight": 600,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 10 Charted",
+ "fullName": "Jersey 10 Charted Regular",
+ "postscriptName": "Jersey10Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1125,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1400,
+ "xHeight": 600,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jersey15": {
+ "familyName": "Jersey 15",
+ "fullName": "Jersey 15 Regular",
+ "postscriptName": "Jersey15-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1350,
+ "xHeight": 550,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 15",
+ "fullName": "Jersey 15 Regular",
+ "postscriptName": "Jersey15-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1350,
+ "xHeight": 550,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jersey15Charted": {
+ "familyName": "Jersey 15 Charted",
+ "fullName": "Jersey 15 Charted Regular",
+ "postscriptName": "Jersey15Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1350,
+ "xHeight": 550,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 15 Charted",
+ "fullName": "Jersey 15 Charted Regular",
+ "postscriptName": "Jersey15Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1350,
+ "xHeight": 550,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jersey20": {
+ "familyName": "Jersey 20",
+ "fullName": "Jersey 20 Regular",
+ "postscriptName": "Jersey20-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1026,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1292,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 20",
+ "fullName": "Jersey 20 Regular",
+ "postscriptName": "Jersey20-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1026,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1292,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "jersey20Charted": {
+ "familyName": "Jersey 20 Charted",
+ "fullName": "Jersey 20 Charted Regular",
+ "postscriptName": "Jersey20Charted-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1026,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1292,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 20 Charted",
+ "fullName": "Jersey 20 Charted Regular",
+ "postscriptName": "Jersey20Charted-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1026,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1292,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "jersey25": {
+ "familyName": "Jersey 25",
+ "fullName": "Jersey 25 Regular",
+ "postscriptName": "Jersey25-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 988,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1230,
+ "xHeight": 570,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 25",
+ "fullName": "Jersey 25 Regular",
+ "postscriptName": "Jersey25-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 988,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1230,
+ "xHeight": 570,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "jersey25Charted": {
+ "familyName": "Jersey 25 Charted",
+ "fullName": "Jersey 25 Charted Regular",
+ "postscriptName": "Jersey25Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 988,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1230,
+ "xHeight": 570,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jersey 25 Charted",
+ "fullName": "Jersey 25 Charted Regular",
+ "postscriptName": "Jersey25Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 988,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1230,
+ "xHeight": 570,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "jetBrainsMono": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Regular",
+ "postscriptName": "JetBrainsMono-Regular",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Thin",
+ "postscriptName": "JetBrainsMono-Thin",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono ExtraLight",
+ "postscriptName": "JetBrainsMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Light",
+ "postscriptName": "JetBrainsMono-Light",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Medium",
+ "postscriptName": "JetBrainsMono-Medium",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono SemiBold",
+ "postscriptName": "JetBrainsMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Bold",
+ "postscriptName": "JetBrainsMono-Bold",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono ExtraBold",
+ "postscriptName": "JetBrainsMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Regular",
+ "postscriptName": "JetBrainsMono-Regular",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Italic",
+ "postscriptName": "JetBrainsMono-Italic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono ExtraBold Italic",
+ "postscriptName": "JetBrainsMono-ExtraBoldItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Bold Italic",
+ "postscriptName": "JetBrainsMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono SemiBold Italic",
+ "postscriptName": "JetBrainsMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Medium Italic",
+ "postscriptName": "JetBrainsMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Light Italic",
+ "postscriptName": "JetBrainsMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono ExtraLight Italic",
+ "postscriptName": "JetBrainsMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "JetBrains Mono",
+ "fullName": "JetBrains Mono Thin Italic",
+ "postscriptName": "JetBrainsMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1020,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "jimNightshade": {
+ "familyName": "Jim Nightshade",
+ "fullName": "Jim Nightshade",
+ "postscriptName": "JimNightshade-Regular",
+ "category": "handwriting",
+ "capHeight": 1234,
+ "ascent": 1852,
+ "descent": -1050,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 623,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 623
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jim Nightshade",
+ "fullName": "Jim Nightshade",
+ "postscriptName": "JimNightshade-Regular",
+ "category": "handwriting",
+ "capHeight": 1234,
+ "ascent": 1852,
+ "descent": -1050,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 930,
+ "xWidthAvg": 623,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 623
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "joan": {
+ "familyName": "Joan",
+ "fullName": "Joan Regular",
+ "postscriptName": "Joan-Regular",
+ "category": "serif",
+ "capHeight": 707,
+ "ascent": 1000,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 742
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Joan",
+ "fullName": "Joan Regular",
+ "postscriptName": "Joan-Regular",
+ "category": "serif",
+ "capHeight": 707,
+ "ascent": 1000,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 742
+ }
+ }
+ }
+ }
+ },
+ "jockeyOne": {
+ "familyName": "Jockey One",
+ "fullName": "Jockey One",
+ "postscriptName": "JockeyOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1079,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jockey One",
+ "fullName": "Jockey One",
+ "postscriptName": "JockeyOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1079,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "jollyLodger": {
+ "familyName": "Jolly Lodger",
+ "fullName": "Jolly Lodger",
+ "postscriptName": "JollyLodger",
+ "category": "display",
+ "capHeight": 757,
+ "ascent": 988,
+ "descent": -257,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 642,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 195
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jolly Lodger",
+ "fullName": "Jolly Lodger",
+ "postscriptName": "JollyLodger",
+ "category": "display",
+ "capHeight": 757,
+ "ascent": 988,
+ "descent": -257,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 642,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 195
+ }
+ }
+ }
+ }
+ },
+ "jomhuria": {
+ "familyName": "Jomhuria",
+ "fullName": "Jomhuria",
+ "postscriptName": "Jomhuria-Regular",
+ "category": "display",
+ "capHeight": 1172,
+ "ascent": 1840,
+ "descent": -1160,
+ "lineGap": 0,
+ "unitsPerEm": 3000,
+ "xHeight": 850,
+ "xWidthAvg": 739,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 739
+ },
+ "thai": {
+ "xWidthAvg": 1100
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jomhuria",
+ "fullName": "Jomhuria",
+ "postscriptName": "Jomhuria-Regular",
+ "category": "display",
+ "capHeight": 1172,
+ "ascent": 1840,
+ "descent": -1160,
+ "lineGap": 0,
+ "unitsPerEm": 3000,
+ "xHeight": 850,
+ "xWidthAvg": 739,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 739
+ },
+ "thai": {
+ "xWidthAvg": 1100
+ }
+ }
+ }
+ }
+ },
+ "jomolhari": {
+ "familyName": "Jomolhari",
+ "fullName": "Jomolhari Regular",
+ "postscriptName": "Jomolhari-Regular",
+ "category": "serif",
+ "capHeight": 756,
+ "ascent": 1248,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 360,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jomolhari",
+ "fullName": "Jomolhari Regular",
+ "postscriptName": "Jomolhari-Regular",
+ "category": "serif",
+ "capHeight": 756,
+ "ascent": 1248,
+ "descent": -392,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 360,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 720
+ }
+ }
+ }
+ }
+ },
+ "josefinSans": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Regular",
+ "postscriptName": "JosefinSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Thin",
+ "postscriptName": "JosefinSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "200": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans ExtraLight",
+ "postscriptName": "JosefinSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "300": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Light",
+ "postscriptName": "JosefinSans-Light",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "500": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Medium",
+ "postscriptName": "JosefinSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "600": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans SemiBold",
+ "postscriptName": "JosefinSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "700": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Bold",
+ "postscriptName": "JosefinSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Regular",
+ "postscriptName": "JosefinSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Italic",
+ "postscriptName": "JosefinSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Bold Italic",
+ "postscriptName": "JosefinSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans SemiBold Italic",
+ "postscriptName": "JosefinSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Medium Italic",
+ "postscriptName": "JosefinSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Light Italic",
+ "postscriptName": "JosefinSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans ExtraLight Italic",
+ "postscriptName": "JosefinSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Josefin Sans",
+ "fullName": "Josefin Sans Thin Italic",
+ "postscriptName": "JosefinSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 378,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "josefinSlab": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Regular",
+ "postscriptName": "JosefinSlab-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Thin",
+ "postscriptName": "JosefinSlab-Thin",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "200": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab ExtraLight",
+ "postscriptName": "JosefinSlab-ExtraLight",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "300": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Light",
+ "postscriptName": "JosefinSlab-Light",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "500": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Medium",
+ "postscriptName": "JosefinSlab-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "600": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab SemiBold",
+ "postscriptName": "JosefinSlab-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "700": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Bold",
+ "postscriptName": "JosefinSlab-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Regular",
+ "postscriptName": "JosefinSlab-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Italic",
+ "postscriptName": "JosefinSlab-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Bold Italic",
+ "postscriptName": "JosefinSlab-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab SemiBold Italic",
+ "postscriptName": "JosefinSlab-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Medium Italic",
+ "postscriptName": "JosefinSlab-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Light Italic",
+ "postscriptName": "JosefinSlab-LightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab ExtraLight Italic",
+ "postscriptName": "JosefinSlab-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Josefin Slab",
+ "fullName": "Josefin Slab Thin Italic",
+ "postscriptName": "JosefinSlab-ThinItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "jost": {
+ "familyName": "Jost",
+ "fullName": "Jost Regular",
+ "postscriptName": "Jost-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Jost",
+ "fullName": "Jost Thin",
+ "postscriptName": "Jost-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Jost",
+ "fullName": "Jost ExtraLight",
+ "postscriptName": "Jost-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Jost",
+ "fullName": "Jost Light",
+ "postscriptName": "Jost-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Jost",
+ "fullName": "Jost Medium",
+ "postscriptName": "Jost-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Jost",
+ "fullName": "Jost SemiBold",
+ "postscriptName": "Jost-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Jost",
+ "fullName": "Jost Bold",
+ "postscriptName": "Jost-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Jost",
+ "fullName": "Jost ExtraBold",
+ "postscriptName": "Jost-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Jost",
+ "fullName": "Jost Black",
+ "postscriptName": "Jost-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Jost",
+ "fullName": "Jost Regular",
+ "postscriptName": "Jost-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Italic",
+ "postscriptName": "Jost-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Black Italic",
+ "postscriptName": "Jost-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Jost",
+ "fullName": "Jost ExtraBold Italic",
+ "postscriptName": "Jost-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Bold Italic",
+ "postscriptName": "Jost-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Jost",
+ "fullName": "Jost SemiBold Italic",
+ "postscriptName": "Jost-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Medium Italic",
+ "postscriptName": "Jost-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Light Italic",
+ "postscriptName": "Jost-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Jost",
+ "fullName": "Jost ExtraLight Italic",
+ "postscriptName": "Jost-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Jost",
+ "fullName": "Jost Thin Italic",
+ "postscriptName": "Jost-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "jotiOne": {
+ "familyName": "Joti One",
+ "fullName": "Joti One Regular",
+ "postscriptName": "JotiOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 1003,
+ "descent": -331,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 729
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Joti One",
+ "fullName": "Joti One Regular",
+ "postscriptName": "JotiOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 1003,
+ "descent": -331,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 729
+ }
+ }
+ }
+ }
+ },
+ "jua": {
+ "familyName": "Jua",
+ "fullName": "Jua Regular",
+ "postscriptName": "Jua-Regular",
+ "category": "sans-serif",
+ "capHeight": 711,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 432,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Jua",
+ "fullName": "Jua Regular",
+ "postscriptName": "Jua-Regular",
+ "category": "sans-serif",
+ "capHeight": 711,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 432,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ }
+ }
+ },
+ "judson": {
+ "familyName": "Judson",
+ "fullName": "Judson Regular",
+ "postscriptName": "Judson-Regular",
+ "category": "serif",
+ "capHeight": 585,
+ "ascent": 902,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Judson",
+ "fullName": "Judson Bold",
+ "postscriptName": "Judson-Bold",
+ "category": "serif",
+ "capHeight": 585,
+ "ascent": 908,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Judson",
+ "fullName": "Judson Regular",
+ "postscriptName": "Judson-Regular",
+ "category": "serif",
+ "capHeight": 585,
+ "ascent": 902,
+ "descent": -248,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Judson",
+ "fullName": "Judson Italic",
+ "postscriptName": "Judson-Italic",
+ "category": "serif",
+ "capHeight": 585,
+ "ascent": 902,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "julee": {
+ "familyName": "Julee",
+ "fullName": "Julee Regular",
+ "postscriptName": "Julee-Regular",
+ "category": "handwriting",
+ "capHeight": 206,
+ "ascent": 894,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 153,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Julee",
+ "fullName": "Julee Regular",
+ "postscriptName": "Julee-Regular",
+ "category": "handwriting",
+ "capHeight": 206,
+ "ascent": 894,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 153,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ }
+ }
+ },
+ "juliusSansOne": {
+ "familyName": "Julius Sans One",
+ "fullName": "Julius Sans One",
+ "postscriptName": "JuliusSansOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 863,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 649,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Julius Sans One",
+ "fullName": "Julius Sans One",
+ "postscriptName": "JuliusSansOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 863,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 649,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ }
+ }
+ },
+ "junge": {
+ "familyName": "Junge",
+ "fullName": "Junge",
+ "postscriptName": "Junge-Regular",
+ "category": "serif",
+ "capHeight": 1444,
+ "ascent": 1901,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1010,
+ "xWidthAvg": 961,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 961
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Junge",
+ "fullName": "Junge",
+ "postscriptName": "Junge-Regular",
+ "category": "serif",
+ "capHeight": 1444,
+ "ascent": 1901,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1010,
+ "xWidthAvg": 961,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 961
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "jura": {
+ "familyName": "Jura",
+ "fullName": "Jura Regular",
+ "postscriptName": "Jura-Regular",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 951,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 951
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Jura",
+ "fullName": "Jura Light",
+ "postscriptName": "Jura-Light",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Jura",
+ "fullName": "Jura Medium",
+ "postscriptName": "Jura-Medium",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Jura",
+ "fullName": "Jura SemiBold",
+ "postscriptName": "Jura-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 1018,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1018
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Jura",
+ "fullName": "Jura Bold",
+ "postscriptName": "Jura-Bold",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 1051,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1051
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Jura",
+ "fullName": "Jura Regular",
+ "postscriptName": "Jura-Regular",
+ "category": "sans-serif",
+ "capHeight": 1266,
+ "ascent": 1930,
+ "descent": -436,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 922,
+ "xWidthAvg": 951,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 951
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "justAnotherHand": {
+ "familyName": "Just Another Hand",
+ "fullName": "Just Another Hand Regular",
+ "postscriptName": "JustAnotherHand-Regular",
+ "category": "handwriting",
+ "capHeight": 1436,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 880,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Just Another Hand",
+ "fullName": "Just Another Hand Regular",
+ "postscriptName": "JustAnotherHand-Regular",
+ "category": "handwriting",
+ "capHeight": 1436,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 880,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "justMeAgainDownHere": {
+ "familyName": "Just Me Again Down Here",
+ "fullName": "Just Me Again Down Here",
+ "postscriptName": "JustMeAgainDownHere",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 1069,
+ "descent": -429,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 289,
+ "xWidthAvg": 315,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 315
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Just Me Again Down Here",
+ "fullName": "Just Me Again Down Here",
+ "postscriptName": "JustMeAgainDownHere",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 1069,
+ "descent": -429,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 289,
+ "xWidthAvg": 315,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 315
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "k2D": {
+ "familyName": "K2D",
+ "fullName": "K2D Regular",
+ "postscriptName": "K2D-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "K2D",
+ "fullName": "K2D Thin",
+ "postscriptName": "K2D-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "200": {
+ "familyName": "K2D",
+ "fullName": "K2D ExtraLight",
+ "postscriptName": "K2D-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "300": {
+ "familyName": "K2D",
+ "fullName": "K2D Light",
+ "postscriptName": "K2D-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ }
+ },
+ "500": {
+ "familyName": "K2D",
+ "fullName": "K2D Medium",
+ "postscriptName": "K2D-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 575
+ }
+ }
+ },
+ "600": {
+ "familyName": "K2D",
+ "fullName": "K2D SemiBold",
+ "postscriptName": "K2D-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ },
+ "700": {
+ "familyName": "K2D",
+ "fullName": "K2D Bold",
+ "postscriptName": "K2D-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "800": {
+ "familyName": "K2D",
+ "fullName": "K2D ExtraBold",
+ "postscriptName": "K2D-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 592
+ }
+ }
+ },
+ "regular": {
+ "familyName": "K2D",
+ "fullName": "K2D Regular",
+ "postscriptName": "K2D-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "italic": {
+ "familyName": "K2D",
+ "fullName": "K2D Italic",
+ "postscriptName": "K2D-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "K2D",
+ "fullName": "K2D ExtraBold Italic",
+ "postscriptName": "K2D-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 592
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "K2D",
+ "fullName": "K2D Bold Italic",
+ "postscriptName": "K2D-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "K2D",
+ "fullName": "K2D SemiBold Italic",
+ "postscriptName": "K2D-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "K2D",
+ "fullName": "K2D Medium Italic",
+ "postscriptName": "K2D-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 575
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "K2D",
+ "fullName": "K2D Light Italic",
+ "postscriptName": "K2D-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 565
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "K2D",
+ "fullName": "K2D ExtraLight Italic",
+ "postscriptName": "K2D-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "K2D",
+ "fullName": "K2D Thin Italic",
+ "postscriptName": "K2D-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1048,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ }
+ }
+ },
+ "kablammo": {
+ "familyName": "Kablammo",
+ "fullName": "Kablammo Regular",
+ "postscriptName": "Kablammo-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 2078,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1252
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kablammo",
+ "fullName": "Kablammo Regular",
+ "postscriptName": "Kablammo-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 2078,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1100,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1252
+ }
+ }
+ }
+ }
+ },
+ "kadwa": {
+ "familyName": "Kadwa",
+ "fullName": "Kadwa",
+ "postscriptName": "Kadwa-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 2691,
+ "descent": -1421,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Kadwa",
+ "fullName": "Kadwa Bold",
+ "postscriptName": "Kadwa-Bold",
+ "category": "serif",
+ "capHeight": 1444,
+ "ascent": 2691,
+ "descent": -1421,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1106,
+ "xWidthAvg": 1040,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1040
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kadwa",
+ "fullName": "Kadwa",
+ "postscriptName": "Kadwa-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 2691,
+ "descent": -1421,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 1228
+ }
+ }
+ }
+ }
+ },
+ "kaiseiDecol": {
+ "familyName": "Kaisei Decol",
+ "fullName": "Kaisei Decol Regular",
+ "postscriptName": "KaiseiDecol-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kaisei Decol",
+ "fullName": "Kaisei Decol Medium",
+ "postscriptName": "KaiseiDecol-Medium",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kaisei Decol",
+ "fullName": "Kaisei Decol Bold",
+ "postscriptName": "KaiseiDecol-Bold",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kaisei Decol",
+ "fullName": "Kaisei Decol Regular",
+ "postscriptName": "KaiseiDecol-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "kaiseiHarunoUmi": {
+ "familyName": "Kaisei HarunoUmi",
+ "fullName": "Kaisei HarunoUmi Regular",
+ "postscriptName": "KaiseiHarunoUmi-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kaisei HarunoUmi",
+ "fullName": "Kaisei HarunoUmi Medium",
+ "postscriptName": "KaiseiHarunoUmi-Medium",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kaisei HarunoUmi",
+ "fullName": "Kaisei HarunoUmi Bold",
+ "postscriptName": "KaiseiHarunoUmi-Bold",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kaisei HarunoUmi",
+ "fullName": "Kaisei HarunoUmi Regular",
+ "postscriptName": "KaiseiHarunoUmi-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "kaiseiOpti": {
+ "familyName": "Kaisei Opti",
+ "fullName": "Kaisei Opti Regular",
+ "postscriptName": "KaiseiOpti-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kaisei Opti",
+ "fullName": "Kaisei Opti Medium",
+ "postscriptName": "KaiseiOpti-Medium",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kaisei Opti",
+ "fullName": "Kaisei Opti Bold",
+ "postscriptName": "KaiseiOpti-Bold",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kaisei Opti",
+ "fullName": "Kaisei Opti Regular",
+ "postscriptName": "KaiseiOpti-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "kaiseiTokumin": {
+ "familyName": "Kaisei Tokumin",
+ "fullName": "Kaisei Tokumin Regular",
+ "postscriptName": "KaiseiTokumin-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kaisei Tokumin",
+ "fullName": "Kaisei Tokumin Medium",
+ "postscriptName": "KaiseiTokumin-Medium",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kaisei Tokumin",
+ "fullName": "Kaisei Tokumin Bold",
+ "postscriptName": "KaiseiTokumin-Bold",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Kaisei Tokumin",
+ "fullName": "Kaisei Tokumin ExtraBold",
+ "postscriptName": "KaiseiTokumin-ExtraBold",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kaisei Tokumin",
+ "fullName": "Kaisei Tokumin Regular",
+ "postscriptName": "KaiseiTokumin-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "kalam": {
+ "familyName": "Kalam",
+ "fullName": "Kalam",
+ "postscriptName": "Kalam-Regular",
+ "category": "handwriting",
+ "capHeight": 739,
+ "ascent": 1063,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 752
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Kalam",
+ "fullName": "Kalam Light",
+ "postscriptName": "Kalam-Light",
+ "category": "handwriting",
+ "capHeight": 727,
+ "ascent": 1063,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kalam",
+ "fullName": "Kalam Bold",
+ "postscriptName": "Kalam-Bold",
+ "category": "handwriting",
+ "capHeight": 760,
+ "ascent": 1063,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kalam",
+ "fullName": "Kalam",
+ "postscriptName": "Kalam-Regular",
+ "category": "handwriting",
+ "capHeight": 739,
+ "ascent": 1063,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 752
+ }
+ }
+ }
+ }
+ },
+ "kalnia": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Regular",
+ "postscriptName": "Kalnia-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Thin",
+ "postscriptName": "Kalnia-Thin",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "200": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia ExtraLight",
+ "postscriptName": "Kalnia-ExtraLight",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Light",
+ "postscriptName": "Kalnia-Light",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Medium",
+ "postscriptName": "Kalnia-Medium",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia SemiBold",
+ "postscriptName": "Kalnia-SemiBold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Bold",
+ "postscriptName": "Kalnia-Bold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kalnia",
+ "fullName": "Kalnia Regular",
+ "postscriptName": "Kalnia-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ }
+ }
+ },
+ "kalniaGlaze": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Regular",
+ "postscriptName": "KalniaGlaze-Regular",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Thin",
+ "postscriptName": "KalniaGlaze-Thin",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "200": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze ExtraLight",
+ "postscriptName": "KalniaGlaze-ExtraLight",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Light",
+ "postscriptName": "KalniaGlaze-Light",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Medium",
+ "postscriptName": "KalniaGlaze-Medium",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze SemiBold",
+ "postscriptName": "KalniaGlaze-SemiBold",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Bold",
+ "postscriptName": "KalniaGlaze-Bold",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kalnia Glaze",
+ "fullName": "Kalnia Glaze Regular",
+ "postscriptName": "KalniaGlaze-Regular",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 1045,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ }
+ }
+ },
+ "kameron": {
+ "familyName": "Kameron",
+ "fullName": "Kameron Regular",
+ "postscriptName": "Kameron-Regular",
+ "category": "serif",
+ "capHeight": 1290,
+ "ascent": 1823,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 895,
+ "xWidthAvg": 914,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 914
+ },
+ "thai": {
+ "xWidthAvg": 1297
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kameron",
+ "fullName": "Kameron Medium",
+ "postscriptName": "Kameron-Medium",
+ "category": "serif",
+ "capHeight": 1296,
+ "ascent": 1823,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 899,
+ "xWidthAvg": 953,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 953
+ },
+ "thai": {
+ "xWidthAvg": 1330
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kameron",
+ "fullName": "Kameron SemiBold",
+ "postscriptName": "Kameron-SemiBold",
+ "category": "serif",
+ "capHeight": 1302,
+ "ascent": 1823,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 904,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 1364
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kameron",
+ "fullName": "Kameron Bold",
+ "postscriptName": "Kameron-Bold",
+ "category": "serif",
+ "capHeight": 1308,
+ "ascent": 1823,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 908,
+ "xWidthAvg": 1031,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1031
+ },
+ "thai": {
+ "xWidthAvg": 1397
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kameron",
+ "fullName": "Kameron Regular",
+ "postscriptName": "Kameron-Regular",
+ "category": "serif",
+ "capHeight": 1290,
+ "ascent": 1823,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 895,
+ "xWidthAvg": 914,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 914
+ },
+ "thai": {
+ "xWidthAvg": 1297
+ }
+ }
+ }
+ }
+ },
+ "kanit": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Regular",
+ "postscriptName": "Kanit-Regular",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Thin",
+ "postscriptName": "Kanit-Thin",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "200": {
+ "familyName": "Kanit",
+ "fullName": "Kanit ExtraLight",
+ "postscriptName": "Kanit-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Light",
+ "postscriptName": "Kanit-Light",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 544
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Medium",
+ "postscriptName": "Kanit-Medium",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kanit",
+ "fullName": "Kanit SemiBold",
+ "postscriptName": "Kanit-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Bold",
+ "postscriptName": "Kanit-Bold",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "800": {
+ "familyName": "Kanit",
+ "fullName": "Kanit ExtraBold",
+ "postscriptName": "Kanit-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 577
+ }
+ }
+ },
+ "900": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Black",
+ "postscriptName": "Kanit-Black",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Regular",
+ "postscriptName": "Kanit-Regular",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Italic",
+ "postscriptName": "Kanit-Italic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Black Italic",
+ "postscriptName": "Kanit-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit ExtraBold Italic",
+ "postscriptName": "Kanit-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Bold Italic",
+ "postscriptName": "Kanit-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit SemiBold Italic",
+ "postscriptName": "Kanit-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Medium Italic",
+ "postscriptName": "Kanit-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Light Italic",
+ "postscriptName": "Kanit-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit ExtraLight Italic",
+ "postscriptName": "Kanit-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Kanit",
+ "fullName": "Kanit Thin Italic",
+ "postscriptName": "Kanit-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 644,
+ "ascent": 1100,
+ "descent": -395,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 525
+ }
+ }
+ }
+ }
+ },
+ "kantumruyPro": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Regular",
+ "postscriptName": "KantumruyPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Thin",
+ "postscriptName": "KantumruyPro-Thin",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro ExtraLight",
+ "postscriptName": "KantumruyPro-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Light",
+ "postscriptName": "KantumruyPro-Light",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Medium",
+ "postscriptName": "KantumruyPro-Medium",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro SemiBold",
+ "postscriptName": "KantumruyPro-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Bold",
+ "postscriptName": "KantumruyPro-Bold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Regular",
+ "postscriptName": "KantumruyPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Italic",
+ "postscriptName": "KantumruyPro-Italic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Bold Italic",
+ "postscriptName": "KantumruyPro-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro SemiBold Italic",
+ "postscriptName": "KantumruyPro-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Medium Italic",
+ "postscriptName": "KantumruyPro-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Light Italic",
+ "postscriptName": "KantumruyPro-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro ExtraLight Italic",
+ "postscriptName": "KantumruyPro-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Kantumruy Pro",
+ "fullName": "Kantumruy Pro Thin Italic",
+ "postscriptName": "KantumruyPro-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 920,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "karantina": {
+ "familyName": "Karantina",
+ "fullName": "Karantina Regular",
+ "postscriptName": "Karantina-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 859,
+ "descent": -153,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 435
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Karantina",
+ "fullName": "Karantina Light",
+ "postscriptName": "Karantina-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 859,
+ "descent": -153,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 223,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 223
+ },
+ "thai": {
+ "xWidthAvg": 381
+ }
+ }
+ },
+ "700": {
+ "familyName": "Karantina",
+ "fullName": "Karantina Bold",
+ "postscriptName": "Karantina-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 859,
+ "descent": -153,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 318,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 318
+ },
+ "thai": {
+ "xWidthAvg": 435
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Karantina",
+ "fullName": "Karantina Regular",
+ "postscriptName": "Karantina-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 859,
+ "descent": -153,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 435
+ }
+ }
+ }
+ }
+ },
+ "karla": {
+ "familyName": "Karla",
+ "fullName": "Karla Regular",
+ "postscriptName": "Karla-Regular",
+ "category": "sans-serif",
+ "capHeight": 1256,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 956,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Karla",
+ "fullName": "Karla ExtraLight",
+ "postscriptName": "Karla-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1213,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 940,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "300": {
+ "familyName": "Karla",
+ "fullName": "Karla Light",
+ "postscriptName": "Karla-Light",
+ "category": "sans-serif",
+ "capHeight": 1235,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 948,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "500": {
+ "familyName": "Karla",
+ "fullName": "Karla Medium",
+ "postscriptName": "Karla-Medium",
+ "category": "sans-serif",
+ "capHeight": 1274,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 963,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "600": {
+ "familyName": "Karla",
+ "fullName": "Karla SemiBold",
+ "postscriptName": "Karla-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1286,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 968,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "700": {
+ "familyName": "Karla",
+ "fullName": "Karla Bold",
+ "postscriptName": "Karla-Bold",
+ "category": "sans-serif",
+ "capHeight": 1298,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 972,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "800": {
+ "familyName": "Karla",
+ "fullName": "Karla ExtraBold",
+ "postscriptName": "Karla-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1342,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 989,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Karla",
+ "fullName": "Karla Regular",
+ "postscriptName": "Karla-Regular",
+ "category": "sans-serif",
+ "capHeight": 1256,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 956,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Karla",
+ "fullName": "Karla Italic",
+ "postscriptName": "Karla-Italic",
+ "category": "sans-serif",
+ "capHeight": 1258,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 956,
+ "xWidthAvg": 826,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 826
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Karla",
+ "fullName": "Karla ExtraBold Italic",
+ "postscriptName": "Karla-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 991,
+ "xWidthAvg": 909,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 909
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Karla",
+ "fullName": "Karla Bold Italic",
+ "postscriptName": "Karla-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1298,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 972,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Karla",
+ "fullName": "Karla SemiBold Italic",
+ "postscriptName": "Karla-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1288,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 968,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Karla",
+ "fullName": "Karla Medium Italic",
+ "postscriptName": "Karla-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1277,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 964,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Karla",
+ "fullName": "Karla Light Italic",
+ "postscriptName": "Karla-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1237,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 948,
+ "xWidthAvg": 806,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 806
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Karla",
+ "fullName": "Karla ExtraLight Italic",
+ "postscriptName": "Karla-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1215,
+ "ascent": 1834,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 939,
+ "xWidthAvg": 785,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 785
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ }
+ }
+ },
+ "karlaTamilInclined": {
+ "familyName": "Karla Tamil Inclined",
+ "fullName": "Karla Tamil Inclined",
+ "postscriptName": "KarlaTamilInclined-Regular",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 796,
+ "descent": -345,
+ "lineGap": 17,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Karla Tamil Inclined",
+ "fullName": "Karla Tamil Inclined Bold",
+ "postscriptName": "KarlaTamilInclined-Bold",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 796,
+ "descent": -345,
+ "lineGap": 17,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Karla Tamil Inclined",
+ "fullName": "Karla Tamil Inclined",
+ "postscriptName": "KarlaTamilInclined-Regular",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 796,
+ "descent": -345,
+ "lineGap": 17,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ }
+ }
+ },
+ "karlaTamilUpright": {
+ "familyName": "Karla Tamil Upright",
+ "fullName": "Karla Tamil Upright",
+ "postscriptName": "KarlaTamilUpright-Regular",
+ "category": "sans-serif",
+ "capHeight": 727,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 9,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Karla Tamil Upright",
+ "fullName": "Karla Tamil Upright Bold",
+ "postscriptName": "KarlaTamilUpright-Bold",
+ "category": "sans-serif",
+ "capHeight": 741,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 9,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Karla Tamil Upright",
+ "fullName": "Karla Tamil Upright",
+ "postscriptName": "KarlaTamilUpright-Regular",
+ "category": "sans-serif",
+ "capHeight": 727,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 9,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ }
+ }
+ },
+ "karma": {
+ "familyName": "Karma",
+ "fullName": "Karma Regular",
+ "postscriptName": "Karma-Regular",
+ "category": "serif",
+ "capHeight": 677,
+ "ascent": 945,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Karma",
+ "fullName": "Karma Light",
+ "postscriptName": "Karma-Light",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 945,
+ "descent": -474,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "500": {
+ "familyName": "Karma",
+ "fullName": "Karma Medium",
+ "postscriptName": "Karma-Medium",
+ "category": "serif",
+ "capHeight": 679,
+ "ascent": 945,
+ "descent": -548,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "600": {
+ "familyName": "Karma",
+ "fullName": "Karma SemiBold",
+ "postscriptName": "Karma-SemiBold",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 950,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "700": {
+ "familyName": "Karma",
+ "fullName": "Karma Bold",
+ "postscriptName": "Karma-Bold",
+ "category": "serif",
+ "capHeight": 685,
+ "ascent": 982,
+ "descent": -646,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Karma",
+ "fullName": "Karma Regular",
+ "postscriptName": "Karma-Regular",
+ "category": "serif",
+ "capHeight": 677,
+ "ascent": 945,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "katibeh": {
+ "familyName": "Katibeh",
+ "fullName": "Katibeh Regular",
+ "postscriptName": "Katibeh-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 490,
+ "descent": -510,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Katibeh",
+ "fullName": "Katibeh Regular",
+ "postscriptName": "Katibeh-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 490,
+ "descent": -510,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "kaushanScript": {
+ "familyName": "Kaushan Script",
+ "fullName": "Kaushan Script",
+ "postscriptName": "KaushanScript-Regular",
+ "category": "handwriting",
+ "capHeight": 714,
+ "ascent": 1084,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 444
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kaushan Script",
+ "fullName": "Kaushan Script",
+ "postscriptName": "KaushanScript-Regular",
+ "category": "handwriting",
+ "capHeight": 714,
+ "ascent": 1084,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 444
+ }
+ }
+ }
+ }
+ },
+ "kavivanar": {
+ "familyName": "Kavivanar",
+ "fullName": "Kavivanar Regular",
+ "postscriptName": "Kavivanar-Regular",
+ "category": "handwriting",
+ "ascent": 1065,
+ "descent": -417,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 347
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kavivanar",
+ "fullName": "Kavivanar Regular",
+ "postscriptName": "Kavivanar-Regular",
+ "category": "handwriting",
+ "ascent": 1065,
+ "descent": -417,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 347
+ }
+ }
+ }
+ }
+ },
+ "kavoon": {
+ "familyName": "Kavoon",
+ "fullName": "Kavoon",
+ "postscriptName": "Kavoon-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1185,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1872
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kavoon",
+ "fullName": "Kavoon",
+ "postscriptName": "Kavoon-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1185,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1872
+ }
+ }
+ }
+ }
+ },
+ "kayPhoDu": {
+ "familyName": "Kay Pho Du",
+ "fullName": "Kay Pho Du",
+ "postscriptName": "KayPhoDu-Regular",
+ "category": "serif",
+ "capHeight": 1563,
+ "ascent": 1944,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1966
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kay Pho Du",
+ "fullName": "Kay Pho Du Medium",
+ "postscriptName": "KayPhoDu-Medium",
+ "category": "serif",
+ "capHeight": 1563,
+ "ascent": 1944,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 947,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 947
+ },
+ "thai": {
+ "xWidthAvg": 1955
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kay Pho Du",
+ "fullName": "Kay Pho Du SemiBold",
+ "postscriptName": "KayPhoDu-SemiBold",
+ "category": "serif",
+ "capHeight": 1563,
+ "ascent": 1944,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 948,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 948
+ },
+ "thai": {
+ "xWidthAvg": 1944
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kay Pho Du",
+ "fullName": "Kay Pho Du Bold",
+ "postscriptName": "KayPhoDu-Bold",
+ "category": "serif",
+ "capHeight": 1563,
+ "ascent": 1944,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 950,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 950
+ },
+ "thai": {
+ "xWidthAvg": 1933
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kay Pho Du",
+ "fullName": "Kay Pho Du",
+ "postscriptName": "KayPhoDu-Regular",
+ "category": "serif",
+ "capHeight": 1563,
+ "ascent": 1944,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1050,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1966
+ }
+ }
+ }
+ }
+ },
+ "kdamThmorPro": {
+ "familyName": "Kdam Thmor Pro",
+ "fullName": "Kdam Thmor Pro Regular",
+ "postscriptName": "KdamThmorPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 793,
+ "ascent": 1146,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 612,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kdam Thmor Pro",
+ "fullName": "Kdam Thmor Pro Regular",
+ "postscriptName": "KdamThmorPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 793,
+ "ascent": 1146,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 612,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "keaniaOne": {
+ "familyName": "Keania One",
+ "fullName": "Keania One",
+ "postscriptName": "KeaniaOne-Regular",
+ "category": "display",
+ "capHeight": 723,
+ "ascent": 989,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Keania One",
+ "fullName": "Keania One",
+ "postscriptName": "KeaniaOne-Regular",
+ "category": "display",
+ "capHeight": 723,
+ "ascent": 989,
+ "descent": -228,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "kellySlab": {
+ "familyName": "Kelly Slab",
+ "fullName": "Kelly Slab",
+ "postscriptName": "KellySlab-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 962,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kelly Slab",
+ "fullName": "Kelly Slab",
+ "postscriptName": "KellySlab-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 962,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "kenia": {
+ "familyName": "Kenia",
+ "fullName": "Kenia",
+ "postscriptName": "Kenia-Regular",
+ "category": "display",
+ "capHeight": 727,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 194
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kenia",
+ "fullName": "Kenia",
+ "postscriptName": "Kenia-Regular",
+ "category": "display",
+ "capHeight": 727,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 194
+ }
+ }
+ }
+ }
+ },
+ "khand": {
+ "familyName": "Khand",
+ "fullName": "Khand Regular",
+ "postscriptName": "Khand-Regular",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 569,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Khand",
+ "fullName": "Khand Light",
+ "postscriptName": "Khand-Light",
+ "category": "sans-serif",
+ "capHeight": 666,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 346,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 346
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Khand",
+ "fullName": "Khand Medium",
+ "postscriptName": "Khand-Medium",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "600": {
+ "familyName": "Khand",
+ "fullName": "Khand SemiBold",
+ "postscriptName": "Khand-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "700": {
+ "familyName": "Khand",
+ "fullName": "Khand Bold",
+ "postscriptName": "Khand-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 590,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Khand",
+ "fullName": "Khand Regular",
+ "postscriptName": "Khand-Regular",
+ "category": "sans-serif",
+ "capHeight": 672,
+ "ascent": 1050,
+ "descent": -479,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 569,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "khmer": {
+ "familyName": "Khmer",
+ "fullName": "Khmer",
+ "postscriptName": "Khmer",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2300,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1761,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1761
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Khmer",
+ "fullName": "Khmer",
+ "postscriptName": "Khmer",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2300,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1761,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1761
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "khula": {
+ "familyName": "Khula",
+ "fullName": "Khula Regular",
+ "postscriptName": "Khula-Regular",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 986,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Khula",
+ "fullName": "Khula Light",
+ "postscriptName": "Khula-Light",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 978,
+ "xWidthAvg": 841,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 841
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ }
+ },
+ "600": {
+ "familyName": "Khula",
+ "fullName": "Khula SemiBold",
+ "postscriptName": "Khula-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 995,
+ "xWidthAvg": 904,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 904
+ },
+ "thai": {
+ "xWidthAvg": 1067
+ }
+ }
+ },
+ "700": {
+ "familyName": "Khula",
+ "fullName": "Khula Bold",
+ "postscriptName": "Khula-Bold",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 1006,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 1104
+ }
+ }
+ },
+ "800": {
+ "familyName": "Khula",
+ "fullName": "Khula ExtraBold",
+ "postscriptName": "Khula-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 1020,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1133
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Khula",
+ "fullName": "Khula Regular",
+ "postscriptName": "Khula-Regular",
+ "category": "sans-serif",
+ "capHeight": 1316,
+ "ascent": 1978,
+ "descent": -1198,
+ "lineGap": 0,
+ "unitsPerEm": 1978,
+ "xHeight": 986,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ }
+ }
+ }
+ },
+ "kings": {
+ "familyName": "Kings",
+ "fullName": "Kings Regular",
+ "postscriptName": "Kings-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 950,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kings",
+ "fullName": "Kings Regular",
+ "postscriptName": "Kings-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 950,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "kirangHaerang": {
+ "familyName": "Kirang Haerang",
+ "fullName": "Kirang Haerang Regular",
+ "postscriptName": "KirangHaerang-Regular",
+ "category": "display",
+ "capHeight": 558,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 337,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kirang Haerang",
+ "fullName": "Kirang Haerang Regular",
+ "postscriptName": "KirangHaerang-Regular",
+ "category": "display",
+ "capHeight": 558,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 337,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ }
+ }
+ },
+ "kiteOne": {
+ "familyName": "Kite One",
+ "fullName": "Kite One Regular",
+ "postscriptName": "KiteOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 860,
+ "ascent": 1094,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 705
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kite One",
+ "fullName": "Kite One Regular",
+ "postscriptName": "KiteOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 860,
+ "ascent": 1094,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 705
+ }
+ }
+ }
+ }
+ },
+ "kiwiMaru": {
+ "familyName": "Kiwi Maru",
+ "fullName": "Kiwi Maru Regular",
+ "postscriptName": "KiwiMaru-Regular",
+ "category": "serif",
+ "capHeight": 727,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Kiwi Maru",
+ "fullName": "Kiwi Maru Light",
+ "postscriptName": "KiwiMaru-Light",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kiwi Maru",
+ "fullName": "Kiwi Maru Medium",
+ "postscriptName": "KiwiMaru-Medium",
+ "category": "serif",
+ "capHeight": 731,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kiwi Maru",
+ "fullName": "Kiwi Maru Regular",
+ "postscriptName": "KiwiMaru-Regular",
+ "category": "serif",
+ "capHeight": 727,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "kleeOne": {
+ "familyName": "Klee One",
+ "fullName": "Klee One Regular",
+ "postscriptName": "KleeOne-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "600": {
+ "familyName": "Klee One",
+ "fullName": "Klee One SemiBold",
+ "postscriptName": "KleeOne-SemiBold",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Klee One",
+ "fullName": "Klee One Regular",
+ "postscriptName": "KleeOne-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "knewave": {
+ "familyName": "Knewave",
+ "fullName": "Knewave",
+ "postscriptName": "Knewave-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1169,
+ "descent": -385,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 312
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Knewave",
+ "fullName": "Knewave",
+ "postscriptName": "Knewave-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1169,
+ "descent": -385,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 312
+ }
+ }
+ }
+ }
+ },
+ "koHo": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Regular",
+ "postscriptName": "KoHo-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "KoHo",
+ "fullName": "KoHo ExtraLight",
+ "postscriptName": "KoHo-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ },
+ "300": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Light",
+ "postscriptName": "KoHo-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ }
+ },
+ "500": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Medium",
+ "postscriptName": "KoHo-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "600": {
+ "familyName": "KoHo",
+ "fullName": "KoHo SemiBold",
+ "postscriptName": "KoHo-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "700": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Bold",
+ "postscriptName": "KoHo-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "regular": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Regular",
+ "postscriptName": "KoHo-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Italic",
+ "postscriptName": "KoHo-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Bold Italic",
+ "postscriptName": "KoHo-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo SemiBold Italic",
+ "postscriptName": "KoHo-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Medium Italic",
+ "postscriptName": "KoHo-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo Light Italic",
+ "postscriptName": "KoHo-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "KoHo",
+ "fullName": "KoHo ExtraLight Italic",
+ "postscriptName": "KoHo-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 535
+ }
+ }
+ }
+ }
+ },
+ "kodchasan": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Regular",
+ "postscriptName": "Kodchasan-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan ExtraLight",
+ "postscriptName": "Kodchasan-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Light",
+ "postscriptName": "Kodchasan-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Medium",
+ "postscriptName": "Kodchasan-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan SemiBold",
+ "postscriptName": "Kodchasan-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Bold",
+ "postscriptName": "Kodchasan-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Regular",
+ "postscriptName": "Kodchasan-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Italic",
+ "postscriptName": "Kodchasan-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Bold Italic",
+ "postscriptName": "Kodchasan-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan SemiBold Italic",
+ "postscriptName": "Kodchasan-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Medium Italic",
+ "postscriptName": "Kodchasan-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan Light Italic",
+ "postscriptName": "Kodchasan-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Kodchasan",
+ "fullName": "Kodchasan ExtraLight Italic",
+ "postscriptName": "Kodchasan-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1024,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 621
+ }
+ }
+ }
+ }
+ },
+ "kodeMono": {
+ "familyName": "Kode Mono",
+ "fullName": "Kode Mono Regular",
+ "postscriptName": "KodeMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kode Mono",
+ "fullName": "Kode Mono Medium",
+ "postscriptName": "KodeMono-Medium",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kode Mono",
+ "fullName": "Kode Mono SemiBold",
+ "postscriptName": "KodeMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kode Mono",
+ "fullName": "Kode Mono Bold",
+ "postscriptName": "KodeMono-Bold",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kode Mono",
+ "fullName": "Kode Mono Regular",
+ "postscriptName": "KodeMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "kohSantepheap": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Regular",
+ "postscriptName": "KohSantepheap-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Thin",
+ "postscriptName": "KohSantepheap-Thin",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Light",
+ "postscriptName": "KohSantepheap-Light",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 950,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 950
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Bold",
+ "postscriptName": "KohSantepheap-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 1047,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1047
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Black",
+ "postscriptName": "KohSantepheap-Black",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 1092,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1092
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Koh Santepheap",
+ "fullName": "Koh Santepheap Regular",
+ "postscriptName": "KohSantepheap-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2050,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "kolkerBrush": {
+ "familyName": "Kolker Brush",
+ "fullName": "Kolker Brush Regular",
+ "postscriptName": "KolkerBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 750,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 205,
+ "xWidthAvg": 226,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 226
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kolker Brush",
+ "fullName": "Kolker Brush Regular",
+ "postscriptName": "KolkerBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 750,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 205,
+ "xWidthAvg": 226,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 226
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ }
+ }
+ },
+ "konkhmerSleokchher": {
+ "familyName": "Konkhmer Sleokchher",
+ "fullName": "Konkhmer Sleokchher Regular",
+ "postscriptName": "KonkhmerSleokchher-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1012,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1012
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Konkhmer Sleokchher",
+ "fullName": "Konkhmer Sleokchher Regular",
+ "postscriptName": "KonkhmerSleokchher-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1012,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1012
+ },
+ "thai": {
+ "xWidthAvg": 1344
+ }
+ }
+ }
+ }
+ },
+ "kosugi": {
+ "familyName": "Kosugi",
+ "fullName": "Kosugi Regular",
+ "postscriptName": "Kosugi-Regular",
+ "category": "sans-serif",
+ "capHeight": 774,
+ "ascent": 901,
+ "descent": -123,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 539,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kosugi",
+ "fullName": "Kosugi Regular",
+ "postscriptName": "Kosugi-Regular",
+ "category": "sans-serif",
+ "capHeight": 774,
+ "ascent": 901,
+ "descent": -123,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 539,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "kosugiMaru": {
+ "familyName": "Kosugi Maru",
+ "fullName": "Kosugi Maru Regular",
+ "postscriptName": "KosugiMaru-Regular",
+ "category": "sans-serif",
+ "capHeight": 781,
+ "ascent": 901,
+ "descent": -123,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 546,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kosugi Maru",
+ "fullName": "Kosugi Maru Regular",
+ "postscriptName": "KosugiMaru-Regular",
+ "category": "sans-serif",
+ "capHeight": 781,
+ "ascent": 901,
+ "descent": -123,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 546,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "kottaOne": {
+ "familyName": "Kotta One",
+ "fullName": "Kotta One",
+ "postscriptName": "KottaOne-Regular",
+ "category": "serif",
+ "capHeight": 212,
+ "ascent": 915,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 76,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kotta One",
+ "fullName": "Kotta One",
+ "postscriptName": "KottaOne-Regular",
+ "category": "serif",
+ "capHeight": 212,
+ "ascent": 915,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 76,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "koulen": {
+ "familyName": "Koulen",
+ "fullName": "Koulen Regular",
+ "postscriptName": "Koulen-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Koulen",
+ "fullName": "Koulen Regular",
+ "postscriptName": "Koulen-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "kranky": {
+ "familyName": "Kranky",
+ "fullName": "Kranky Regular",
+ "postscriptName": "Kranky-Regular",
+ "category": "display",
+ "capHeight": 777,
+ "ascent": 977,
+ "descent": -294,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 432,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kranky",
+ "fullName": "Kranky Regular",
+ "postscriptName": "Kranky-Regular",
+ "category": "display",
+ "capHeight": 777,
+ "ascent": 977,
+ "descent": -294,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 432,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ }
+ }
+ }
+ },
+ "kreon": {
+ "familyName": "Kreon",
+ "fullName": "Kreon Regular",
+ "postscriptName": "Kreon-Regular",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Kreon",
+ "fullName": "Kreon Light",
+ "postscriptName": "Kreon-Light",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kreon",
+ "fullName": "Kreon Medium",
+ "postscriptName": "Kreon-Medium",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kreon",
+ "fullName": "Kreon SemiBold",
+ "postscriptName": "Kreon-SemiBold",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kreon",
+ "fullName": "Kreon Bold",
+ "postscriptName": "Kreon-Bold",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kreon",
+ "fullName": "Kreon Regular",
+ "postscriptName": "Kreon-Regular",
+ "category": "serif",
+ "capHeight": 691,
+ "ascent": 974,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ }
+ }
+ },
+ "kristi": {
+ "familyName": "Kristi",
+ "fullName": "Kristi Regular",
+ "postscriptName": "Kristi-Regular",
+ "category": "handwriting",
+ "ascent": 1836,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kristi",
+ "fullName": "Kristi Regular",
+ "postscriptName": "Kristi-Regular",
+ "category": "handwriting",
+ "ascent": 1836,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "kronaOne": {
+ "familyName": "Krona One",
+ "fullName": "Krona One",
+ "postscriptName": "KronaOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1563,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1180,
+ "xWidthAvg": 1350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1350
+ },
+ "thai": {
+ "xWidthAvg": 519
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Krona One",
+ "fullName": "Krona One",
+ "postscriptName": "KronaOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 1563,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1180,
+ "xWidthAvg": 1350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1350
+ },
+ "thai": {
+ "xWidthAvg": 519
+ }
+ }
+ }
+ }
+ },
+ "krub": {
+ "familyName": "Krub",
+ "fullName": "Krub Regular",
+ "postscriptName": "Krub-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Krub",
+ "fullName": "Krub ExtraLight",
+ "postscriptName": "Krub-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 566
+ }
+ }
+ },
+ "300": {
+ "familyName": "Krub",
+ "fullName": "Krub Light",
+ "postscriptName": "Krub-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "500": {
+ "familyName": "Krub",
+ "fullName": "Krub Medium",
+ "postscriptName": "Krub-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "600": {
+ "familyName": "Krub",
+ "fullName": "Krub SemiBold",
+ "postscriptName": "Krub-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "700": {
+ "familyName": "Krub",
+ "fullName": "Krub Bold",
+ "postscriptName": "Krub-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Krub",
+ "fullName": "Krub Regular",
+ "postscriptName": "Krub-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Krub",
+ "fullName": "Krub Italic",
+ "postscriptName": "Krub-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Krub",
+ "fullName": "Krub Bold Italic",
+ "postscriptName": "Krub-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Krub",
+ "fullName": "Krub SemiBold Italic",
+ "postscriptName": "Krub-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Krub",
+ "fullName": "Krub Medium Italic",
+ "postscriptName": "Krub-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Krub",
+ "fullName": "Krub Light Italic",
+ "postscriptName": "Krub-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Krub",
+ "fullName": "Krub ExtraLight Italic",
+ "postscriptName": "Krub-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1007,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 566
+ }
+ }
+ }
+ }
+ },
+ "kufam": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Regular",
+ "postscriptName": "Kufam-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Medium",
+ "postscriptName": "Kufam-Medium",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kufam",
+ "fullName": "Kufam SemiBold",
+ "postscriptName": "Kufam-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Bold",
+ "postscriptName": "Kufam-Bold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "800": {
+ "familyName": "Kufam",
+ "fullName": "Kufam ExtraBold",
+ "postscriptName": "Kufam-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "900": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Black",
+ "postscriptName": "Kufam-Black",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Regular",
+ "postscriptName": "Kufam-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Italic",
+ "postscriptName": "Kufam-Italic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Black Italic",
+ "postscriptName": "Kufam-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam ExtraBold Italic",
+ "postscriptName": "Kufam-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Bold Italic",
+ "postscriptName": "Kufam-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam SemiBold Italic",
+ "postscriptName": "Kufam-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Kufam",
+ "fullName": "Kufam Medium Italic",
+ "postscriptName": "Kufam-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 900,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ }
+ }
+ },
+ "kulimPark": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Regular",
+ "postscriptName": "KulimPark-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park ExtraLight",
+ "postscriptName": "KulimPark-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Light",
+ "postscriptName": "KulimPark-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park SemiBold",
+ "postscriptName": "KulimPark-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Bold",
+ "postscriptName": "KulimPark-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Regular",
+ "postscriptName": "KulimPark-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Italic",
+ "postscriptName": "KulimPark-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Bold Italic",
+ "postscriptName": "KulimPark-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park SemiBold Italic",
+ "postscriptName": "KulimPark-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park Light Italic",
+ "postscriptName": "KulimPark-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Kulim Park",
+ "fullName": "Kulim Park ExtraLight Italic",
+ "postscriptName": "KulimPark-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 931,
+ "descent": -204,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ }
+ }
+ },
+ "kumarOne": {
+ "familyName": "Kumar One",
+ "fullName": "Kumar One",
+ "postscriptName": "KumarOne-Regular",
+ "category": "display",
+ "capHeight": 800,
+ "ascent": 1137,
+ "descent": -642,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 595,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 595
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kumar One",
+ "fullName": "Kumar One",
+ "postscriptName": "KumarOne-Regular",
+ "category": "display",
+ "capHeight": 800,
+ "ascent": 1137,
+ "descent": -642,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 595,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 595
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "kumarOneOutline": {
+ "familyName": "Kumar One Outline",
+ "fullName": "Kumar One Outline",
+ "postscriptName": "KumarOneOutline-Regular",
+ "category": "display",
+ "capHeight": 800,
+ "ascent": 1137,
+ "descent": -642,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 595,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 595
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kumar One Outline",
+ "fullName": "Kumar One Outline",
+ "postscriptName": "KumarOneOutline-Regular",
+ "category": "display",
+ "capHeight": 800,
+ "ascent": 1137,
+ "descent": -642,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 595,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 595
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "kumbhSans": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Regular",
+ "postscriptName": "KumbhSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1250
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Thin",
+ "postscriptName": "KumbhSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 946,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 946
+ },
+ "thai": {
+ "xWidthAvg": 1310
+ }
+ }
+ },
+ "200": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans ExtraLight",
+ "postscriptName": "KumbhSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 1290
+ }
+ }
+ },
+ "300": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Light",
+ "postscriptName": "KumbhSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 951,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 951
+ },
+ "thai": {
+ "xWidthAvg": 1270
+ }
+ }
+ },
+ "500": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Medium",
+ "postscriptName": "KumbhSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 1224
+ }
+ }
+ },
+ "600": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans SemiBold",
+ "postscriptName": "KumbhSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 1198
+ }
+ }
+ },
+ "700": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Bold",
+ "postscriptName": "KumbhSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1172
+ }
+ }
+ },
+ "800": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans ExtraBold",
+ "postscriptName": "KumbhSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 974,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 974
+ },
+ "thai": {
+ "xWidthAvg": 1146
+ }
+ }
+ },
+ "900": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Black",
+ "postscriptName": "KumbhSans-Black",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 979,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 979
+ },
+ "thai": {
+ "xWidthAvg": 1120
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Kumbh Sans",
+ "fullName": "Kumbh Sans Regular",
+ "postscriptName": "KumbhSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 2020,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1250
+ }
+ }
+ }
+ }
+ },
+ "kurale": {
+ "familyName": "Kurale",
+ "fullName": "Kurale Regular",
+ "postscriptName": "Kurale-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1095,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Kurale",
+ "fullName": "Kurale Regular",
+ "postscriptName": "Kurale-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 1095,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 1040
+ }
+ }
+ }
+ }
+ },
+ "lXGWWenKaiMonoTC": {
+ "familyName": "LXGW WenKai Mono TC",
+ "fullName": "LXGW WenKai Mono TC Regular",
+ "postscriptName": "LXGWWenKaiMonoTC-Regular",
+ "category": "monospace",
+ "capHeight": 695,
+ "ascent": 928,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "LXGW WenKai Mono TC",
+ "fullName": "LXGW WenKai Mono TC Light",
+ "postscriptName": "LXGWWenKaiMonoTC-Light",
+ "category": "monospace",
+ "capHeight": 695,
+ "ascent": 928,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "LXGW WenKai Mono TC",
+ "fullName": "LXGW WenKai Mono TC Bold",
+ "postscriptName": "LXGWWenKaiMonoTC-Bold",
+ "category": "monospace",
+ "capHeight": 695,
+ "ascent": 928,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "LXGW WenKai Mono TC",
+ "fullName": "LXGW WenKai Mono TC Regular",
+ "postscriptName": "LXGWWenKaiMonoTC-Regular",
+ "category": "monospace",
+ "capHeight": 695,
+ "ascent": 928,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "lXGWWenKaiTC": {
+ "familyName": "LXGW WenKai TC",
+ "fullName": "LXGW WenKai TC Regular",
+ "postscriptName": "LXGWWenKaiTC-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1032,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "LXGW WenKai TC",
+ "fullName": "LXGW WenKai TC Light",
+ "postscriptName": "LXGWWenKaiTC-Light",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1032,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "LXGW WenKai TC",
+ "fullName": "LXGW WenKai TC Bold",
+ "postscriptName": "LXGWWenKaiTC-Bold",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1032,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "LXGW WenKai TC",
+ "fullName": "LXGW WenKai TC Regular",
+ "postscriptName": "LXGWWenKaiTC-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 1032,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "laBelleAurore": {
+ "familyName": "La Belle Aurore",
+ "fullName": "La Belle Aurore",
+ "postscriptName": "LaBelleAurore",
+ "category": "handwriting",
+ "capHeight": 688,
+ "ascent": 1103,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 377,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "La Belle Aurore",
+ "fullName": "La Belle Aurore",
+ "postscriptName": "LaBelleAurore",
+ "category": "handwriting",
+ "capHeight": 688,
+ "ascent": 1103,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 377,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "labrada": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Regular",
+ "postscriptName": "Labrada-Regular",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Thin",
+ "postscriptName": "Labrada-Thin",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "200": {
+ "familyName": "Labrada",
+ "fullName": "Labrada ExtraLight",
+ "postscriptName": "Labrada-ExtraLight",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "300": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Light",
+ "postscriptName": "Labrada-Light",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "500": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Medium",
+ "postscriptName": "Labrada-Medium",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "600": {
+ "familyName": "Labrada",
+ "fullName": "Labrada SemiBold",
+ "postscriptName": "Labrada-SemiBold",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "700": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Bold",
+ "postscriptName": "Labrada-Bold",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "800": {
+ "familyName": "Labrada",
+ "fullName": "Labrada ExtraBold",
+ "postscriptName": "Labrada-ExtraBold",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "900": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Black",
+ "postscriptName": "Labrada-Black",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Regular",
+ "postscriptName": "Labrada-Regular",
+ "category": "serif",
+ "capHeight": 640,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Italic",
+ "postscriptName": "Labrada-Italic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 384,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 384
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Black Italic",
+ "postscriptName": "Labrada-BlackItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada ExtraBold Italic",
+ "postscriptName": "Labrada-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Bold Italic",
+ "postscriptName": "Labrada-BoldItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada SemiBold Italic",
+ "postscriptName": "Labrada-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Medium Italic",
+ "postscriptName": "Labrada-MediumItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Light Italic",
+ "postscriptName": "Labrada-LightItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 374,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 374
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada ExtraLight Italic",
+ "postscriptName": "Labrada-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 367,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 367
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Labrada",
+ "fullName": "Labrada Thin Italic",
+ "postscriptName": "Labrada-ThinItalic",
+ "category": "serif",
+ "capHeight": 652,
+ "ascent": 1145,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ }
+ }
+ },
+ "lacquer": {
+ "familyName": "Lacquer",
+ "fullName": "Lacquer Regular",
+ "postscriptName": "Lacquer-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lacquer",
+ "fullName": "Lacquer Regular",
+ "postscriptName": "Lacquer-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "laila": {
+ "familyName": "Laila",
+ "fullName": "Laila Regular",
+ "postscriptName": "Laila-Regular",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Laila",
+ "fullName": "Laila Light",
+ "postscriptName": "Laila-Light",
+ "category": "sans-serif",
+ "capHeight": 712,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "500": {
+ "familyName": "Laila",
+ "fullName": "Laila Medium",
+ "postscriptName": "Laila-Medium",
+ "category": "sans-serif",
+ "capHeight": 723,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "600": {
+ "familyName": "Laila",
+ "fullName": "Laila SemiBold",
+ "postscriptName": "Laila-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "700": {
+ "familyName": "Laila",
+ "fullName": "Laila Bold",
+ "postscriptName": "Laila-Bold",
+ "category": "sans-serif",
+ "capHeight": 736,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Laila",
+ "fullName": "Laila Regular",
+ "postscriptName": "Laila-Regular",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 1098,
+ "descent": -452,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "lakkiReddy": {
+ "familyName": "Lakki Reddy",
+ "fullName": "Lakki Reddy",
+ "postscriptName": "LakkiReddy",
+ "category": "handwriting",
+ "capHeight": 718,
+ "ascent": 938,
+ "descent": -765,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 529,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lakki Reddy",
+ "fullName": "Lakki Reddy",
+ "postscriptName": "LakkiReddy",
+ "category": "handwriting",
+ "capHeight": 718,
+ "ascent": 938,
+ "descent": -765,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 529,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ }
+ }
+ },
+ "lalezar": {
+ "familyName": "Lalezar",
+ "fullName": "Lalezar-Regular",
+ "postscriptName": "Lalezar-Regular",
+ "category": "display",
+ "capHeight": 570,
+ "ascent": 979,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 186,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lalezar",
+ "fullName": "Lalezar-Regular",
+ "postscriptName": "Lalezar-Regular",
+ "category": "display",
+ "capHeight": 570,
+ "ascent": 979,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 186,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ }
+ }
+ },
+ "lancelot": {
+ "familyName": "Lancelot",
+ "fullName": "Lancelot",
+ "postscriptName": "Lancelot",
+ "category": "display",
+ "capHeight": 1190,
+ "ascent": 1595,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 804,
+ "xWidthAvg": 732,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 732
+ },
+ "thai": {
+ "xWidthAvg": 388
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lancelot",
+ "fullName": "Lancelot",
+ "postscriptName": "Lancelot",
+ "category": "display",
+ "capHeight": 1190,
+ "ascent": 1595,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 804,
+ "xWidthAvg": 732,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 732
+ },
+ "thai": {
+ "xWidthAvg": 388
+ }
+ }
+ }
+ }
+ },
+ "langar": {
+ "familyName": "Langar",
+ "fullName": "Langar Regular",
+ "postscriptName": "Langar-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 739,
+ "descent": -200,
+ "lineGap": 455,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Langar",
+ "fullName": "Langar Regular",
+ "postscriptName": "Langar-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 739,
+ "descent": -200,
+ "lineGap": 455,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "lateef": {
+ "familyName": "Lateef",
+ "fullName": "Lateef",
+ "postscriptName": "Lateef-Regular",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 671,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 671
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Lateef",
+ "fullName": "Lateef ExtraLight",
+ "postscriptName": "Lateef-ExtraLight",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 640,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 640
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lateef",
+ "fullName": "Lateef Light",
+ "postscriptName": "Lateef-Light",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 656,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 656
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lateef",
+ "fullName": "Lateef Medium",
+ "postscriptName": "Lateef-Medium",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 683,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 683
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lateef",
+ "fullName": "Lateef SemiBold",
+ "postscriptName": "Lateef-SemiBold",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 694,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 694
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lateef",
+ "fullName": "Lateef Bold",
+ "postscriptName": "Lateef-Bold",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 706,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 706
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lateef",
+ "fullName": "Lateef ExtraBold",
+ "postscriptName": "Lateef-ExtraBold",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 717,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 717
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lateef",
+ "fullName": "Lateef",
+ "postscriptName": "Lateef-Regular",
+ "category": "serif",
+ "capHeight": 1022,
+ "ascent": 1937,
+ "descent": -1024,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 690,
+ "xWidthAvg": 671,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 671
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ }
+ }
+ },
+ "lato": {
+ "familyName": "Lato",
+ "fullName": "Lato Regular",
+ "postscriptName": "Lato-Regular",
+ "category": "sans-serif",
+ "capHeight": 1433,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1013,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 1063
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lato",
+ "fullName": "Lato-Hairline",
+ "postscriptName": "Lato-Hairline",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 993
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lato",
+ "fullName": "Lato-Light",
+ "postscriptName": "Lato-Light",
+ "category": "sans-serif",
+ "capHeight": 1415,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 847,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 847
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lato",
+ "fullName": "Lato Bold",
+ "postscriptName": "Lato-Bold",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1026,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 1094
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lato",
+ "fullName": "Lato Black",
+ "postscriptName": "Lato-Black",
+ "category": "sans-serif",
+ "capHeight": 1457,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1037,
+ "xWidthAvg": 909,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 909
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lato",
+ "fullName": "Lato Regular",
+ "postscriptName": "Lato-Regular",
+ "category": "sans-serif",
+ "capHeight": 1433,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1013,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 1063
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Lato",
+ "fullName": "Lato Italic",
+ "postscriptName": "Lato-Italic",
+ "category": "sans-serif",
+ "capHeight": 1433,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1013,
+ "xWidthAvg": 812,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 812
+ },
+ "thai": {
+ "xWidthAvg": 1063
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Lato",
+ "fullName": "Lato Black Italic",
+ "postscriptName": "Lato-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1457,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1037,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Lato",
+ "fullName": "Lato Bold Italic",
+ "postscriptName": "Lato-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1026,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1094
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Lato",
+ "fullName": "Lato-LightItalic",
+ "postscriptName": "Lato-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1415,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 995,
+ "xWidthAvg": 790,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 790
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Lato",
+ "fullName": "Lato-HairlineItalic",
+ "postscriptName": "Lato-HairlineItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1974,
+ "descent": -426,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 771,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 771
+ },
+ "thai": {
+ "xWidthAvg": 993
+ }
+ }
+ }
+ }
+ },
+ "lavishlyYours": {
+ "familyName": "Lavishly Yours",
+ "fullName": "Lavishly Yours Regular",
+ "postscriptName": "LavishlyYours-Regular",
+ "category": "handwriting",
+ "capHeight": 780,
+ "ascent": 1100,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 244,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lavishly Yours",
+ "fullName": "Lavishly Yours Regular",
+ "postscriptName": "LavishlyYours-Regular",
+ "category": "handwriting",
+ "capHeight": 780,
+ "ascent": 1100,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 244,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ }
+ }
+ },
+ "leagueGothic": {
+ "familyName": "League Gothic",
+ "fullName": "League Gothic Regular",
+ "postscriptName": "LeagueGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1470,
+ "ascent": 1935,
+ "descent": -465,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 747
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "League Gothic",
+ "fullName": "League Gothic Regular",
+ "postscriptName": "LeagueGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1470,
+ "ascent": 1935,
+ "descent": -465,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1094,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 747
+ }
+ }
+ }
+ }
+ },
+ "leagueScript": {
+ "familyName": "League Script",
+ "fullName": "League Script",
+ "postscriptName": "LeagueScript",
+ "category": "handwriting",
+ "capHeight": 936,
+ "ascent": 1100,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 1536,
+ "xHeight": 542,
+ "xWidthAvg": 683,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 683
+ },
+ "thai": {
+ "xWidthAvg": 412
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "League Script",
+ "fullName": "League Script",
+ "postscriptName": "LeagueScript",
+ "category": "handwriting",
+ "capHeight": 936,
+ "ascent": 1100,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 1536,
+ "xHeight": 542,
+ "xWidthAvg": 683,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 683
+ },
+ "thai": {
+ "xWidthAvg": 412
+ }
+ }
+ }
+ }
+ },
+ "leagueSpartan": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Regular",
+ "postscriptName": "LeagueSpartan-Regular",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Thin",
+ "postscriptName": "LeagueSpartan-Thin",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 778,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 778
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "200": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan ExtraLight",
+ "postscriptName": "LeagueSpartan-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 787,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 787
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "300": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Light",
+ "postscriptName": "LeagueSpartan-Light",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 801,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 801
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "500": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Medium",
+ "postscriptName": "LeagueSpartan-Medium",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "600": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan SemiBold",
+ "postscriptName": "LeagueSpartan-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "700": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Bold",
+ "postscriptName": "LeagueSpartan-Bold",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 886,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 886
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "800": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan ExtraBold",
+ "postscriptName": "LeagueSpartan-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "900": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Black",
+ "postscriptName": "LeagueSpartan-Black",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ },
+ "regular": {
+ "familyName": "League Spartan",
+ "fullName": "League Spartan Regular",
+ "postscriptName": "LeagueSpartan-Regular",
+ "category": "sans-serif",
+ "capHeight": 1320,
+ "ascent": 1400,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 821,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 757
+ }
+ }
+ }
+ }
+ },
+ "leckerliOne": {
+ "familyName": "Leckerli One",
+ "fullName": "Leckerli One",
+ "postscriptName": "LeckerliOne-Regular",
+ "category": "handwriting",
+ "capHeight": 521,
+ "ascent": 1032,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Leckerli One",
+ "fullName": "Leckerli One",
+ "postscriptName": "LeckerliOne-Regular",
+ "category": "handwriting",
+ "capHeight": 521,
+ "ascent": 1032,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "ledger": {
+ "familyName": "Ledger",
+ "fullName": "Ledger",
+ "postscriptName": "Ledger-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1062,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ledger",
+ "fullName": "Ledger",
+ "postscriptName": "Ledger-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1062,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "lekton": {
+ "familyName": "Lekton",
+ "fullName": "Lekton",
+ "postscriptName": "Lekton-Regular",
+ "category": "monospace",
+ "capHeight": 655,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Lekton",
+ "fullName": "Lekton-Bold",
+ "postscriptName": "Lekton-Bold",
+ "category": "monospace",
+ "capHeight": 655,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lekton",
+ "fullName": "Lekton",
+ "postscriptName": "Lekton-Regular",
+ "category": "monospace",
+ "capHeight": 655,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Lekton",
+ "fullName": "Lekton-Italic",
+ "postscriptName": "Lekton-Italic",
+ "category": "monospace",
+ "capHeight": 655,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "lemon": {
+ "familyName": "Lemon",
+ "fullName": "Lemon Regular",
+ "postscriptName": "Lemon-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1019,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 589,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 589
+ },
+ "thai": {
+ "xWidthAvg": 839
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lemon",
+ "fullName": "Lemon Regular",
+ "postscriptName": "Lemon-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1019,
+ "descent": -287,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 589,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 589
+ },
+ "thai": {
+ "xWidthAvg": 839
+ }
+ }
+ }
+ }
+ },
+ "lemonada": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada Regular",
+ "postscriptName": "Lemonada-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 581,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 581
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada Light",
+ "postscriptName": "Lemonada-Light",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 579,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 579
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada Medium",
+ "postscriptName": "Lemonada-Medium",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 584,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 584
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada SemiBold",
+ "postscriptName": "Lemonada-SemiBold",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 587,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 587
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada Bold",
+ "postscriptName": "Lemonada-Bold",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 591,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 591
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lemonada",
+ "fullName": "Lemonada Regular",
+ "postscriptName": "Lemonada-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1345,
+ "descent": -653,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 581,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 581
+ },
+ "thai": {
+ "xWidthAvg": 633
+ }
+ }
+ }
+ }
+ },
+ "lexend": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Regular",
+ "postscriptName": "Lexend-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Thin",
+ "postscriptName": "Lexend-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend",
+ "fullName": "Lexend ExtraLight",
+ "postscriptName": "Lexend-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Light",
+ "postscriptName": "Lexend-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Medium",
+ "postscriptName": "Lexend-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend",
+ "fullName": "Lexend SemiBold",
+ "postscriptName": "Lexend-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Bold",
+ "postscriptName": "Lexend-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend",
+ "fullName": "Lexend ExtraBold",
+ "postscriptName": "Lexend-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Black",
+ "postscriptName": "Lexend-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend",
+ "fullName": "Lexend Regular",
+ "postscriptName": "Lexend-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendDeca": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Regular",
+ "postscriptName": "LexendDeca-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Thin",
+ "postscriptName": "LexendDeca-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca ExtraLight",
+ "postscriptName": "LexendDeca-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Light",
+ "postscriptName": "LexendDeca-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Medium",
+ "postscriptName": "LexendDeca-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca SemiBold",
+ "postscriptName": "LexendDeca-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Bold",
+ "postscriptName": "LexendDeca-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca ExtraBold",
+ "postscriptName": "LexendDeca-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Black",
+ "postscriptName": "LexendDeca-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Deca",
+ "fullName": "Lexend Deca Regular",
+ "postscriptName": "LexendDeca-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendExa": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Regular",
+ "postscriptName": "LexendExa-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 619,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 619
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Thin",
+ "postscriptName": "LexendExa-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 582,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 582
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa ExtraLight",
+ "postscriptName": "LexendExa-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 591,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 591
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Light",
+ "postscriptName": "LexendExa-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 604,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 604
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Medium",
+ "postscriptName": "LexendExa-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa SemiBold",
+ "postscriptName": "LexendExa-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 639,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 639
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Bold",
+ "postscriptName": "LexendExa-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 648,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 648
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa ExtraBold",
+ "postscriptName": "LexendExa-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 662,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 662
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Black",
+ "postscriptName": "LexendExa-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 670,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 670
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Exa",
+ "fullName": "Lexend Exa Regular",
+ "postscriptName": "LexendExa-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 619,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 619
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendGiga": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Regular",
+ "postscriptName": "LexendGiga-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 670,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 670
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Thin",
+ "postscriptName": "LexendGiga-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 633,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 633
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga ExtraLight",
+ "postscriptName": "LexendGiga-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 643,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 643
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Light",
+ "postscriptName": "LexendGiga-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 656,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 656
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Medium",
+ "postscriptName": "LexendGiga-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 681,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 681
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga SemiBold",
+ "postscriptName": "LexendGiga-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 690,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 690
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Bold",
+ "postscriptName": "LexendGiga-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga ExtraBold",
+ "postscriptName": "LexendGiga-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 713,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 713
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Black",
+ "postscriptName": "LexendGiga-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Giga",
+ "fullName": "Lexend Giga Regular",
+ "postscriptName": "LexendGiga-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 670,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 670
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendMega": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Regular",
+ "postscriptName": "LexendMega-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 696,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 696
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Thin",
+ "postscriptName": "LexendMega-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 659,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 659
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega ExtraLight",
+ "postscriptName": "LexendMega-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 668,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 668
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Light",
+ "postscriptName": "LexendMega-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 682,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 682
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Medium",
+ "postscriptName": "LexendMega-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 706,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 706
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega SemiBold",
+ "postscriptName": "LexendMega-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 716,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 716
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Bold",
+ "postscriptName": "LexendMega-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 726,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 726
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega ExtraBold",
+ "postscriptName": "LexendMega-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 739,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 739
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Black",
+ "postscriptName": "LexendMega-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 748,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 748
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Mega",
+ "fullName": "Lexend Mega Regular",
+ "postscriptName": "LexendMega-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 696,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 696
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendPeta": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Regular",
+ "postscriptName": "LexendPeta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Thin",
+ "postscriptName": "LexendPeta-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 685,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 685
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta ExtraLight",
+ "postscriptName": "LexendPeta-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 694,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 694
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Light",
+ "postscriptName": "LexendPeta-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 707,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 707
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Medium",
+ "postscriptName": "LexendPeta-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 732,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 732
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta SemiBold",
+ "postscriptName": "LexendPeta-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 742,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 742
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Bold",
+ "postscriptName": "LexendPeta-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 751,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 751
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta ExtraBold",
+ "postscriptName": "LexendPeta-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 765,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 765
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Black",
+ "postscriptName": "LexendPeta-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 773,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 773
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Peta",
+ "fullName": "Lexend Peta Regular",
+ "postscriptName": "LexendPeta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 722,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 722
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendTera": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Regular",
+ "postscriptName": "LexendTera-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 747,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 747
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Thin",
+ "postscriptName": "LexendTera-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 710,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 710
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera ExtraLight",
+ "postscriptName": "LexendTera-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 720,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 720
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Light",
+ "postscriptName": "LexendTera-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 733,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 733
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Medium",
+ "postscriptName": "LexendTera-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera SemiBold",
+ "postscriptName": "LexendTera-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 768,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 768
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Bold",
+ "postscriptName": "LexendTera-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 777,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 777
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera ExtraBold",
+ "postscriptName": "LexendTera-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 791,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 791
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Black",
+ "postscriptName": "LexendTera-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 799,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 799
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Tera",
+ "fullName": "Lexend Tera Regular",
+ "postscriptName": "LexendTera-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 747,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 747
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "lexendZetta": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Regular",
+ "postscriptName": "LexendZetta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 812,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 812
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Thin",
+ "postscriptName": "LexendZetta-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 774,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 774
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "200": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta ExtraLight",
+ "postscriptName": "LexendZetta-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 784,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 784
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Light",
+ "postscriptName": "LexendZetta-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 797,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 797
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Medium",
+ "postscriptName": "LexendZetta-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 822,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 822
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta SemiBold",
+ "postscriptName": "LexendZetta-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Bold",
+ "postscriptName": "LexendZetta-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 841,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 841
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta ExtraBold",
+ "postscriptName": "LexendZetta-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Black",
+ "postscriptName": "LexendZetta-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lexend Zetta",
+ "fullName": "Lexend Zetta Regular",
+ "postscriptName": "LexendZetta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 812,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 812
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode128": {
+ "familyName": "Libre Barcode 128",
+ "fullName": "Libre Barcode 128 Regular",
+ "postscriptName": "LibreBarcode128-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 128",
+ "fullName": "Libre Barcode 128 Regular",
+ "postscriptName": "LibreBarcode128-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode128Text": {
+ "familyName": "Libre Barcode 128 Text",
+ "fullName": "Libre Barcode 128 Text Regular",
+ "postscriptName": "LibreBarcode128Text-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 128 Text",
+ "fullName": "Libre Barcode 128 Text Regular",
+ "postscriptName": "LibreBarcode128Text-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode39": {
+ "familyName": "Libre Barcode 39",
+ "fullName": "Libre Barcode 39 Regular",
+ "postscriptName": "LibreBarcode39-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 39",
+ "fullName": "Libre Barcode 39 Regular",
+ "postscriptName": "LibreBarcode39-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode39Extended": {
+ "familyName": "Libre Barcode 39 Extended",
+ "fullName": "Libre Barcode 39 Extended Regular",
+ "postscriptName": "LibreBarcode39Extended-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 39 Extended",
+ "fullName": "Libre Barcode 39 Extended Regular",
+ "postscriptName": "LibreBarcode39Extended-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode39ExtendedText": {
+ "familyName": "Libre Barcode 39 Extended Text",
+ "fullName": "Libre Barcode 39 Extended Text Regular",
+ "postscriptName": "LibreBarcode39ExtendedText-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 39 Extended Text",
+ "fullName": "Libre Barcode 39 Extended Text Regular",
+ "postscriptName": "LibreBarcode39ExtendedText-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcode39Text": {
+ "familyName": "Libre Barcode 39 Text",
+ "fullName": "Libre Barcode 39 Text Regular",
+ "postscriptName": "LibreBarcode39Text-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode 39 Text",
+ "fullName": "Libre Barcode 39 Text Regular",
+ "postscriptName": "LibreBarcode39Text-Regular",
+ "category": "display",
+ "capHeight": 590,
+ "ascent": 600,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "libreBarcodeEAN13Text": {
+ "familyName": "Libre Barcode EAN13 Text",
+ "fullName": "Libre Barcode EAN13 Text Regular",
+ "postscriptName": "LibreBarcodeEAN13Text-Regular",
+ "category": "display",
+ "capHeight": 840,
+ "ascent": 840,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 420,
+ "xWidthAvg": 123,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 123
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Barcode EAN13 Text",
+ "fullName": "Libre Barcode EAN13 Text Regular",
+ "postscriptName": "LibreBarcodeEAN13Text-Regular",
+ "category": "display",
+ "capHeight": 840,
+ "ascent": 840,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 420,
+ "xWidthAvg": 123,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 123
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "libreBaskerville": {
+ "familyName": "Libre Baskerville",
+ "fullName": "Libre Baskerville",
+ "postscriptName": "LibreBaskerville-Regular",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Libre Baskerville",
+ "fullName": "Libre Baskerville Bold",
+ "postscriptName": "LibreBaskerville-Bold",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Libre Baskerville",
+ "fullName": "Libre Baskerville",
+ "postscriptName": "LibreBaskerville-Regular",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Libre Baskerville",
+ "fullName": "Libre Baskerville Italic",
+ "postscriptName": "LibreBaskerville-Italic",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ }
+ }
+ },
+ "libreBodoni": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Regular",
+ "postscriptName": "LibreBodoni-Regular",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Medium",
+ "postscriptName": "LibreBodoni-Medium",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ }
+ },
+ "600": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni SemiBold",
+ "postscriptName": "LibreBodoni-SemiBold",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ }
+ },
+ "700": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Bold",
+ "postscriptName": "LibreBodoni-Bold",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Regular",
+ "postscriptName": "LibreBodoni-Regular",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Italic",
+ "postscriptName": "LibreBodoni-Italic",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 809
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Bold Italic",
+ "postscriptName": "LibreBodoni-BoldItalic",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 829
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni SemiBold Italic",
+ "postscriptName": "LibreBodoni-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 822
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Libre Bodoni",
+ "fullName": "Libre Bodoni Medium Italic",
+ "postscriptName": "LibreBodoni-MediumItalic",
+ "category": "serif",
+ "capHeight": 754,
+ "ascent": 924,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 819
+ }
+ }
+ }
+ }
+ },
+ "libreCaslonDisplay": {
+ "familyName": "Libre Caslon Display",
+ "fullName": "Libre Caslon Display Regular",
+ "postscriptName": "LibreCaslonDisplay-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 970,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 374,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 374
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Libre Caslon Display",
+ "fullName": "Libre Caslon Display Regular",
+ "postscriptName": "LibreCaslonDisplay-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 970,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 374,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 374
+ },
+ "thai": {
+ "xWidthAvg": 160
+ }
+ }
+ }
+ }
+ },
+ "libreCaslonText": {
+ "familyName": "Libre Caslon Text",
+ "fullName": "Libre Caslon Text Regular",
+ "postscriptName": "LibreCaslonText-Regular",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Libre Caslon Text",
+ "fullName": "Libre Caslon Text Bold",
+ "postscriptName": "LibreCaslonText-Bold",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Libre Caslon Text",
+ "fullName": "Libre Caslon Text Regular",
+ "postscriptName": "LibreCaslonText-Regular",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Libre Caslon Text",
+ "fullName": "Libre Caslon Text Italic",
+ "postscriptName": "LibreCaslonText-Italic",
+ "category": "serif",
+ "capHeight": 770,
+ "ascent": 970,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "libreFranklin": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Regular",
+ "postscriptName": "LibreFranklin-Regular",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 702
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Thin",
+ "postscriptName": "LibreFranklin-Thin",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ }
+ },
+ "200": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin ExtraLight",
+ "postscriptName": "LibreFranklin-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 728
+ }
+ }
+ },
+ "300": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Light",
+ "postscriptName": "LibreFranklin-Light",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 716
+ }
+ }
+ },
+ "500": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Medium",
+ "postscriptName": "LibreFranklin-Medium",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 685
+ }
+ }
+ },
+ "600": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin SemiBold",
+ "postscriptName": "LibreFranklin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "700": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Bold",
+ "postscriptName": "LibreFranklin-Bold",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "800": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin ExtraBold",
+ "postscriptName": "LibreFranklin-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "900": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Black",
+ "postscriptName": "LibreFranklin-Black",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Regular",
+ "postscriptName": "LibreFranklin-Regular",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 702
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Italic",
+ "postscriptName": "LibreFranklin-Italic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 702
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Black Italic",
+ "postscriptName": "LibreFranklin-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin ExtraBold Italic",
+ "postscriptName": "LibreFranklin-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Bold Italic",
+ "postscriptName": "LibreFranklin-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin SemiBold Italic",
+ "postscriptName": "LibreFranklin-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Medium Italic",
+ "postscriptName": "LibreFranklin-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 685
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Light Italic",
+ "postscriptName": "LibreFranklin-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 716
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin ExtraLight Italic",
+ "postscriptName": "LibreFranklin-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 728
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Libre Franklin",
+ "fullName": "Libre Franklin Thin Italic",
+ "postscriptName": "LibreFranklin-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 742,
+ "ascent": 966,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ }
+ }
+ }
+ },
+ "licorice": {
+ "familyName": "Licorice",
+ "fullName": "Licorice Regular",
+ "postscriptName": "Licorice-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Licorice",
+ "fullName": "Licorice Regular",
+ "postscriptName": "Licorice-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 850,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ }
+ }
+ },
+ "lifeSavers": {
+ "familyName": "Life Savers",
+ "fullName": "Life Savers Regular",
+ "postscriptName": "LifeSavers-Regular",
+ "category": "display",
+ "capHeight": 821,
+ "ascent": 972,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Life Savers",
+ "fullName": "Life Savers Bold",
+ "postscriptName": "LifeSavers-Bold",
+ "category": "display",
+ "capHeight": 821,
+ "ascent": 972,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ },
+ "800": {
+ "familyName": "Life Savers",
+ "fullName": "Life Savers ExtraBold",
+ "postscriptName": "LifeSavers-ExtraBold",
+ "category": "display",
+ "capHeight": 821,
+ "ascent": 972,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Life Savers",
+ "fullName": "Life Savers Regular",
+ "postscriptName": "LifeSavers-Regular",
+ "category": "display",
+ "capHeight": 821,
+ "ascent": 972,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 436,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ }
+ }
+ },
+ "lilitaOne": {
+ "familyName": "Lilita One",
+ "fullName": "Lilita One",
+ "postscriptName": "LilitaOne",
+ "category": "display",
+ "capHeight": 704,
+ "ascent": 923,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 199
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lilita One",
+ "fullName": "Lilita One",
+ "postscriptName": "LilitaOne",
+ "category": "display",
+ "capHeight": 704,
+ "ascent": 923,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 199
+ }
+ }
+ }
+ }
+ },
+ "lilyScriptOne": {
+ "familyName": "Lily Script One",
+ "fullName": "Lily Script One",
+ "postscriptName": "LilyScriptOne-Regular",
+ "category": "display",
+ "capHeight": 762,
+ "ascent": 1017,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 762,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lily Script One",
+ "fullName": "Lily Script One",
+ "postscriptName": "LilyScriptOne-Regular",
+ "category": "display",
+ "capHeight": 762,
+ "ascent": 1017,
+ "descent": -359,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 762,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "limelight": {
+ "familyName": "Limelight",
+ "fullName": "Limelight Regular",
+ "postscriptName": "Limelight-Regular",
+ "category": "display",
+ "capHeight": 1415,
+ "ascent": 1864,
+ "descent": -629,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1068,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 411
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Limelight",
+ "fullName": "Limelight Regular",
+ "postscriptName": "Limelight-Regular",
+ "category": "display",
+ "capHeight": 1415,
+ "ascent": 1864,
+ "descent": -629,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1068,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 411
+ }
+ }
+ }
+ }
+ },
+ "lindenHill": {
+ "familyName": "Linden Hill",
+ "fullName": "Linden Hill Regular",
+ "postscriptName": "LindenHill-Regular",
+ "category": "serif",
+ "capHeight": 2732,
+ "ascent": 3633,
+ "descent": -1888,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1606,
+ "xWidthAvg": 1548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1548
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Linden Hill",
+ "fullName": "Linden Hill Regular",
+ "postscriptName": "LindenHill-Regular",
+ "category": "serif",
+ "capHeight": 2732,
+ "ascent": 3633,
+ "descent": -1888,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1606,
+ "xWidthAvg": 1548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1548
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Linden Hill",
+ "fullName": "Linden Hill Italic",
+ "postscriptName": "LindenHill-Italic",
+ "category": "serif",
+ "capHeight": 2732,
+ "ascent": 3633,
+ "descent": -1888,
+ "lineGap": 0,
+ "unitsPerEm": 4096,
+ "xHeight": 1688,
+ "xWidthAvg": 1342,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1342
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "linefont": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Regular",
+ "postscriptName": "Linefont-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Thin",
+ "postscriptName": "Linefont-Thin",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "200": {
+ "familyName": "Linefont",
+ "fullName": "Linefont ExtraLight",
+ "postscriptName": "Linefont-ExtraLight",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "300": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Light",
+ "postscriptName": "Linefont-Light",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "500": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Medium",
+ "postscriptName": "Linefont-Medium",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "600": {
+ "familyName": "Linefont",
+ "fullName": "Linefont SemiBold",
+ "postscriptName": "Linefont-SemiBold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "700": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Bold",
+ "postscriptName": "Linefont-Bold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "800": {
+ "familyName": "Linefont",
+ "fullName": "Linefont ExtraBold",
+ "postscriptName": "Linefont-ExtraBold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "900": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Black",
+ "postscriptName": "Linefont-Black",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Linefont",
+ "fullName": "Linefont Regular",
+ "postscriptName": "Linefont-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ }
+ }
+ },
+ "lisuBosa": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa",
+ "postscriptName": "LisuBosa-Regular",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa ExtraLight",
+ "postscriptName": "LisuBosa-ExtraLight",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Light",
+ "postscriptName": "LisuBosa-Light",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Medium",
+ "postscriptName": "LisuBosa-Medium",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa SemiBold",
+ "postscriptName": "LisuBosa-SemiBold",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Bold",
+ "postscriptName": "LisuBosa-Bold",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa ExtraBold",
+ "postscriptName": "LisuBosa-ExtraBold",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Black",
+ "postscriptName": "LisuBosa-Black",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa",
+ "postscriptName": "LisuBosa-Regular",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Italic",
+ "postscriptName": "LisuBosa-Italic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Black Italic",
+ "postscriptName": "LisuBosa-BlackItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa ExtraBold Italic",
+ "postscriptName": "LisuBosa-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Bold Italic",
+ "postscriptName": "LisuBosa-BoldItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa SemiBold Italic",
+ "postscriptName": "LisuBosa-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Medium Italic",
+ "postscriptName": "LisuBosa-MediumItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa Light Italic",
+ "postscriptName": "LisuBosa-LightItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Lisu Bosa",
+ "fullName": "Lisu Bosa ExtraLight Italic",
+ "postscriptName": "LisuBosa-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 530,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "literata": {
+ "familyName": "Literata",
+ "fullName": "Literata Regular",
+ "postscriptName": "Literata-Regular",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Literata",
+ "fullName": "Literata ExtraLight",
+ "postscriptName": "Literata-ExtraLight",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Literata",
+ "fullName": "Literata Light",
+ "postscriptName": "Literata-Light",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Literata",
+ "fullName": "Literata Medium",
+ "postscriptName": "Literata-Medium",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Literata",
+ "fullName": "Literata SemiBold",
+ "postscriptName": "Literata-SemiBold",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Literata",
+ "fullName": "Literata Bold",
+ "postscriptName": "Literata-Bold",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Literata",
+ "fullName": "Literata ExtraBold",
+ "postscriptName": "Literata-ExtraBold",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Literata",
+ "fullName": "Literata Black",
+ "postscriptName": "Literata-Black",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Literata",
+ "fullName": "Literata Regular",
+ "postscriptName": "Literata-Regular",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Literata",
+ "fullName": "Literata Italic",
+ "postscriptName": "Literata-Italic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 489
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Literata",
+ "fullName": "Literata Black Italic",
+ "postscriptName": "Literata-BlackItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Literata",
+ "fullName": "Literata ExtraBold Italic",
+ "postscriptName": "Literata-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Literata",
+ "fullName": "Literata Bold Italic",
+ "postscriptName": "Literata-BoldItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Literata",
+ "fullName": "Literata SemiBold Italic",
+ "postscriptName": "Literata-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 492
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Literata",
+ "fullName": "Literata Medium Italic",
+ "postscriptName": "Literata-MediumItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 491
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Literata",
+ "fullName": "Literata Light Italic",
+ "postscriptName": "Literata-LightItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Literata",
+ "fullName": "Literata ExtraLight Italic",
+ "postscriptName": "Literata-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 701,
+ "ascent": 1177,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "liuJianMaoCao": {
+ "familyName": "Liu Jian Mao Cao",
+ "fullName": "Liu Jian Mao Cao Regular",
+ "postscriptName": "LiuJianMaoCao-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 415
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Liu Jian Mao Cao",
+ "fullName": "Liu Jian Mao Cao Regular",
+ "postscriptName": "LiuJianMaoCao-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 415
+ }
+ }
+ }
+ }
+ },
+ "livvic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Regular",
+ "postscriptName": "Livvic-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Thin",
+ "postscriptName": "Livvic-Thin",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "200": {
+ "familyName": "Livvic",
+ "fullName": "Livvic ExtraLight",
+ "postscriptName": "Livvic-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "300": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Light",
+ "postscriptName": "Livvic-Light",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "500": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Medium",
+ "postscriptName": "Livvic-Medium",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "600": {
+ "familyName": "Livvic",
+ "fullName": "Livvic SemiBold",
+ "postscriptName": "Livvic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "700": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Bold",
+ "postscriptName": "Livvic-Bold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "900": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Black",
+ "postscriptName": "Livvic-Black",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Regular",
+ "postscriptName": "Livvic-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Italic",
+ "postscriptName": "Livvic-Italic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Black Italic",
+ "postscriptName": "Livvic-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Bold Italic",
+ "postscriptName": "Livvic-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic SemiBold Italic",
+ "postscriptName": "Livvic-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Medium Italic",
+ "postscriptName": "Livvic-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Light Italic",
+ "postscriptName": "Livvic-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic ExtraLight Italic",
+ "postscriptName": "Livvic-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Livvic",
+ "fullName": "Livvic Thin Italic",
+ "postscriptName": "Livvic-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ }
+ }
+ },
+ "lobster": {
+ "familyName": "Lobster",
+ "fullName": "Lobster Regular",
+ "postscriptName": "Lobster-Regular",
+ "category": "display",
+ "capHeight": 748,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 810
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lobster",
+ "fullName": "Lobster Regular",
+ "postscriptName": "Lobster-Regular",
+ "category": "display",
+ "capHeight": 748,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 810
+ }
+ }
+ }
+ }
+ },
+ "lobsterTwo": {
+ "familyName": "Lobster Two",
+ "fullName": "Lobster Two",
+ "postscriptName": "LobsterTwo",
+ "category": "display",
+ "capHeight": 754,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Lobster Two",
+ "fullName": "Lobster Two Bold",
+ "postscriptName": "LobsterTwo-Bold",
+ "category": "display",
+ "capHeight": 752,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lobster Two",
+ "fullName": "Lobster Two",
+ "postscriptName": "LobsterTwo",
+ "category": "display",
+ "capHeight": 754,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Lobster Two",
+ "fullName": "Lobster Two Italic",
+ "postscriptName": "LobsterTwo-Italic",
+ "category": "display",
+ "capHeight": 754,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Lobster Two",
+ "fullName": "Lobster Two Bold Italic",
+ "postscriptName": "LobsterTwo-BoldItalic",
+ "category": "display",
+ "capHeight": 752,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 385
+ }
+ }
+ }
+ }
+ },
+ "londrinaOutline": {
+ "familyName": "Londrina Outline",
+ "fullName": "Londrina Outline Regular",
+ "postscriptName": "LondrinaOutline-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Londrina Outline",
+ "fullName": "Londrina Outline Regular",
+ "postscriptName": "LondrinaOutline-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ }
+ }
+ },
+ "londrinaShadow": {
+ "familyName": "Londrina Shadow",
+ "fullName": "Londrina Shadow Regular",
+ "postscriptName": "LondrinaShadow-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Londrina Shadow",
+ "fullName": "Londrina Shadow Regular",
+ "postscriptName": "LondrinaShadow-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ }
+ }
+ },
+ "londrinaSketch": {
+ "familyName": "Londrina Sketch",
+ "fullName": "Londrina Sketch Regular",
+ "postscriptName": "LondrinaSketch-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Londrina Sketch",
+ "fullName": "Londrina Sketch Regular",
+ "postscriptName": "LondrinaSketch-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ }
+ }
+ },
+ "londrinaSolid": {
+ "familyName": "Londrina Solid",
+ "fullName": "Londrina Solid Regular",
+ "postscriptName": "LondrinaSolid-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Londrina Solid",
+ "fullName": "Londrina Solid Thin",
+ "postscriptName": "LondrinaSolid-Thin",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ },
+ "300": {
+ "familyName": "Londrina Solid",
+ "fullName": "Londrina Solid Light",
+ "postscriptName": "LondrinaSolid-Light",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ },
+ "900": {
+ "familyName": "Londrina Solid",
+ "fullName": "Londrina Solid Black",
+ "postscriptName": "LondrinaSolid-Black",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Londrina Solid",
+ "fullName": "Londrina Solid Regular",
+ "postscriptName": "LondrinaSolid-Regular",
+ "category": "display",
+ "capHeight": 722,
+ "ascent": 945,
+ "descent": -238,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 238
+ }
+ }
+ }
+ }
+ },
+ "longCang": {
+ "familyName": "Long Cang",
+ "fullName": "Long Cang Regular",
+ "postscriptName": "LongCang-Regular",
+ "category": "handwriting",
+ "capHeight": 684,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Long Cang",
+ "fullName": "Long Cang Regular",
+ "postscriptName": "LongCang-Regular",
+ "category": "handwriting",
+ "capHeight": 684,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "lora": {
+ "familyName": "Lora",
+ "fullName": "Lora Regular",
+ "postscriptName": "Lora-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Lora",
+ "fullName": "Lora Medium",
+ "postscriptName": "Lora-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "600": {
+ "familyName": "Lora",
+ "fullName": "Lora SemiBold",
+ "postscriptName": "Lora-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "700": {
+ "familyName": "Lora",
+ "fullName": "Lora Bold",
+ "postscriptName": "Lora-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lora",
+ "fullName": "Lora Regular",
+ "postscriptName": "Lora-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Lora",
+ "fullName": "Lora Italic",
+ "postscriptName": "Lora-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Lora",
+ "fullName": "Lora Bold Italic",
+ "postscriptName": "Lora-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Lora",
+ "fullName": "Lora SemiBold Italic",
+ "postscriptName": "Lora-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Lora",
+ "fullName": "Lora Medium Italic",
+ "postscriptName": "Lora-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1006,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 516
+ }
+ }
+ }
+ }
+ },
+ "loveLight": {
+ "familyName": "Love Light",
+ "fullName": "Love Light Regular",
+ "postscriptName": "LoveLight-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Love Light",
+ "fullName": "Love Light Regular",
+ "postscriptName": "LoveLight-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 296,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 296
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ }
+ }
+ },
+ "loveYaLikeASister": {
+ "familyName": "Love Ya Like A Sister",
+ "fullName": "Love Ya Like A Sister Regular",
+ "postscriptName": "LoveYaLikeASister-Regular",
+ "category": "display",
+ "capHeight": 674,
+ "ascent": 942,
+ "descent": -333,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 510,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Love Ya Like A Sister",
+ "fullName": "Love Ya Like A Sister Regular",
+ "postscriptName": "LoveYaLikeASister-Regular",
+ "category": "display",
+ "capHeight": 674,
+ "ascent": 942,
+ "descent": -333,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 510,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ }
+ }
+ }
+ },
+ "lovedByTheKing": {
+ "familyName": "Loved by the King",
+ "fullName": "Loved by the King",
+ "postscriptName": "LovedbytheKing",
+ "category": "handwriting",
+ "capHeight": 1774,
+ "ascent": 2398,
+ "descent": -1137,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1111,
+ "xWidthAvg": 657,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 657
+ },
+ "thai": {
+ "xWidthAvg": 1434
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Loved by the King",
+ "fullName": "Loved by the King",
+ "postscriptName": "LovedbytheKing",
+ "category": "handwriting",
+ "capHeight": 1774,
+ "ascent": 2398,
+ "descent": -1137,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1111,
+ "xWidthAvg": 657,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 657
+ },
+ "thai": {
+ "xWidthAvg": 1434
+ }
+ }
+ }
+ }
+ },
+ "loversQuarrel": {
+ "familyName": "Lovers Quarrel",
+ "fullName": "Lovers Quarrel Regular",
+ "postscriptName": "LoversQuarrel-Regular",
+ "category": "handwriting",
+ "capHeight": 609,
+ "ascent": 726,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 274,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lovers Quarrel",
+ "fullName": "Lovers Quarrel Regular",
+ "postscriptName": "LoversQuarrel-Regular",
+ "category": "handwriting",
+ "capHeight": 609,
+ "ascent": 726,
+ "descent": -401,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 274,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "lucidaGrande": {
+ "familyName": "Lucida Grande",
+ "fullName": "Lucida Grande",
+ "postscriptName": "LucidaGrande",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1086,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Lucida Grande",
+ "fullName": "Lucida Grande Bold",
+ "postscriptName": "LucidaGrande-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1071,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1071
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lucida Grande",
+ "fullName": "Lucida Grande",
+ "postscriptName": "LucidaGrande",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1086,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "luckiestGuy": {
+ "familyName": "Luckiest Guy",
+ "fullName": "Luckiest Guy Regular",
+ "postscriptName": "LuckiestGuy-Regular",
+ "category": "display",
+ "capHeight": 1424,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1400,
+ "xWidthAvg": 1040,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1040
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Luckiest Guy",
+ "fullName": "Luckiest Guy Regular",
+ "postscriptName": "LuckiestGuy-Regular",
+ "category": "display",
+ "capHeight": 1424,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1400,
+ "xWidthAvg": 1040,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1040
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "lugrasimo": {
+ "familyName": "Lugrasimo",
+ "fullName": "Lugrasimo Regular",
+ "postscriptName": "Lugrasimo-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 2122,
+ "descent": -666,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1105,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1105
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lugrasimo",
+ "fullName": "Lugrasimo Regular",
+ "postscriptName": "Lugrasimo-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 2122,
+ "descent": -666,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1105,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1105
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "lumanosimo": {
+ "familyName": "Lumanosimo",
+ "fullName": "Lumanosimo Regular",
+ "postscriptName": "Lumanosimo-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 2098,
+ "descent": -727,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1173,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1173
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lumanosimo",
+ "fullName": "Lumanosimo Regular",
+ "postscriptName": "Lumanosimo-Regular",
+ "category": "handwriting",
+ "capHeight": 1434,
+ "ascent": 2098,
+ "descent": -727,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1173,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1173
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "lunasima": {
+ "familyName": "Lunasima",
+ "fullName": "Lunasima Regular",
+ "postscriptName": "Lunasima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1086,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Lunasima",
+ "fullName": "Lunasima Bold",
+ "postscriptName": "Lunasima-Bold",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1071,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1071
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lunasima",
+ "fullName": "Lunasima Regular",
+ "postscriptName": "Lunasima-Regular",
+ "category": "sans-serif",
+ "capHeight": 1480,
+ "ascent": 1980,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1086,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "lusitana": {
+ "familyName": "Lusitana",
+ "fullName": "Lusitana",
+ "postscriptName": "Lusitana",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 956,
+ "descent": -341,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 139,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 198
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Lusitana",
+ "fullName": "Lusitana Bold",
+ "postscriptName": "Lusitana-Bold",
+ "category": "serif",
+ "capHeight": 713,
+ "ascent": 956,
+ "descent": -341,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 163,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 198
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Lusitana",
+ "fullName": "Lusitana",
+ "postscriptName": "Lusitana",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 956,
+ "descent": -341,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 139,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 198
+ }
+ }
+ }
+ }
+ },
+ "lustria": {
+ "familyName": "Lustria",
+ "fullName": "Lustria",
+ "postscriptName": "Lustria-Regular",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 955,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Lustria",
+ "fullName": "Lustria",
+ "postscriptName": "Lustria-Regular",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 955,
+ "descent": -327,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "luxuriousRoman": {
+ "familyName": "Luxurious Roman",
+ "fullName": "Luxurious Roman Regular",
+ "postscriptName": "LuxuriousRoman-Regular",
+ "category": "display",
+ "capHeight": 665,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Luxurious Roman",
+ "fullName": "Luxurious Roman Regular",
+ "postscriptName": "LuxuriousRoman-Regular",
+ "category": "display",
+ "capHeight": 665,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ }
+ }
+ },
+ "luxuriousScript": {
+ "familyName": "Luxurious Script",
+ "fullName": "Luxurious Script Regular",
+ "postscriptName": "LuxuriousScript-Regular",
+ "category": "handwriting",
+ "capHeight": 565,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 330,
+ "xWidthAvg": 254,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 254
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Luxurious Script",
+ "fullName": "Luxurious Script Regular",
+ "postscriptName": "LuxuriousScript-Regular",
+ "category": "handwriting",
+ "capHeight": 565,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 330,
+ "xWidthAvg": 254,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 254
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "mPLUS1": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Regular",
+ "postscriptName": "MPLUS1-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Thin",
+ "postscriptName": "MPLUS1-Thin",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 ExtraLight",
+ "postscriptName": "MPLUS1-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Light",
+ "postscriptName": "MPLUS1-Light",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Medium",
+ "postscriptName": "MPLUS1-Medium",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 SemiBold",
+ "postscriptName": "MPLUS1-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Bold",
+ "postscriptName": "MPLUS1-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 ExtraBold",
+ "postscriptName": "MPLUS1-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Black",
+ "postscriptName": "MPLUS1-Black",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS 1",
+ "fullName": "M PLUS 1 Regular",
+ "postscriptName": "MPLUS1-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mPLUS1Code": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Regular",
+ "postscriptName": "MPLUS1Code-Regular",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Thin",
+ "postscriptName": "MPLUS1Code-Thin",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code ExtraLight",
+ "postscriptName": "MPLUS1Code-ExtraLight",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Light",
+ "postscriptName": "MPLUS1Code-Light",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Medium",
+ "postscriptName": "MPLUS1Code-Medium",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code SemiBold",
+ "postscriptName": "MPLUS1Code-SemiBold",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Bold",
+ "postscriptName": "MPLUS1Code-Bold",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS 1 Code",
+ "fullName": "M PLUS 1 Code Regular",
+ "postscriptName": "MPLUS1Code-Regular",
+ "category": "monospace",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mPLUS1p": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Regular",
+ "postscriptName": "MPLUS1p-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Thin",
+ "postscriptName": "MPLUS1p-Thin",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Light",
+ "postscriptName": "MPLUS1p-Light",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Medium",
+ "postscriptName": "MPLUS1p-Medium",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Bold",
+ "postscriptName": "MPLUS1p-Bold",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "800": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p ExtraBold",
+ "postscriptName": "MPLUS1p-ExtraBold",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "900": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Black",
+ "postscriptName": "MPLUS1p-Black",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS 1p",
+ "fullName": "M PLUS 1p Regular",
+ "postscriptName": "MPLUS1p-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "mPLUS2": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Regular",
+ "postscriptName": "MPLUS2-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Thin",
+ "postscriptName": "MPLUS2-Thin",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 ExtraLight",
+ "postscriptName": "MPLUS2-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Light",
+ "postscriptName": "MPLUS2-Light",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Medium",
+ "postscriptName": "MPLUS2-Medium",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 SemiBold",
+ "postscriptName": "MPLUS2-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Bold",
+ "postscriptName": "MPLUS2-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 ExtraBold",
+ "postscriptName": "MPLUS2-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Black",
+ "postscriptName": "MPLUS2-Black",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS 2",
+ "fullName": "M PLUS 2 Regular",
+ "postscriptName": "MPLUS2-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mPLUSCodeLatin": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Regular",
+ "postscriptName": "MPLUSCodeLatin-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Thin",
+ "postscriptName": "MPLUSCodeLatin-Thin",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin ExtraLight",
+ "postscriptName": "MPLUSCodeLatin-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Light",
+ "postscriptName": "MPLUSCodeLatin-Light",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Medium",
+ "postscriptName": "MPLUSCodeLatin-Medium",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin SemiBold",
+ "postscriptName": "MPLUSCodeLatin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Bold",
+ "postscriptName": "MPLUSCodeLatin-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS Code Latin",
+ "fullName": "M PLUS Code Latin Regular",
+ "postscriptName": "MPLUSCodeLatin-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1000,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mPLUSRounded1c": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c",
+ "postscriptName": "RoundedMplus1c-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c Thin",
+ "postscriptName": "RoundedMplus1c-Thin",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "300": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c Light",
+ "postscriptName": "RoundedMplus1c-Light",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "500": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c Medium",
+ "postscriptName": "RoundedMplus1c-Medium",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c Bold",
+ "postscriptName": "RoundedMplus1c-Bold",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "800": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c ExtraBold",
+ "postscriptName": "RoundedMplus1c-ExtraBold",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "900": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c Black",
+ "postscriptName": "RoundedMplus1c-Black",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "M PLUS Rounded 1c",
+ "fullName": "Rounded Mplus 1c",
+ "postscriptName": "RoundedMplus1c-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -320,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "maShanZheng": {
+ "familyName": "Ma Shan Zheng",
+ "fullName": "Ma Shan Zheng Regular",
+ "postscriptName": "MaShanZheng-Regular",
+ "category": "handwriting",
+ "capHeight": 760,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ma Shan Zheng",
+ "fullName": "Ma Shan Zheng Regular",
+ "postscriptName": "MaShanZheng-Regular",
+ "category": "handwriting",
+ "capHeight": 760,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "macondo": {
+ "familyName": "Macondo",
+ "fullName": "Macondo",
+ "postscriptName": "Macondo-Regular",
+ "category": "display",
+ "capHeight": 53,
+ "ascent": 888,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 24,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Macondo",
+ "fullName": "Macondo",
+ "postscriptName": "Macondo-Regular",
+ "category": "display",
+ "capHeight": 53,
+ "ascent": 888,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 24,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "macondoSwashCaps": {
+ "familyName": "Macondo Swash Caps",
+ "fullName": "Macondo Swash Caps",
+ "postscriptName": "MacondoSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 888,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 24,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Macondo Swash Caps",
+ "fullName": "Macondo Swash Caps",
+ "postscriptName": "MacondoSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 888,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 24,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "mada": {
+ "familyName": "Mada",
+ "fullName": "Mada Regular",
+ "postscriptName": "Mada-Regular",
+ "category": "sans-serif",
+ "capHeight": 656,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mada",
+ "fullName": "Mada ExtraLight",
+ "postscriptName": "Mada-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mada",
+ "fullName": "Mada Light",
+ "postscriptName": "Mada-Light",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mada",
+ "fullName": "Mada Medium",
+ "postscriptName": "Mada-Medium",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mada",
+ "fullName": "Mada SemiBold",
+ "postscriptName": "Mada-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 654,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mada",
+ "fullName": "Mada Bold",
+ "postscriptName": "Mada-Bold",
+ "category": "sans-serif",
+ "capHeight": 652,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mada",
+ "fullName": "Mada ExtraBold",
+ "postscriptName": "Mada-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 651,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "900": {
+ "familyName": "Mada",
+ "fullName": "Mada Black",
+ "postscriptName": "Mada-Black",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 704
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mada",
+ "fullName": "Mada Regular",
+ "postscriptName": "Mada-Regular",
+ "category": "sans-serif",
+ "capHeight": 656,
+ "ascent": 950,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ }
+ }
+ },
+ "madimiOne": {
+ "familyName": "Madimi One",
+ "fullName": "Madimi One Regular",
+ "postscriptName": "MadimiOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1010,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Madimi One",
+ "fullName": "Madimi One Regular",
+ "postscriptName": "MadimiOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1010,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ }
+ }
+ },
+ "magra": {
+ "familyName": "Magra",
+ "fullName": "Magra",
+ "postscriptName": "Magra",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 637
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Magra",
+ "fullName": "Magra Bold",
+ "postscriptName": "Magra-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 637
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Magra",
+ "fullName": "Magra",
+ "postscriptName": "Magra",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 637
+ }
+ }
+ }
+ }
+ },
+ "maidenOrange": {
+ "familyName": "Maiden Orange",
+ "fullName": "Maiden Orange Regular",
+ "postscriptName": "MaidenOrange-Regular",
+ "category": "serif",
+ "capHeight": 1406,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1056,
+ "xWidthAvg": 670,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 670
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Maiden Orange",
+ "fullName": "Maiden Orange Regular",
+ "postscriptName": "MaidenOrange-Regular",
+ "category": "serif",
+ "capHeight": 1406,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1056,
+ "xWidthAvg": 670,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 670
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "maitree": {
+ "familyName": "Maitree",
+ "fullName": "Maitree",
+ "postscriptName": "Maitree",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Maitree",
+ "fullName": "Maitree-ExtraLight",
+ "postscriptName": "Maitree-ExtraLight",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 542
+ }
+ }
+ },
+ "300": {
+ "familyName": "Maitree",
+ "fullName": "Maitree-Light",
+ "postscriptName": "Maitree-Light",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 552
+ }
+ }
+ },
+ "500": {
+ "familyName": "Maitree",
+ "fullName": "Maitree-Medium",
+ "postscriptName": "Maitree-Medium",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "600": {
+ "familyName": "Maitree",
+ "fullName": "Maitree-SemiBold",
+ "postscriptName": "Maitree-SemiBold",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 575
+ }
+ }
+ },
+ "700": {
+ "familyName": "Maitree",
+ "fullName": "Maitree Bold",
+ "postscriptName": "Maitree-Bold",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Maitree",
+ "fullName": "Maitree",
+ "postscriptName": "Maitree",
+ "category": "serif",
+ "capHeight": 695,
+ "ascent": 1150,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ }
+ }
+ },
+ "majorMonoDisplay": {
+ "familyName": "Major Mono Display",
+ "fullName": "Major Mono Display Regular",
+ "postscriptName": "MajorMonoDisplay-Regular",
+ "category": "monospace",
+ "capHeight": 696,
+ "ascent": 900,
+ "descent": -100,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 696,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 740
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Major Mono Display",
+ "fullName": "Major Mono Display Regular",
+ "postscriptName": "MajorMonoDisplay-Regular",
+ "category": "monospace",
+ "capHeight": 696,
+ "ascent": 900,
+ "descent": -100,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 696,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 740
+ }
+ }
+ }
+ }
+ },
+ "mako": {
+ "familyName": "Mako",
+ "fullName": "Mako Regular",
+ "postscriptName": "Mako-Regular",
+ "category": "sans-serif",
+ "capHeight": 1437,
+ "ascent": 2141,
+ "descent": -538,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1031,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1402
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mako",
+ "fullName": "Mako Regular",
+ "postscriptName": "Mako-Regular",
+ "category": "sans-serif",
+ "capHeight": 1437,
+ "ascent": 2141,
+ "descent": -538,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1031,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1402
+ }
+ }
+ }
+ }
+ },
+ "mali": {
+ "familyName": "Mali",
+ "fullName": "Mali Regular",
+ "postscriptName": "Mali-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mali",
+ "fullName": "Mali ExtraLight",
+ "postscriptName": "Mali-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mali",
+ "fullName": "Mali Light",
+ "postscriptName": "Mali-Light",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 635
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mali",
+ "fullName": "Mali Medium",
+ "postscriptName": "Mali-Medium",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mali",
+ "fullName": "Mali SemiBold",
+ "postscriptName": "Mali-SemiBold",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mali",
+ "fullName": "Mali Bold",
+ "postscriptName": "Mali-Bold",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mali",
+ "fullName": "Mali Regular",
+ "postscriptName": "Mali-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Mali",
+ "fullName": "Mali Italic",
+ "postscriptName": "Mali-Italic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Mali",
+ "fullName": "Mali Bold Italic",
+ "postscriptName": "Mali-BoldItalic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 661
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Mali",
+ "fullName": "Mali SemiBold Italic",
+ "postscriptName": "Mali-SemiBoldItalic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Mali",
+ "fullName": "Mali Medium Italic",
+ "postscriptName": "Mali-MediumItalic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 649
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Mali",
+ "fullName": "Mali Light Italic",
+ "postscriptName": "Mali-LightItalic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Mali",
+ "fullName": "Mali ExtraLight Italic",
+ "postscriptName": "Mali-ExtraLightItalic",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ }
+ }
+ },
+ "mallanna": {
+ "familyName": "Mallanna",
+ "fullName": "Mallanna",
+ "postscriptName": "Mallanna",
+ "category": "sans-serif",
+ "capHeight": 546,
+ "ascent": 1105,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 870,
+ "xHeight": 379,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mallanna",
+ "fullName": "Mallanna",
+ "postscriptName": "Mallanna",
+ "category": "sans-serif",
+ "capHeight": 546,
+ "ascent": 1105,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 870,
+ "xHeight": 379,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 319
+ }
+ }
+ }
+ }
+ },
+ "maname": {
+ "familyName": "Maname",
+ "fullName": "Maname Regular",
+ "postscriptName": "Maname-Regular",
+ "category": "serif",
+ "capHeight": 578,
+ "ascent": 1200,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Maname",
+ "fullName": "Maname Regular",
+ "postscriptName": "Maname-Regular",
+ "category": "serif",
+ "capHeight": 578,
+ "ascent": 1200,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "mandali": {
+ "familyName": "Mandali",
+ "fullName": "Mandali",
+ "postscriptName": "Mandali",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 1087,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 790,
+ "xHeight": 382,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mandali",
+ "fullName": "Mandali",
+ "postscriptName": "Mandali",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 1087,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 790,
+ "xHeight": 382,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ }
+ }
+ }
+ },
+ "manjari": {
+ "familyName": "Manjari",
+ "fullName": "Manjari Regular",
+ "postscriptName": "Manjari-Regular",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 761
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Manjari",
+ "fullName": "Manjari Thin",
+ "postscriptName": "Manjari-Thin",
+ "category": "sans-serif",
+ "capHeight": 1360,
+ "ascent": 1400,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 692
+ }
+ }
+ },
+ "700": {
+ "familyName": "Manjari",
+ "fullName": "Manjari Bold",
+ "postscriptName": "Manjari-Bold",
+ "category": "sans-serif",
+ "capHeight": 1432,
+ "ascent": 1500,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1072,
+ "xWidthAvg": 944,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 944
+ },
+ "thai": {
+ "xWidthAvg": 771
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Manjari",
+ "fullName": "Manjari Regular",
+ "postscriptName": "Manjari-Regular",
+ "category": "sans-serif",
+ "capHeight": 1385,
+ "ascent": 1500,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 761
+ }
+ }
+ }
+ }
+ },
+ "manrope": {
+ "familyName": "Manrope",
+ "fullName": "Manrope Regular",
+ "postscriptName": "Manrope-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Manrope",
+ "fullName": "Manrope ExtraLight",
+ "postscriptName": "Manrope-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 887,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 887
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "300": {
+ "familyName": "Manrope",
+ "fullName": "Manrope Light",
+ "postscriptName": "Manrope-Light",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 904,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 904
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "500": {
+ "familyName": "Manrope",
+ "fullName": "Manrope Medium",
+ "postscriptName": "Manrope-Medium",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "600": {
+ "familyName": "Manrope",
+ "fullName": "Manrope SemiBold",
+ "postscriptName": "Manrope-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "700": {
+ "familyName": "Manrope",
+ "fullName": "Manrope Bold",
+ "postscriptName": "Manrope-Bold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 971,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 971
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "800": {
+ "familyName": "Manrope",
+ "fullName": "Manrope ExtraBold",
+ "postscriptName": "Manrope-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 988,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 988
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Manrope",
+ "fullName": "Manrope Regular",
+ "postscriptName": "Manrope-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2132,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 1480
+ }
+ }
+ }
+ }
+ },
+ "mansalva": {
+ "familyName": "Mansalva",
+ "fullName": "Mansalva Regular",
+ "postscriptName": "Mansalva-Regular",
+ "category": "handwriting",
+ "capHeight": 702,
+ "ascent": 1112,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 384,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mansalva",
+ "fullName": "Mansalva Regular",
+ "postscriptName": "Mansalva-Regular",
+ "category": "handwriting",
+ "capHeight": 702,
+ "ascent": 1112,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 384,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ }
+ }
+ },
+ "manuale": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Regular",
+ "postscriptName": "Manuale-Regular",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Light",
+ "postscriptName": "Manuale-Light",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Medium",
+ "postscriptName": "Manuale-Medium",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Manuale",
+ "fullName": "Manuale SemiBold",
+ "postscriptName": "Manuale-SemiBold",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Bold",
+ "postscriptName": "Manuale-Bold",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800": {
+ "familyName": "Manuale",
+ "fullName": "Manuale ExtraBold",
+ "postscriptName": "Manuale-ExtraBold",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Regular",
+ "postscriptName": "Manuale-Regular",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Italic",
+ "postscriptName": "Manuale-Italic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale ExtraBold Italic",
+ "postscriptName": "Manuale-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Bold Italic",
+ "postscriptName": "Manuale-BoldItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale SemiBold Italic",
+ "postscriptName": "Manuale-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Medium Italic",
+ "postscriptName": "Manuale-MediumItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Manuale",
+ "fullName": "Manuale Light Italic",
+ "postscriptName": "Manuale-LightItalic",
+ "category": "serif",
+ "capHeight": 611,
+ "ascent": 980,
+ "descent": -236,
+ "lineGap": 221,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ }
+ }
+ },
+ "marcellus": {
+ "familyName": "Marcellus",
+ "fullName": "Marcellus",
+ "postscriptName": "Marcellus-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1995,
+ "descent": -573,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Marcellus",
+ "fullName": "Marcellus",
+ "postscriptName": "Marcellus-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1995,
+ "descent": -573,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 936,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 936
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "marcellusSC": {
+ "familyName": "Marcellus SC",
+ "fullName": "Marcellus SC",
+ "postscriptName": "MarcellusSC-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1995,
+ "descent": -573,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1075,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Marcellus SC",
+ "fullName": "Marcellus SC",
+ "postscriptName": "MarcellusSC-Regular",
+ "category": "serif",
+ "capHeight": 1434,
+ "ascent": 1995,
+ "descent": -573,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1075,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "marckScript": {
+ "familyName": "Marck Script",
+ "fullName": "Marck Script",
+ "postscriptName": "MarckScript-Regular",
+ "category": "handwriting",
+ "capHeight": 638,
+ "ascent": 864,
+ "descent": -385,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 263,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Marck Script",
+ "fullName": "Marck Script",
+ "postscriptName": "MarckScript-Regular",
+ "category": "handwriting",
+ "capHeight": 638,
+ "ascent": 864,
+ "descent": -385,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 263,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ }
+ }
+ },
+ "margarine": {
+ "familyName": "Margarine",
+ "fullName": "Margarine",
+ "postscriptName": "Margarine-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2075,
+ "descent": -678,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Margarine",
+ "fullName": "Margarine",
+ "postscriptName": "Margarine-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 2075,
+ "descent": -678,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "marhey": {
+ "familyName": "Marhey",
+ "fullName": "Marhey Regular",
+ "postscriptName": "Marhey-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Marhey",
+ "fullName": "Marhey Light",
+ "postscriptName": "Marhey-Light",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Marhey",
+ "fullName": "Marhey Medium",
+ "postscriptName": "Marhey-Medium",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Marhey",
+ "fullName": "Marhey SemiBold",
+ "postscriptName": "Marhey-SemiBold",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Marhey",
+ "fullName": "Marhey Bold",
+ "postscriptName": "Marhey-Bold",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Marhey",
+ "fullName": "Marhey Regular",
+ "postscriptName": "Marhey-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1100,
+ "descent": -640,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "markaziText": {
+ "familyName": "Markazi Text",
+ "fullName": "Markazi Text Regular",
+ "postscriptName": "MarkaziText-Regular",
+ "category": "serif",
+ "capHeight": 990,
+ "ascent": 1718,
+ "descent": -740,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 746,
+ "xWidthAvg": 687,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 687
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Markazi Text",
+ "fullName": "Markazi Text Medium",
+ "postscriptName": "MarkaziText-Medium",
+ "category": "serif",
+ "capHeight": 990,
+ "ascent": 1718,
+ "descent": -740,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 746,
+ "xWidthAvg": 693,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 693
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600": {
+ "familyName": "Markazi Text",
+ "fullName": "Markazi Text SemiBold",
+ "postscriptName": "MarkaziText-SemiBold",
+ "category": "serif",
+ "capHeight": 990,
+ "ascent": 1718,
+ "descent": -740,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 746,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Markazi Text",
+ "fullName": "Markazi Text Bold",
+ "postscriptName": "MarkaziText-Bold",
+ "category": "serif",
+ "capHeight": 990,
+ "ascent": 1718,
+ "descent": -740,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 746,
+ "xWidthAvg": 705,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 705
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Markazi Text",
+ "fullName": "Markazi Text Regular",
+ "postscriptName": "MarkaziText-Regular",
+ "category": "serif",
+ "capHeight": 990,
+ "ascent": 1718,
+ "descent": -740,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 746,
+ "xWidthAvg": 687,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 687
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "markoOne": {
+ "familyName": "Marko One",
+ "fullName": "Marko One",
+ "postscriptName": "MarkoOne-Regular",
+ "category": "serif",
+ "capHeight": 1475,
+ "ascent": 2019,
+ "descent": -727,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 713,
+ "xWidthAvg": 1084,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1084
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Marko One",
+ "fullName": "Marko One",
+ "postscriptName": "MarkoOne-Regular",
+ "category": "serif",
+ "capHeight": 1475,
+ "ascent": 2019,
+ "descent": -727,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 713,
+ "xWidthAvg": 1084,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1084
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "marmelad": {
+ "familyName": "Marmelad",
+ "fullName": "Marmelad Regular",
+ "postscriptName": "Marmelad-Regular",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 972,
+ "descent": -221,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Marmelad",
+ "fullName": "Marmelad Regular",
+ "postscriptName": "Marmelad-Regular",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 972,
+ "descent": -221,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1210
+ }
+ }
+ }
+ }
+ },
+ "martel": {
+ "familyName": "Martel",
+ "fullName": "Martel",
+ "postscriptName": "Martel-Regular",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Martel",
+ "fullName": "Martel UltraLight",
+ "postscriptName": "Martel-UltraLight",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "300": {
+ "familyName": "Martel",
+ "fullName": "Martel Light",
+ "postscriptName": "Martel-Light",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Martel",
+ "fullName": "Martel DemiBold",
+ "postscriptName": "Martel-DemiBold",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Martel",
+ "fullName": "Martel Bold",
+ "postscriptName": "Martel-Bold",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "800": {
+ "familyName": "Martel",
+ "fullName": "Martel ExtraBold",
+ "postscriptName": "Martel-ExtraBold",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "900": {
+ "familyName": "Martel",
+ "fullName": "Martel Heavy",
+ "postscriptName": "Martel-Heavy",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Martel",
+ "fullName": "Martel",
+ "postscriptName": "Martel-Regular",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 1125,
+ "descent": -562,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ }
+ }
+ },
+ "martelSans": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans Regular",
+ "postscriptName": "MartelSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans ExtraLight",
+ "postscriptName": "MartelSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 431
+ }
+ }
+ },
+ "300": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans Light",
+ "postscriptName": "MartelSans-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 448
+ }
+ }
+ },
+ "600": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans SemiBold",
+ "postscriptName": "MartelSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 478
+ }
+ }
+ },
+ "700": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans Bold",
+ "postscriptName": "MartelSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ },
+ "800": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans ExtraBold",
+ "postscriptName": "MartelSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ },
+ "900": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans Black",
+ "postscriptName": "MartelSans-Black",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 568,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Martel Sans",
+ "fullName": "Martel Sans Regular",
+ "postscriptName": "MartelSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1150,
+ "descent": -674,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ }
+ }
+ }
+ },
+ "martianMono": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Regular",
+ "postscriptName": "MartianMono-Regular",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Thin",
+ "postscriptName": "MartianMono-Thin",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "200": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono ExtraLight",
+ "postscriptName": "MartianMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "300": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Light",
+ "postscriptName": "MartianMono-Light",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Medium",
+ "postscriptName": "MartianMono-Medium",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono SemiBold",
+ "postscriptName": "MartianMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Bold",
+ "postscriptName": "MartianMono-Bold",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono ExtraBold",
+ "postscriptName": "MartianMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Martian Mono",
+ "fullName": "Martian Mono Regular",
+ "postscriptName": "MartianMono-Regular",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 700,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 700
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ }
+ }
+ },
+ "marvel": {
+ "familyName": "Marvel",
+ "fullName": "Marvel",
+ "postscriptName": "Marvel-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 951,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Marvel",
+ "fullName": "Marvel Bold",
+ "postscriptName": "Marvel-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 951,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 344,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 344
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Marvel",
+ "fullName": "Marvel",
+ "postscriptName": "Marvel-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 951,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 343,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 343
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Marvel",
+ "fullName": "Marvel Italic",
+ "postscriptName": "Marvel-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 951,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Marvel",
+ "fullName": "Marvel Bold Italic",
+ "postscriptName": "Marvel-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 951,
+ "descent": -259,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mate": {
+ "familyName": "Mate",
+ "fullName": "Mate Regular",
+ "postscriptName": "Mate-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 958,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mate",
+ "fullName": "Mate Regular",
+ "postscriptName": "Mate-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 958,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Mate",
+ "fullName": "Mate Italic",
+ "postscriptName": "Mate-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 958,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ }
+ }
+ },
+ "mateSC": {
+ "familyName": "Mate SC",
+ "fullName": "Mate SC Regular",
+ "postscriptName": "MateSC-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 958,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mate SC",
+ "fullName": "Mate SC Regular",
+ "postscriptName": "MateSC-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 958,
+ "descent": -262,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ }
+ }
+ },
+ "matemasie": {
+ "familyName": "Matemasie",
+ "fullName": "Matemasie Regular",
+ "postscriptName": "Matemasie-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1250,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 791
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Matemasie",
+ "fullName": "Matemasie Regular",
+ "postscriptName": "Matemasie-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1250,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 791
+ }
+ }
+ }
+ }
+ },
+ "materialIcons": {
+ "familyName": "Material Icons",
+ "fullName": "Material Icons",
+ "postscriptName": "MaterialIcons-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Material Icons",
+ "fullName": "Material Icons",
+ "postscriptName": "MaterialIcons-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "materialIconsOutlined": {
+ "familyName": "Material Icons Outlined",
+ "fullName": "Material Icons Outlined Regular",
+ "postscriptName": "MaterialIconsOutlined-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Material Icons Outlined",
+ "fullName": "Material Icons Outlined Regular",
+ "postscriptName": "MaterialIconsOutlined-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "materialIconsRound": {
+ "familyName": "Material Icons Round",
+ "fullName": "Material Icons Round Regular",
+ "postscriptName": "MaterialIconsRound-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Material Icons Round",
+ "fullName": "Material Icons Round Regular",
+ "postscriptName": "MaterialIconsRound-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "materialIconsSharp": {
+ "familyName": "Material Icons Sharp",
+ "fullName": "Material Icons Sharp Regular",
+ "postscriptName": "MaterialIconsSharp-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Material Icons Sharp",
+ "fullName": "Material Icons Sharp Regular",
+ "postscriptName": "MaterialIconsSharp-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "materialIconsTwoTone": {
+ "familyName": "Material Icons Two Tone",
+ "fullName": "Material Icons Two Tone Regular",
+ "postscriptName": "MaterialIconsTwoTone-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Material Icons Two Tone",
+ "fullName": "Material Icons Two Tone Regular",
+ "postscriptName": "MaterialIconsTwoTone-Regular",
+ "category": "monospace",
+ "capHeight": 0,
+ "ascent": 512,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 512,
+ "xHeight": 0,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "materialSymbolsOutlined": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Regular",
+ "postscriptName": "MaterialSymbolsOutlined-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Thin",
+ "postscriptName": "MaterialSymbolsOutlined-Thin",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "200": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined ExtraLight",
+ "postscriptName": "MaterialSymbolsOutlined-ExtraLight",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "300": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Light",
+ "postscriptName": "MaterialSymbolsOutlined-Light",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "500": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Medium",
+ "postscriptName": "MaterialSymbolsOutlined-Medium",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "600": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined SemiBold",
+ "postscriptName": "MaterialSymbolsOutlined-SemiBold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "700": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Bold",
+ "postscriptName": "MaterialSymbolsOutlined-Bold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Material Symbols Outlined",
+ "fullName": "Material Symbols Outlined Regular",
+ "postscriptName": "MaterialSymbolsOutlined-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ }
+ }
+ },
+ "materialSymbolsRounded": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Regular",
+ "postscriptName": "MaterialSymbolsRounded-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Thin",
+ "postscriptName": "MaterialSymbolsRounded-Thin",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "200": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded ExtraLight",
+ "postscriptName": "MaterialSymbolsRounded-ExtraLight",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "300": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Light",
+ "postscriptName": "MaterialSymbolsRounded-Light",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "500": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Medium",
+ "postscriptName": "MaterialSymbolsRounded-Medium",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "600": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded SemiBold",
+ "postscriptName": "MaterialSymbolsRounded-SemiBold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "700": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Bold",
+ "postscriptName": "MaterialSymbolsRounded-Bold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Material Symbols Rounded",
+ "fullName": "Material Symbols Rounded Regular",
+ "postscriptName": "MaterialSymbolsRounded-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ }
+ }
+ },
+ "materialSymbolsSharp": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Regular",
+ "postscriptName": "MaterialSymbolsSharp-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Thin",
+ "postscriptName": "MaterialSymbolsSharp-Thin",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "200": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp ExtraLight",
+ "postscriptName": "MaterialSymbolsSharp-ExtraLight",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "300": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Light",
+ "postscriptName": "MaterialSymbolsSharp-Light",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "500": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Medium",
+ "postscriptName": "MaterialSymbolsSharp-Medium",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "600": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp SemiBold",
+ "postscriptName": "MaterialSymbolsSharp-SemiBold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "700": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Bold",
+ "postscriptName": "MaterialSymbolsSharp-Bold",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Material Symbols Sharp",
+ "fullName": "Material Symbols Sharp Regular",
+ "postscriptName": "MaterialSymbolsSharp-Regular",
+ "category": "monospace",
+ "capHeight": 960,
+ "ascent": 1056,
+ "descent": -96,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 960,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ }
+ }
+ },
+ "mavenPro": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro Regular",
+ "postscriptName": "MavenPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro Medium",
+ "postscriptName": "MavenPro-Medium",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro SemiBold",
+ "postscriptName": "MavenPro-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro Bold",
+ "postscriptName": "MavenPro-Bold",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro ExtraBold",
+ "postscriptName": "MavenPro-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro Black",
+ "postscriptName": "MavenPro-Black",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Maven Pro",
+ "fullName": "Maven Pro Regular",
+ "postscriptName": "MavenPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 667,
+ "ascent": 965,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mcLaren": {
+ "familyName": "McLaren",
+ "fullName": "McLaren",
+ "postscriptName": "McLaren-Regular",
+ "category": "display",
+ "capHeight": 1445,
+ "ascent": 2216,
+ "descent": -722,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1042,
+ "xWidthAvg": 1042,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1042
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "McLaren",
+ "fullName": "McLaren",
+ "postscriptName": "McLaren-Regular",
+ "category": "display",
+ "capHeight": 1445,
+ "ascent": 2216,
+ "descent": -722,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1042,
+ "xWidthAvg": 1042,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1042
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ }
+ }
+ },
+ "meaCulpa": {
+ "familyName": "Mea Culpa",
+ "fullName": "Mea Culpa Regular",
+ "postscriptName": "MeaCulpa-Regular",
+ "category": "handwriting",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 363
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mea Culpa",
+ "fullName": "Mea Culpa Regular",
+ "postscriptName": "MeaCulpa-Regular",
+ "category": "handwriting",
+ "capHeight": 800,
+ "ascent": 1000,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 363
+ }
+ }
+ }
+ }
+ },
+ "meddon": {
+ "familyName": "Meddon",
+ "fullName": "Meddon",
+ "postscriptName": "Meddon",
+ "category": "handwriting",
+ "capHeight": 2177,
+ "ascent": 2860,
+ "descent": -1457,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 756,
+ "xWidthAvg": 1250,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1250
+ },
+ "thai": {
+ "xWidthAvg": 1124
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Meddon",
+ "fullName": "Meddon",
+ "postscriptName": "Meddon",
+ "category": "handwriting",
+ "capHeight": 2177,
+ "ascent": 2860,
+ "descent": -1457,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 756,
+ "xWidthAvg": 1250,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1250
+ },
+ "thai": {
+ "xWidthAvg": 1124
+ }
+ }
+ }
+ }
+ },
+ "medievalSharp": {
+ "familyName": "MedievalSharp",
+ "fullName": "MedievalSharp",
+ "postscriptName": "MedievalSharp",
+ "category": "display",
+ "capHeight": 201,
+ "ascent": 1771,
+ "descent": -543,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 224,
+ "xWidthAvg": 947,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 947
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "MedievalSharp",
+ "fullName": "MedievalSharp",
+ "postscriptName": "MedievalSharp",
+ "category": "display",
+ "capHeight": 201,
+ "ascent": 1771,
+ "descent": -543,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 224,
+ "xWidthAvg": 947,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 947
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "medulaOne": {
+ "familyName": "Medula One",
+ "fullName": "Medula One",
+ "postscriptName": "MedulaOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 846,
+ "descent": -162,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 120
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Medula One",
+ "fullName": "Medula One",
+ "postscriptName": "MedulaOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 846,
+ "descent": -162,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 255,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 255
+ },
+ "thai": {
+ "xWidthAvg": 120
+ }
+ }
+ }
+ }
+ },
+ "meeraInimai": {
+ "familyName": "Meera Inimai",
+ "fullName": "MeeraInimai-Regular",
+ "postscriptName": "MeeraInimai-Regular",
+ "category": "sans-serif",
+ "capHeight": 1460,
+ "ascent": 1986,
+ "descent": -1200,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xHeight": 1056,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1122
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Meera Inimai",
+ "fullName": "MeeraInimai-Regular",
+ "postscriptName": "MeeraInimai-Regular",
+ "category": "sans-serif",
+ "capHeight": 1460,
+ "ascent": 1986,
+ "descent": -1200,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xHeight": 1056,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1122
+ }
+ }
+ }
+ }
+ },
+ "megrim": {
+ "familyName": "Megrim",
+ "fullName": "Megrim",
+ "postscriptName": "Megrim",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -200,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Megrim",
+ "fullName": "Megrim",
+ "postscriptName": "Megrim",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -200,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "meieScript": {
+ "familyName": "Meie Script",
+ "fullName": "Meie Script",
+ "postscriptName": "MeieScript-Regular",
+ "category": "handwriting",
+ "capHeight": 862,
+ "ascent": 1814,
+ "descent": -780,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 354,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Meie Script",
+ "fullName": "Meie Script",
+ "postscriptName": "MeieScript-Regular",
+ "category": "handwriting",
+ "capHeight": 862,
+ "ascent": 1814,
+ "descent": -780,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 354,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "meowScript": {
+ "familyName": "Meow Script",
+ "fullName": "Meow Script Regular",
+ "postscriptName": "MeowScript-Regular",
+ "category": "handwriting",
+ "capHeight": 560,
+ "ascent": 830,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Meow Script",
+ "fullName": "Meow Script Regular",
+ "postscriptName": "MeowScript-Regular",
+ "category": "handwriting",
+ "capHeight": 560,
+ "ascent": 830,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 320,
+ "xWidthAvg": 323,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 323
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "merienda": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Regular",
+ "postscriptName": "Merienda-Regular",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Light",
+ "postscriptName": "Merienda-Light",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 686
+ }
+ }
+ },
+ "500": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Medium",
+ "postscriptName": "Merienda-Medium",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 726
+ }
+ }
+ },
+ "600": {
+ "familyName": "Merienda",
+ "fullName": "Merienda SemiBold",
+ "postscriptName": "Merienda-SemiBold",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "700": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Bold",
+ "postscriptName": "Merienda-Bold",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 768
+ }
+ }
+ },
+ "800": {
+ "familyName": "Merienda",
+ "fullName": "Merienda ExtraBold",
+ "postscriptName": "Merienda-ExtraBold",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 794
+ }
+ }
+ },
+ "900": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Black",
+ "postscriptName": "Merienda-Black",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 808
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Merienda",
+ "fullName": "Merienda Regular",
+ "postscriptName": "Merienda-Regular",
+ "category": "handwriting",
+ "capHeight": 847,
+ "ascent": 1102,
+ "descent": -342,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 599,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ }
+ }
+ },
+ "merriweather": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Regular",
+ "postscriptName": "Merriweather-Regular",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Light",
+ "postscriptName": "Merriweather-Light",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ },
+ "700": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Bold",
+ "postscriptName": "Merriweather-Bold",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ },
+ "900": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Black",
+ "postscriptName": "Merriweather-Black",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Regular",
+ "postscriptName": "Merriweather-Regular",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Italic",
+ "postscriptName": "Merriweather-Italic",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Black Italic",
+ "postscriptName": "Merriweather-BlackItalic",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Bold Italic",
+ "postscriptName": "Merriweather-BoldItalic",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 910
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Merriweather",
+ "fullName": "Merriweather Light Italic",
+ "postscriptName": "Merriweather-LightItalic",
+ "category": "serif",
+ "capHeight": 743,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 902
+ }
+ }
+ }
+ }
+ },
+ "merriweatherSans": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Regular",
+ "postscriptName": "MerriweatherSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 1830
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Light",
+ "postscriptName": "MerriweatherSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "500": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Medium",
+ "postscriptName": "MerriweatherSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 961,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 961
+ },
+ "thai": {
+ "xWidthAvg": 1831
+ }
+ }
+ },
+ "600": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans SemiBold",
+ "postscriptName": "MerriweatherSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 1832
+ }
+ }
+ },
+ "700": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Bold",
+ "postscriptName": "MerriweatherSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 985,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 985
+ },
+ "thai": {
+ "xWidthAvg": 1832
+ }
+ }
+ },
+ "800": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans ExtraBold",
+ "postscriptName": "MerriweatherSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 1834
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Regular",
+ "postscriptName": "MerriweatherSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1486,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 949,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 949
+ },
+ "thai": {
+ "xWidthAvg": 1830
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Italic",
+ "postscriptName": "MerriweatherSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 893,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 893
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans ExtraBold Italic",
+ "postscriptName": "MerriweatherSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 958,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 958
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Bold Italic",
+ "postscriptName": "MerriweatherSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans SemiBold Italic",
+ "postscriptName": "MerriweatherSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Medium Italic",
+ "postscriptName": "MerriweatherSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 907,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 907
+ },
+ "thai": {
+ "xWidthAvg": 1828
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Merriweather Sans",
+ "fullName": "Merriweather Sans Light Italic",
+ "postscriptName": "MerriweatherSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1494,
+ "ascent": 1968,
+ "descent": -546,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1114,
+ "xWidthAvg": 875,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 875
+ },
+ "thai": {
+ "xWidthAvg": 1802
+ }
+ }
+ }
+ }
+ },
+ "metal": {
+ "familyName": "Metal",
+ "fullName": "Metal Regular",
+ "postscriptName": "Metal-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2600,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 746,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 746
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Metal",
+ "fullName": "Metal Regular",
+ "postscriptName": "Metal-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2600,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 746,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 746
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "metalMania": {
+ "familyName": "Metal Mania",
+ "fullName": "Metal Mania",
+ "postscriptName": "MetalMania-Regular",
+ "category": "display",
+ "capHeight": 820,
+ "ascent": 965,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 620,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Metal Mania",
+ "fullName": "Metal Mania",
+ "postscriptName": "MetalMania-Regular",
+ "category": "display",
+ "capHeight": 820,
+ "ascent": 965,
+ "descent": -303,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 620,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ }
+ }
+ }
+ },
+ "metamorphous": {
+ "familyName": "Metamorphous",
+ "fullName": "Metamorphous",
+ "postscriptName": "Metamorphous",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1972,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1208,
+ "xWidthAvg": 1140,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1140
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Metamorphous",
+ "fullName": "Metamorphous",
+ "postscriptName": "Metamorphous",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1972,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1208,
+ "xWidthAvg": 1140,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1140
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ }
+ }
+ },
+ "metrophobic": {
+ "familyName": "Metrophobic",
+ "fullName": "Metrophobic Regular",
+ "postscriptName": "Metrophobic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1441,
+ "ascent": 2065,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1011,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1154
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Metrophobic",
+ "fullName": "Metrophobic Regular",
+ "postscriptName": "Metrophobic-Regular",
+ "category": "sans-serif",
+ "capHeight": 1441,
+ "ascent": 2065,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1011,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1154
+ }
+ }
+ }
+ }
+ },
+ "michroma": {
+ "familyName": "Michroma",
+ "fullName": "Michroma Regular",
+ "postscriptName": "Michroma-Regular",
+ "category": "sans-serif",
+ "capHeight": 1536,
+ "ascent": 2368,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1152,
+ "xWidthAvg": 1293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1293
+ },
+ "thai": {
+ "xWidthAvg": 1792
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Michroma",
+ "fullName": "Michroma Regular",
+ "postscriptName": "Michroma-Regular",
+ "category": "sans-serif",
+ "capHeight": 1536,
+ "ascent": 2368,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1152,
+ "xWidthAvg": 1293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1293
+ },
+ "thai": {
+ "xWidthAvg": 1792
+ }
+ }
+ }
+ }
+ },
+ "micro5": {
+ "familyName": "Micro 5",
+ "fullName": "Micro 5 Regular",
+ "postscriptName": "Micro5-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1190,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1650,
+ "xHeight": 600,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Micro 5",
+ "fullName": "Micro 5 Regular",
+ "postscriptName": "Micro5-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1190,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1650,
+ "xHeight": 600,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "micro5Charted": {
+ "familyName": "Micro 5 Charted",
+ "fullName": "Micro 5 Charted Regular",
+ "postscriptName": "Micro5Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1190,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1650,
+ "xHeight": 600,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Micro 5 Charted",
+ "fullName": "Micro 5 Charted Regular",
+ "postscriptName": "Micro5Charted-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 1190,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1650,
+ "xHeight": 600,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "milonga": {
+ "familyName": "Milonga",
+ "fullName": "Milonga",
+ "postscriptName": "Milonga-Regular",
+ "category": "display",
+ "capHeight": 809,
+ "ascent": 990,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Milonga",
+ "fullName": "Milonga",
+ "postscriptName": "Milonga-Regular",
+ "category": "display",
+ "capHeight": 809,
+ "ascent": 990,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ }
+ }
+ },
+ "miltonian": {
+ "familyName": "Miltonian",
+ "fullName": "Miltonian",
+ "postscriptName": "Miltonian-Regular",
+ "category": "display",
+ "capHeight": 689,
+ "ascent": 918,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Miltonian",
+ "fullName": "Miltonian",
+ "postscriptName": "Miltonian-Regular",
+ "category": "display",
+ "capHeight": 689,
+ "ascent": 918,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "miltonianTattoo": {
+ "familyName": "Miltonian Tattoo",
+ "fullName": "Miltonian Tattoo",
+ "postscriptName": "MiltonianTattoo-Regular",
+ "category": "display",
+ "capHeight": 689,
+ "ascent": 918,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Miltonian Tattoo",
+ "fullName": "Miltonian Tattoo",
+ "postscriptName": "MiltonianTattoo-Regular",
+ "category": "display",
+ "capHeight": 689,
+ "ascent": 918,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "mina": {
+ "familyName": "Mina",
+ "fullName": "Mina",
+ "postscriptName": "Mina-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Mina",
+ "fullName": "Mina Bold",
+ "postscriptName": "Mina-Bold",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mina",
+ "fullName": "Mina",
+ "postscriptName": "Mina-Regular",
+ "category": "sans-serif",
+ "ascent": 1075,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "mingzat": {
+ "familyName": "Mingzat",
+ "fullName": "Mingzat",
+ "postscriptName": "Mingzat-Regular",
+ "category": "sans-serif",
+ "capHeight": 1100,
+ "ascent": 1427,
+ "descent": -670,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 705,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 760
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mingzat",
+ "fullName": "Mingzat",
+ "postscriptName": "Mingzat-Regular",
+ "category": "sans-serif",
+ "capHeight": 1100,
+ "ascent": 1427,
+ "descent": -670,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 705,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 760
+ }
+ }
+ }
+ }
+ },
+ "miniver": {
+ "familyName": "Miniver",
+ "fullName": "Miniver",
+ "postscriptName": "Miniver",
+ "category": "display",
+ "capHeight": 782,
+ "ascent": 1019,
+ "descent": -474,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 501,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Miniver",
+ "fullName": "Miniver",
+ "postscriptName": "Miniver",
+ "category": "display",
+ "capHeight": 782,
+ "ascent": 1019,
+ "descent": -474,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 501,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ }
+ }
+ }
+ },
+ "miriamLibre": {
+ "familyName": "Miriam Libre",
+ "fullName": "Miriam Libre Regular",
+ "postscriptName": "MiriamLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 969,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Miriam Libre",
+ "fullName": "Miriam Libre Medium",
+ "postscriptName": "MiriamLibre-Medium",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 969,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Miriam Libre",
+ "fullName": "Miriam Libre SemiBold",
+ "postscriptName": "MiriamLibre-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 969,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Miriam Libre",
+ "fullName": "Miriam Libre Bold",
+ "postscriptName": "MiriamLibre-Bold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 969,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Miriam Libre",
+ "fullName": "Miriam Libre Regular",
+ "postscriptName": "MiriamLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 969,
+ "descent": -344,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mirza": {
+ "familyName": "Mirza",
+ "fullName": "Mirza Regular",
+ "postscriptName": "Mirza-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 547,
+ "descent": -453,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Mirza",
+ "fullName": "Mirza Medium",
+ "postscriptName": "Mirza-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 547,
+ "descent": -453,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mirza",
+ "fullName": "Mirza SemiBold",
+ "postscriptName": "Mirza-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 547,
+ "descent": -453,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mirza",
+ "fullName": "Mirza Bold",
+ "postscriptName": "Mirza-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 547,
+ "descent": -453,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mirza",
+ "fullName": "Mirza Regular",
+ "postscriptName": "Mirza-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 547,
+ "descent": -453,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "missFajardose": {
+ "familyName": "Miss Fajardose",
+ "fullName": "Miss Fajardose Regular",
+ "postscriptName": "MissFajardose-Regular",
+ "category": "handwriting",
+ "capHeight": 658,
+ "ascent": 859,
+ "descent": -389,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 158,
+ "xWidthAvg": 217,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 217
+ },
+ "thai": {
+ "xWidthAvg": 130
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Miss Fajardose",
+ "fullName": "Miss Fajardose Regular",
+ "postscriptName": "MissFajardose-Regular",
+ "category": "handwriting",
+ "capHeight": 658,
+ "ascent": 859,
+ "descent": -389,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 158,
+ "xWidthAvg": 217,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 217
+ },
+ "thai": {
+ "xWidthAvg": 130
+ }
+ }
+ }
+ }
+ },
+ "mitr": {
+ "familyName": "Mitr",
+ "fullName": "Mitr Regular",
+ "postscriptName": "Mitr-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mitr",
+ "fullName": "Mitr ExtraLight",
+ "postscriptName": "Mitr-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mitr",
+ "fullName": "Mitr Light",
+ "postscriptName": "Mitr-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mitr",
+ "fullName": "Mitr Medium",
+ "postscriptName": "Mitr-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mitr",
+ "fullName": "Mitr SemiBold",
+ "postscriptName": "Mitr-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mitr",
+ "fullName": "Mitr Bold",
+ "postscriptName": "Mitr-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mitr",
+ "fullName": "Mitr Regular",
+ "postscriptName": "Mitr-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ }
+ }
+ },
+ "mochiyPopOne": {
+ "familyName": "Mochiy Pop One",
+ "fullName": "Mochiy Pop One Regular",
+ "postscriptName": "MochiyPopOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mochiy Pop One",
+ "fullName": "Mochiy Pop One Regular",
+ "postscriptName": "MochiyPopOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "mochiyPopPOne": {
+ "familyName": "Mochiy Pop P One",
+ "fullName": "Mochiy Pop P One Regular",
+ "postscriptName": "MochiyPopPOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mochiy Pop P One",
+ "fullName": "Mochiy Pop P One Regular",
+ "postscriptName": "MochiyPopPOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "modak": {
+ "familyName": "Modak",
+ "fullName": "Modak",
+ "postscriptName": "Modak",
+ "category": "display",
+ "capHeight": 1290,
+ "ascent": 2035,
+ "descent": -1049,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1099,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1278
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Modak",
+ "fullName": "Modak",
+ "postscriptName": "Modak",
+ "category": "display",
+ "capHeight": 1290,
+ "ascent": 2035,
+ "descent": -1049,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1099,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1278
+ }
+ }
+ }
+ }
+ },
+ "modernAntiqua": {
+ "familyName": "Modern Antiqua",
+ "fullName": "Modern Antiqua Regular",
+ "postscriptName": "ModernAntiqua-Regular",
+ "category": "display",
+ "capHeight": 1511,
+ "ascent": 1815,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1089,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Modern Antiqua",
+ "fullName": "Modern Antiqua Regular",
+ "postscriptName": "ModernAntiqua-Regular",
+ "category": "display",
+ "capHeight": 1511,
+ "ascent": 1815,
+ "descent": -508,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1089,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "moderustic": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic Regular",
+ "postscriptName": "Moderustic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic Light",
+ "postscriptName": "Moderustic-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "500": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic Medium",
+ "postscriptName": "Moderustic-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "600": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic SemiBold",
+ "postscriptName": "Moderustic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "700": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic Bold",
+ "postscriptName": "Moderustic-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "800": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic ExtraBold",
+ "postscriptName": "Moderustic-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Moderustic",
+ "fullName": "Moderustic Regular",
+ "postscriptName": "Moderustic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ }
+ }
+ },
+ "mogra": {
+ "familyName": "Mogra",
+ "fullName": "Mogra Regular",
+ "postscriptName": "Mogra-Regular",
+ "category": "display",
+ "capHeight": 705,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mogra",
+ "fullName": "Mogra Regular",
+ "postscriptName": "Mogra-Regular",
+ "category": "display",
+ "capHeight": 705,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ }
+ }
+ },
+ "mohave": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Regular",
+ "postscriptName": "Mohave-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1017
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Light",
+ "postscriptName": "Mohave-Light",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 753,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 753
+ },
+ "thai": {
+ "xWidthAvg": 1036
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Medium",
+ "postscriptName": "Mohave-Medium",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 998
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mohave",
+ "fullName": "Mohave SemiBold",
+ "postscriptName": "Mohave-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 760,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 760
+ },
+ "thai": {
+ "xWidthAvg": 979
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Bold",
+ "postscriptName": "Mohave-Bold",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 762,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 762
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Regular",
+ "postscriptName": "Mohave-Regular",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1017
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Italic",
+ "postscriptName": "Mohave-Italic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 1018
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Bold Italic",
+ "postscriptName": "Mohave-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 766,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 766
+ },
+ "thai": {
+ "xWidthAvg": 962
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Mohave",
+ "fullName": "Mohave SemiBold Italic",
+ "postscriptName": "Mohave-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 763,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 763
+ },
+ "thai": {
+ "xWidthAvg": 981
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Medium Italic",
+ "postscriptName": "Mohave-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 760,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 760
+ },
+ "thai": {
+ "xWidthAvg": 999
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Mohave",
+ "fullName": "Mohave Light Italic",
+ "postscriptName": "Mohave-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1500,
+ "ascent": 1980,
+ "descent": -806,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1036
+ }
+ }
+ }
+ }
+ },
+ "moiraiOne": {
+ "familyName": "Moirai One",
+ "fullName": "Moirai One Regular",
+ "postscriptName": "MoiraiOne-Regular",
+ "category": "display",
+ "capHeight": 778,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Moirai One",
+ "fullName": "Moirai One Regular",
+ "postscriptName": "MoiraiOne-Regular",
+ "category": "display",
+ "capHeight": 778,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "molengo": {
+ "familyName": "Molengo",
+ "fullName": "Molengo",
+ "postscriptName": "Molengo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1391,
+ "ascent": 1928,
+ "descent": -522,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 938,
+ "xWidthAvg": 861,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 861
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Molengo",
+ "fullName": "Molengo",
+ "postscriptName": "Molengo-Regular",
+ "category": "sans-serif",
+ "capHeight": 1391,
+ "ascent": 1928,
+ "descent": -522,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 938,
+ "xWidthAvg": 861,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 861
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ }
+ }
+ },
+ "molle": {
+ "familyName": "Molle",
+ "fullName": "Molle",
+ "postscriptName": "Molle-Regular",
+ "category": "handwriting",
+ "capHeight": 1588,
+ "ascent": 1852,
+ "descent": -701,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 910,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "italic": {
+ "familyName": "Molle",
+ "fullName": "Molle",
+ "postscriptName": "Molle-Regular",
+ "category": "handwriting",
+ "capHeight": 1588,
+ "ascent": 1852,
+ "descent": -701,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 910,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "monaSans": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Regular",
+ "postscriptName": "MonaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans ExtraLight",
+ "postscriptName": "MonaSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Light",
+ "postscriptName": "MonaSans-Light",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 521,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Medium",
+ "postscriptName": "MonaSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans SemiBold",
+ "postscriptName": "MonaSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Bold",
+ "postscriptName": "MonaSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans ExtraBold",
+ "postscriptName": "MonaSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "900": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Black",
+ "postscriptName": "MonaSans-Black",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Regular",
+ "postscriptName": "MonaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 866
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Italic",
+ "postscriptName": "MonaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 885
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Black Italic",
+ "postscriptName": "MonaSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans ExtraBold Italic",
+ "postscriptName": "MonaSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Bold Italic",
+ "postscriptName": "MonaSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans SemiBold Italic",
+ "postscriptName": "MonaSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Medium Italic",
+ "postscriptName": "MonaSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 529,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 885
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans Light Italic",
+ "postscriptName": "MonaSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 521,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 885
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Mona Sans",
+ "fullName": "Mona Sans ExtraLight Italic",
+ "postscriptName": "MonaSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1090,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 885
+ }
+ }
+ }
+ }
+ },
+ "monda": {
+ "familyName": "Monda",
+ "fullName": "Monda Regular",
+ "postscriptName": "Monda-Regular",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 2461,
+ "descent": -875,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 979,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 979
+ },
+ "thai": {
+ "xWidthAvg": 724
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Monda",
+ "fullName": "Monda Medium",
+ "postscriptName": "Monda-Medium",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 2461,
+ "descent": -875,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1065,
+ "xWidthAvg": 983,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 983
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ }
+ },
+ "600": {
+ "familyName": "Monda",
+ "fullName": "Monda SemiBold",
+ "postscriptName": "Monda-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 2461,
+ "descent": -875,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1069,
+ "xWidthAvg": 986,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 986
+ },
+ "thai": {
+ "xWidthAvg": 740
+ }
+ }
+ },
+ "700": {
+ "familyName": "Monda",
+ "fullName": "Monda Bold",
+ "postscriptName": "Monda-Bold",
+ "category": "sans-serif",
+ "capHeight": 1476,
+ "ascent": 2461,
+ "descent": -875,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1074,
+ "xWidthAvg": 989,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 989
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Monda",
+ "fullName": "Monda Regular",
+ "postscriptName": "Monda-Regular",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 2461,
+ "descent": -875,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 979,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 979
+ },
+ "thai": {
+ "xWidthAvg": 724
+ }
+ }
+ }
+ }
+ },
+ "monofett": {
+ "familyName": "Monofett",
+ "fullName": "Monofett Regular",
+ "postscriptName": "Monofett-Regular",
+ "category": "monospace",
+ "capHeight": 1370,
+ "ascent": 2001,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1370,
+ "xWidthAvg": 1038,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1038
+ },
+ "thai": {
+ "xWidthAvg": 1184
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Monofett",
+ "fullName": "Monofett Regular",
+ "postscriptName": "Monofett-Regular",
+ "category": "monospace",
+ "capHeight": 1370,
+ "ascent": 2001,
+ "descent": -315,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1370,
+ "xWidthAvg": 1038,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1038
+ },
+ "thai": {
+ "xWidthAvg": 1184
+ }
+ }
+ }
+ }
+ },
+ "monomaniacOne": {
+ "familyName": "Monomaniac One",
+ "fullName": "Monomaniac One Regular",
+ "postscriptName": "MonomaniacOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 676,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 758
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Monomaniac One",
+ "fullName": "Monomaniac One Regular",
+ "postscriptName": "MonomaniacOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 676,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 758
+ }
+ }
+ }
+ }
+ },
+ "monoton": {
+ "familyName": "Monoton",
+ "fullName": "Monoton",
+ "postscriptName": "Monoton-Regular",
+ "category": "display",
+ "capHeight": 1656,
+ "ascent": 2366,
+ "descent": -822,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1440,
+ "xWidthAvg": 1273,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1273
+ },
+ "thai": {
+ "xWidthAvg": 222
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Monoton",
+ "fullName": "Monoton",
+ "postscriptName": "Monoton-Regular",
+ "category": "display",
+ "capHeight": 1656,
+ "ascent": 2366,
+ "descent": -822,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1440,
+ "xWidthAvg": 1273,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1273
+ },
+ "thai": {
+ "xWidthAvg": 222
+ }
+ }
+ }
+ }
+ },
+ "monsieurLaDoulaise": {
+ "familyName": "Monsieur La Doulaise",
+ "fullName": "Monsieur La Doulaise Regular",
+ "postscriptName": "MonsieurLaDoulaise-Regular",
+ "category": "handwriting",
+ "capHeight": 729,
+ "ascent": 1048,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 164,
+ "xWidthAvg": 307,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 307
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Monsieur La Doulaise",
+ "fullName": "Monsieur La Doulaise Regular",
+ "postscriptName": "MonsieurLaDoulaise-Regular",
+ "category": "handwriting",
+ "capHeight": 729,
+ "ascent": 1048,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 164,
+ "xWidthAvg": 307,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 307
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ }
+ }
+ },
+ "montaga": {
+ "familyName": "Montaga",
+ "fullName": "Montaga",
+ "postscriptName": "Montaga-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 978,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 248
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Montaga",
+ "fullName": "Montaga",
+ "postscriptName": "Montaga-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 978,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 466,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 248
+ }
+ }
+ }
+ }
+ },
+ "montaguSlab": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Regular",
+ "postscriptName": "MontaguSlab144pt-Regular",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Thin",
+ "postscriptName": "MontaguSlab144pt-Thin",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt ExtraLight",
+ "postscriptName": "MontaguSlab144pt-ExtraLight",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Light",
+ "postscriptName": "MontaguSlab144pt-Light",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Medium",
+ "postscriptName": "MontaguSlab144pt-Medium",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt SemiBold",
+ "postscriptName": "MontaguSlab144pt-SemiBold",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Bold",
+ "postscriptName": "MontaguSlab144pt-Bold",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Montagu Slab",
+ "fullName": "Montagu Slab 144pt Regular",
+ "postscriptName": "MontaguSlab144pt-Regular",
+ "category": "serif",
+ "capHeight": 682,
+ "ascent": 982,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "monteCarlo": {
+ "familyName": "MonteCarlo",
+ "fullName": "MonteCarlo Regular",
+ "postscriptName": "MonteCarlo-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1200,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 297,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 297
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "MonteCarlo",
+ "fullName": "MonteCarlo Regular",
+ "postscriptName": "MonteCarlo-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1200,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 297,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 297
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ }
+ }
+ }
+ },
+ "montez": {
+ "familyName": "Montez",
+ "fullName": "Montez Regular",
+ "postscriptName": "Montez-Regular",
+ "category": "handwriting",
+ "capHeight": 1456,
+ "ascent": 1831,
+ "descent": -848,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 766,
+ "xWidthAvg": 668,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 668
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Montez",
+ "fullName": "Montez Regular",
+ "postscriptName": "Montez-Regular",
+ "category": "handwriting",
+ "capHeight": 1456,
+ "ascent": 1831,
+ "descent": -848,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 766,
+ "xWidthAvg": 668,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 668
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ }
+ }
+ },
+ "montserrat": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Regular",
+ "postscriptName": "Montserrat-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Thin",
+ "postscriptName": "Montserrat-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "200": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat ExtraLight",
+ "postscriptName": "Montserrat-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Light",
+ "postscriptName": "Montserrat-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "500": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Medium",
+ "postscriptName": "Montserrat-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat SemiBold",
+ "postscriptName": "Montserrat-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Bold",
+ "postscriptName": "Montserrat-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "800": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat ExtraBold",
+ "postscriptName": "Montserrat-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "900": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Black",
+ "postscriptName": "Montserrat-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 551,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 551
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Regular",
+ "postscriptName": "Montserrat-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Italic",
+ "postscriptName": "Montserrat-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Black Italic",
+ "postscriptName": "Montserrat-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat ExtraBold Italic",
+ "postscriptName": "Montserrat-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 544,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 544
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Bold Italic",
+ "postscriptName": "Montserrat-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat SemiBold Italic",
+ "postscriptName": "Montserrat-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Medium Italic",
+ "postscriptName": "Montserrat-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Light Italic",
+ "postscriptName": "Montserrat-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat ExtraLight Italic",
+ "postscriptName": "Montserrat-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Montserrat",
+ "fullName": "Montserrat Thin Italic",
+ "postscriptName": "Montserrat-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ }
+ }
+ },
+ "montserratAlternates": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Regular",
+ "postscriptName": "MontserratAlternates-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Thin",
+ "postscriptName": "MontserratAlternates-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "200": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates ExtraLight",
+ "postscriptName": "MontserratAlternates-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Light",
+ "postscriptName": "MontserratAlternates-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "500": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Medium",
+ "postscriptName": "MontserratAlternates-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates SemiBold",
+ "postscriptName": "MontserratAlternates-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Bold",
+ "postscriptName": "MontserratAlternates-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "800": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates ExtraBold",
+ "postscriptName": "MontserratAlternates-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "900": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Black",
+ "postscriptName": "MontserratAlternates-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 557,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 557
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Regular",
+ "postscriptName": "MontserratAlternates-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Italic",
+ "postscriptName": "MontserratAlternates-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Black Italic",
+ "postscriptName": "MontserratAlternates-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates ExtraBold Italic",
+ "postscriptName": "MontserratAlternates-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 552,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 552
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Bold Italic",
+ "postscriptName": "MontserratAlternates-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 542,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 542
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates SemiBold Italic",
+ "postscriptName": "MontserratAlternates-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Medium Italic",
+ "postscriptName": "MontserratAlternates-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Light Italic",
+ "postscriptName": "MontserratAlternates-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates ExtraLight Italic",
+ "postscriptName": "MontserratAlternates-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Montserrat Alternates",
+ "fullName": "Montserrat Alternates Thin Italic",
+ "postscriptName": "MontserratAlternates-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ }
+ }
+ },
+ "montserratSubrayada": {
+ "familyName": "Montserrat Subrayada",
+ "fullName": "MontserratSubrayada-Regular",
+ "postscriptName": "MontserratSubrayada-Regular",
+ "category": "sans-serif",
+ "capHeight": 699,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 699,
+ "xWidthAvg": 615,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 615
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Montserrat Subrayada",
+ "fullName": "MontserratSubrayada-Bold",
+ "postscriptName": "MontserratSubrayada-Bold",
+ "category": "sans-serif",
+ "capHeight": 699,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 699,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 264
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Montserrat Subrayada",
+ "fullName": "MontserratSubrayada-Regular",
+ "postscriptName": "MontserratSubrayada-Regular",
+ "category": "sans-serif",
+ "capHeight": 699,
+ "ascent": 968,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 699,
+ "xWidthAvg": 615,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 615
+ },
+ "thai": {
+ "xWidthAvg": 274
+ }
+ }
+ }
+ }
+ },
+ "mooLahLah": {
+ "familyName": "Moo Lah Lah",
+ "fullName": "Moo Lah Lah Regular",
+ "postscriptName": "MooLahLah-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 920,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Moo Lah Lah",
+ "fullName": "Moo Lah Lah Regular",
+ "postscriptName": "MooLahLah-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 920,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mooli": {
+ "familyName": "Mooli",
+ "fullName": "Mooli Regular",
+ "postscriptName": "Mooli-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1928,
+ "descent": -472,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1026,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1431
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mooli",
+ "fullName": "Mooli Regular",
+ "postscriptName": "Mooli-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1928,
+ "descent": -472,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1026,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1431
+ }
+ }
+ }
+ }
+ },
+ "moonDance": {
+ "familyName": "Moon Dance",
+ "fullName": "Moon Dance Regular",
+ "postscriptName": "MoonDance-Regular",
+ "category": "handwriting",
+ "capHeight": 605,
+ "ascent": 970,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 306,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 306
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Moon Dance",
+ "fullName": "Moon Dance Regular",
+ "postscriptName": "MoonDance-Regular",
+ "category": "handwriting",
+ "capHeight": 605,
+ "ascent": 970,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 306,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 306
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "moul": {
+ "familyName": "Moul",
+ "fullName": "Moul Regular",
+ "postscriptName": "Moul-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1180,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1180
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Moul",
+ "fullName": "Moul Regular",
+ "postscriptName": "Moul-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1180,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1180
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "moulpali": {
+ "familyName": "Moulpali",
+ "fullName": "Moulpali Regular",
+ "postscriptName": "Moulpali-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2900,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Moulpali",
+ "fullName": "Moulpali Regular",
+ "postscriptName": "Moulpali-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2900,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "mountainsOfChristmas": {
+ "familyName": "Mountains of Christmas",
+ "fullName": "Mountains of Christmas Regular",
+ "postscriptName": "MountainsofChristmas-Regular",
+ "category": "display",
+ "capHeight": 743,
+ "ascent": 1066,
+ "descent": -354,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 515,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Mountains of Christmas",
+ "fullName": "Mountains of Christmas Bold",
+ "postscriptName": "MountainsofChristmas-Bold",
+ "category": "display",
+ "capHeight": 744,
+ "ascent": 1066,
+ "descent": -354,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 559,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mountains of Christmas",
+ "fullName": "Mountains of Christmas Regular",
+ "postscriptName": "MountainsofChristmas-Regular",
+ "category": "display",
+ "capHeight": 743,
+ "ascent": 1066,
+ "descent": -354,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 515,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ }
+ }
+ }
+ },
+ "mouseMemoirs": {
+ "familyName": "Mouse Memoirs",
+ "fullName": "Mouse Memoirs",
+ "postscriptName": "MouseMemoirs-Regular",
+ "category": "sans-serif",
+ "capHeight": 1448,
+ "ascent": 1917,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1044,
+ "xWidthAvg": 596,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 596
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mouse Memoirs",
+ "fullName": "Mouse Memoirs",
+ "postscriptName": "MouseMemoirs-Regular",
+ "category": "sans-serif",
+ "capHeight": 1448,
+ "ascent": 1917,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1044,
+ "xWidthAvg": 596,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 596
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ }
+ }
+ }
+ },
+ "mrBedfort": {
+ "familyName": "Mr Bedfort",
+ "fullName": "Mr Bedfort",
+ "postscriptName": "MrBedfort-Regular",
+ "category": "handwriting",
+ "capHeight": 770,
+ "ascent": 1015,
+ "descent": -661,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 245,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mr Bedfort",
+ "fullName": "Mr Bedfort",
+ "postscriptName": "MrBedfort-Regular",
+ "category": "handwriting",
+ "capHeight": 770,
+ "ascent": 1015,
+ "descent": -661,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 245,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "mrDafoe": {
+ "familyName": "Mr Dafoe",
+ "fullName": "Mr Dafoe Regular",
+ "postscriptName": "MrDafoe-Regular",
+ "category": "handwriting",
+ "capHeight": 622,
+ "ascent": 981,
+ "descent": -416,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 313,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mr Dafoe",
+ "fullName": "Mr Dafoe Regular",
+ "postscriptName": "MrDafoe-Regular",
+ "category": "handwriting",
+ "capHeight": 622,
+ "ascent": 981,
+ "descent": -416,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 313,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "mrDeHaviland": {
+ "familyName": "Mr De Haviland",
+ "fullName": "Mr De Haviland Regular",
+ "postscriptName": "MrDeHaviland-Regular",
+ "category": "handwriting",
+ "capHeight": 557,
+ "ascent": 875,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 217,
+ "xWidthAvg": 254,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 254
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mr De Haviland",
+ "fullName": "Mr De Haviland Regular",
+ "postscriptName": "MrDeHaviland-Regular",
+ "category": "handwriting",
+ "capHeight": 557,
+ "ascent": 875,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 217,
+ "xWidthAvg": 254,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 254
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ }
+ }
+ }
+ },
+ "mrsSaintDelafield": {
+ "familyName": "Mrs Saint Delafield",
+ "fullName": "Mrs Saint Delafield",
+ "postscriptName": "MrsSaintDelafield-Regular",
+ "category": "handwriting",
+ "capHeight": 708,
+ "ascent": 906,
+ "descent": -619,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 224,
+ "xWidthAvg": 275,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 275
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mrs Saint Delafield",
+ "fullName": "Mrs Saint Delafield",
+ "postscriptName": "MrsSaintDelafield-Regular",
+ "category": "handwriting",
+ "capHeight": 708,
+ "ascent": 906,
+ "descent": -619,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 224,
+ "xWidthAvg": 275,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 275
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "mrsSheppards": {
+ "familyName": "Mrs Sheppards",
+ "fullName": "Mrs Sheppards Regular",
+ "postscriptName": "MrsSheppards-Regular",
+ "category": "handwriting",
+ "capHeight": 662,
+ "ascent": 959,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 285,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mrs Sheppards",
+ "fullName": "Mrs Sheppards Regular",
+ "postscriptName": "MrsSheppards-Regular",
+ "category": "handwriting",
+ "capHeight": 662,
+ "ascent": 959,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 285,
+ "xWidthAvg": 356,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 356
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "msMadi": {
+ "familyName": "Ms Madi",
+ "fullName": "Ms Madi Regular",
+ "postscriptName": "MsMadi-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 900,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 335,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 474
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ms Madi",
+ "fullName": "Ms Madi Regular",
+ "postscriptName": "MsMadi-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 900,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 335,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 474
+ }
+ }
+ }
+ }
+ },
+ "mukta": {
+ "familyName": "Mukta",
+ "fullName": "Mukta Regular",
+ "postscriptName": "Mukta-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mukta",
+ "fullName": "Mukta ExtraLight",
+ "postscriptName": "Mukta-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mukta",
+ "fullName": "Mukta Light",
+ "postscriptName": "Mukta-Light",
+ "category": "sans-serif",
+ "capHeight": 629,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mukta",
+ "fullName": "Mukta Medium",
+ "postscriptName": "Mukta-Medium",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mukta",
+ "fullName": "Mukta SemiBold",
+ "postscriptName": "Mukta-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mukta",
+ "fullName": "Mukta Bold",
+ "postscriptName": "Mukta-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mukta",
+ "fullName": "Mukta ExtraBold",
+ "postscriptName": "Mukta-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 631,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mukta",
+ "fullName": "Mukta Regular",
+ "postscriptName": "Mukta-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "muktaMahee": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee Regular",
+ "postscriptName": "MuktaMahee-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee ExtraLight",
+ "postscriptName": "MuktaMahee-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee Light",
+ "postscriptName": "MuktaMahee-Light",
+ "category": "sans-serif",
+ "capHeight": 629,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee Medium",
+ "postscriptName": "MuktaMahee-Medium",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee SemiBold",
+ "postscriptName": "MuktaMahee-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee Bold",
+ "postscriptName": "MuktaMahee-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee ExtraBold",
+ "postscriptName": "MuktaMahee-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 631,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mukta Mahee",
+ "fullName": "Mukta Mahee Regular",
+ "postscriptName": "MuktaMahee-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "muktaMalar": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar Regular",
+ "postscriptName": "MuktaMalar-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar ExtraLight",
+ "postscriptName": "MuktaMalar-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar Light",
+ "postscriptName": "MuktaMalar-Light",
+ "category": "sans-serif",
+ "capHeight": 629,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar Medium",
+ "postscriptName": "MuktaMalar-Medium",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar SemiBold",
+ "postscriptName": "MuktaMalar-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar Bold",
+ "postscriptName": "MuktaMalar-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar ExtraBold",
+ "postscriptName": "MuktaMalar-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 631,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mukta Malar",
+ "fullName": "Mukta Malar Regular",
+ "postscriptName": "MuktaMalar-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "muktaVaani": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani Regular",
+ "postscriptName": "MuktaVaani-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani ExtraLight",
+ "postscriptName": "MuktaVaani-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani Light",
+ "postscriptName": "MuktaVaani-Light",
+ "category": "sans-serif",
+ "capHeight": 629,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani Medium",
+ "postscriptName": "MuktaVaani-Medium",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 506
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani SemiBold",
+ "postscriptName": "MuktaVaani-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani Bold",
+ "postscriptName": "MuktaVaani-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani ExtraBold",
+ "postscriptName": "MuktaVaani-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 631,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mukta Vaani",
+ "fullName": "Mukta Vaani Regular",
+ "postscriptName": "MuktaVaani-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1130,
+ "descent": -532,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mulish": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Regular",
+ "postscriptName": "Mulish-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Mulish",
+ "fullName": "Mulish ExtraLight",
+ "postscriptName": "Mulish-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Light",
+ "postscriptName": "Mulish-Light",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Medium",
+ "postscriptName": "Mulish-Medium",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Mulish",
+ "fullName": "Mulish SemiBold",
+ "postscriptName": "Mulish-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Bold",
+ "postscriptName": "Mulish-Bold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Mulish",
+ "fullName": "Mulish ExtraBold",
+ "postscriptName": "Mulish-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Black",
+ "postscriptName": "Mulish-Black",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Regular",
+ "postscriptName": "Mulish-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Italic",
+ "postscriptName": "Mulish-Italic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Black Italic",
+ "postscriptName": "Mulish-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish ExtraBold Italic",
+ "postscriptName": "Mulish-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Bold Italic",
+ "postscriptName": "Mulish-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish SemiBold Italic",
+ "postscriptName": "Mulish-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Medium Italic",
+ "postscriptName": "Mulish-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish Light Italic",
+ "postscriptName": "Mulish-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Mulish",
+ "fullName": "Mulish ExtraLight Italic",
+ "postscriptName": "Mulish-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1005,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "murecho": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Regular",
+ "postscriptName": "Murecho-Regular",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 344
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Thin",
+ "postscriptName": "Murecho-Thin",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ }
+ },
+ "200": {
+ "familyName": "Murecho",
+ "fullName": "Murecho ExtraLight",
+ "postscriptName": "Murecho-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 341
+ }
+ }
+ },
+ "300": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Light",
+ "postscriptName": "Murecho-Light",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 343
+ }
+ }
+ },
+ "500": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Medium",
+ "postscriptName": "Murecho-Medium",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 346
+ }
+ }
+ },
+ "600": {
+ "familyName": "Murecho",
+ "fullName": "Murecho SemiBold",
+ "postscriptName": "Murecho-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 347
+ }
+ }
+ },
+ "700": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Bold",
+ "postscriptName": "Murecho-Bold",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 348
+ }
+ }
+ },
+ "800": {
+ "familyName": "Murecho",
+ "fullName": "Murecho ExtraBold",
+ "postscriptName": "Murecho-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ },
+ "900": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Black",
+ "postscriptName": "Murecho-Black",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 350
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Murecho",
+ "fullName": "Murecho Regular",
+ "postscriptName": "Murecho-Regular",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 344
+ }
+ }
+ }
+ }
+ },
+ "museoModerno": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Regular",
+ "postscriptName": "MuseoModerno-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Thin",
+ "postscriptName": "MuseoModerno-Thin",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno ExtraLight",
+ "postscriptName": "MuseoModerno-ExtraLight",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Light",
+ "postscriptName": "MuseoModerno-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Medium",
+ "postscriptName": "MuseoModerno-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno SemiBold",
+ "postscriptName": "MuseoModerno-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Bold",
+ "postscriptName": "MuseoModerno-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno ExtraBold",
+ "postscriptName": "MuseoModerno-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Black",
+ "postscriptName": "MuseoModerno-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Regular",
+ "postscriptName": "MuseoModerno-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Italic",
+ "postscriptName": "MuseoModerno-Italic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Black Italic",
+ "postscriptName": "MuseoModerno-BlackItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno ExtraBold Italic",
+ "postscriptName": "MuseoModerno-ExtraBoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Bold Italic",
+ "postscriptName": "MuseoModerno-BoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno SemiBold Italic",
+ "postscriptName": "MuseoModerno-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Medium Italic",
+ "postscriptName": "MuseoModerno-MediumItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Light Italic",
+ "postscriptName": "MuseoModerno-LightItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno ExtraLight Italic",
+ "postscriptName": "MuseoModerno-ExtraLightItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "MuseoModerno",
+ "fullName": "MuseoModerno Thin Italic",
+ "postscriptName": "MuseoModerno-ThinItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1145,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "mySoul": {
+ "familyName": "My Soul",
+ "fullName": "My Soul Regular",
+ "postscriptName": "MySoul-Regular",
+ "category": "handwriting",
+ "capHeight": 760,
+ "ascent": 975,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "My Soul",
+ "fullName": "My Soul Regular",
+ "postscriptName": "MySoul-Regular",
+ "category": "handwriting",
+ "capHeight": 760,
+ "ascent": 975,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ }
+ }
+ },
+ "mynerve": {
+ "familyName": "Mynerve",
+ "fullName": "Mynerve Regular",
+ "postscriptName": "Mynerve-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 930,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 559
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mynerve",
+ "fullName": "Mynerve Regular",
+ "postscriptName": "Mynerve-Regular",
+ "category": "handwriting",
+ "capHeight": 670,
+ "ascent": 930,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 559
+ }
+ }
+ }
+ }
+ },
+ "mysteryQuest": {
+ "familyName": "Mystery Quest",
+ "fullName": "Mystery Quest",
+ "postscriptName": "MysteryQuest",
+ "category": "display",
+ "capHeight": 769,
+ "ascent": 989,
+ "descent": -409,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 626,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Mystery Quest",
+ "fullName": "Mystery Quest",
+ "postscriptName": "MysteryQuest",
+ "category": "display",
+ "capHeight": 769,
+ "ascent": 989,
+ "descent": -409,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 626,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ }
+ }
+ }
+ },
+ "nTR": {
+ "familyName": "NTR",
+ "fullName": "NTR",
+ "postscriptName": "NTR",
+ "category": "sans-serif",
+ "capHeight": 572,
+ "ascent": 1294,
+ "descent": -877,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 422,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "NTR",
+ "fullName": "NTR",
+ "postscriptName": "NTR",
+ "category": "sans-serif",
+ "capHeight": 572,
+ "ascent": 1294,
+ "descent": -877,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 422,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ }
+ }
+ }
+ },
+ "nabla": {
+ "familyName": "Nabla",
+ "fullName": "Nabla Regular",
+ "postscriptName": "Nabla-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 1263,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nabla",
+ "fullName": "Nabla Regular",
+ "postscriptName": "Nabla-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 1263,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ }
+ }
+ }
+ },
+ "namdhinggo": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo",
+ "postscriptName": "Namdhinggo-Regular",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 851,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 851
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo Medium",
+ "postscriptName": "Namdhinggo-Medium",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "600": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo SemiBold",
+ "postscriptName": "Namdhinggo-SemiBold",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "700": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo Bold",
+ "postscriptName": "Namdhinggo-Bold",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 894,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 894
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "800": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo ExtraBold",
+ "postscriptName": "Namdhinggo-ExtraBold",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 901,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 901
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Namdhinggo",
+ "fullName": "Namdhinggo",
+ "postscriptName": "Namdhinggo-Regular",
+ "category": "serif",
+ "capHeight": 1150,
+ "ascent": 1600,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 500,
+ "xWidthAvg": 851,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 851
+ },
+ "thai": {
+ "xWidthAvg": 960
+ }
+ }
+ }
+ }
+ },
+ "nanumBrushScript": {
+ "familyName": "Nanum Brush Script",
+ "fullName": "Nanum Brush Script",
+ "postscriptName": "NanumBrush",
+ "category": "handwriting",
+ "capHeight": 460,
+ "ascent": 630,
+ "descent": -370,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nanum Brush Script",
+ "fullName": "Nanum Brush Script",
+ "postscriptName": "NanumBrush",
+ "category": "handwriting",
+ "capHeight": 460,
+ "ascent": 630,
+ "descent": -370,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ }
+ }
+ }
+ },
+ "nanumGothic": {
+ "familyName": "Nanum Gothic",
+ "fullName": "NanumGothic",
+ "postscriptName": "NanumGothic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Nanum Gothic",
+ "fullName": "NanumGothicBold",
+ "postscriptName": "NanumGothicBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ }
+ },
+ "800": {
+ "familyName": "Nanum Gothic",
+ "fullName": "NanumGothicExtraBold",
+ "postscriptName": "NanumGothicExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nanum Gothic",
+ "fullName": "NanumGothic",
+ "postscriptName": "NanumGothic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ }
+ }
+ }
+ },
+ "nanumGothicCoding": {
+ "familyName": "Nanum Gothic Coding",
+ "fullName": "NanumGothicCoding",
+ "postscriptName": "NanumGothicCoding",
+ "category": "handwriting",
+ "capHeight": 699,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Nanum Gothic Coding",
+ "fullName": "NanumGothicCoding-Bold",
+ "postscriptName": "NanumGothicCoding-Bold",
+ "category": "handwriting",
+ "capHeight": 704,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nanum Gothic Coding",
+ "fullName": "NanumGothicCoding",
+ "postscriptName": "NanumGothicCoding",
+ "category": "handwriting",
+ "capHeight": 699,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "nanumMyeongjo": {
+ "familyName": "Nanum Myeongjo",
+ "fullName": "NanumMyeongjo",
+ "postscriptName": "NanumMyeongjo",
+ "category": "serif",
+ "capHeight": 755,
+ "ascent": 942,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 480,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Nanum Myeongjo",
+ "fullName": "NanumMyeongjoBold",
+ "postscriptName": "NanumMyeongjoBold",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 942,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 486,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800": {
+ "familyName": "Nanum Myeongjo",
+ "fullName": "NanumMyeongjoExtraBold",
+ "postscriptName": "NanumMyeongjoExtraBold",
+ "category": "serif",
+ "capHeight": 758,
+ "ascent": 942,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 486,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nanum Myeongjo",
+ "fullName": "NanumMyeongjo",
+ "postscriptName": "NanumMyeongjo",
+ "category": "serif",
+ "capHeight": 755,
+ "ascent": 942,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 480,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "nanumPenScript": {
+ "familyName": "Nanum Pen Script",
+ "fullName": "Nanum Pen",
+ "postscriptName": "NanumPen",
+ "category": "handwriting",
+ "capHeight": 674,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nanum Pen Script",
+ "fullName": "Nanum Pen",
+ "postscriptName": "NanumPen",
+ "category": "handwriting",
+ "capHeight": 674,
+ "ascent": 920,
+ "descent": -230,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 940
+ }
+ }
+ }
+ }
+ },
+ "narnoor": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor",
+ "postscriptName": "Narnoor-Regular",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor Medium",
+ "postscriptName": "Narnoor-Medium",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "600": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor SemiBold",
+ "postscriptName": "Narnoor-SemiBold",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "700": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor Bold",
+ "postscriptName": "Narnoor-Bold",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "800": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor ExtraBold",
+ "postscriptName": "Narnoor-ExtraBold",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Narnoor",
+ "fullName": "Narnoor",
+ "postscriptName": "Narnoor-Regular",
+ "category": "serif",
+ "capHeight": 735,
+ "ascent": 1314,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ }
+ }
+ },
+ "neonderthaw": {
+ "familyName": "Neonderthaw",
+ "fullName": "Neonderthaw Regular",
+ "postscriptName": "Neonderthaw-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Neonderthaw",
+ "fullName": "Neonderthaw Regular",
+ "postscriptName": "Neonderthaw-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1050,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ }
+ }
+ },
+ "nerkoOne": {
+ "familyName": "Nerko One",
+ "fullName": "Nerko One Regular",
+ "postscriptName": "NerkoOne-Regular",
+ "category": "handwriting",
+ "capHeight": 586,
+ "ascent": 894,
+ "descent": -317,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 481
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nerko One",
+ "fullName": "Nerko One Regular",
+ "postscriptName": "NerkoOne-Regular",
+ "category": "handwriting",
+ "capHeight": 586,
+ "ascent": 894,
+ "descent": -317,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 426,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 481
+ }
+ }
+ }
+ }
+ },
+ "neucha": {
+ "familyName": "Neucha",
+ "fullName": "Neucha",
+ "postscriptName": "Neucha",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 787,
+ "descent": -292,
+ "lineGap": 49,
+ "unitsPerEm": 1024,
+ "xHeight": 523,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Neucha",
+ "fullName": "Neucha",
+ "postscriptName": "Neucha",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 787,
+ "descent": -292,
+ "lineGap": 49,
+ "unitsPerEm": 1024,
+ "xHeight": 523,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "neuton": {
+ "familyName": "Neuton",
+ "fullName": "Neuton Regular",
+ "postscriptName": "Neuton-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Neuton",
+ "fullName": "Neuton ExtraLight",
+ "postscriptName": "Neuton-ExtraLight",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Neuton",
+ "fullName": "Neuton Light",
+ "postscriptName": "Neuton-Light",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 754,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 754
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Neuton",
+ "fullName": "Neuton Bold",
+ "postscriptName": "Neuton-Bold",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 866,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 866
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800": {
+ "familyName": "Neuton",
+ "fullName": "Neuton ExtraBold",
+ "postscriptName": "Neuton-ExtraBold",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 827,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 827
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Neuton",
+ "fullName": "Neuton Regular",
+ "postscriptName": "Neuton-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 757,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 757
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Neuton",
+ "fullName": "Neuton Italic",
+ "postscriptName": "Neuton-Italic",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 2106,
+ "descent": -485,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 703,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 703
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "newAmsterdam": {
+ "familyName": "New Amsterdam",
+ "fullName": "New Amsterdam Regular",
+ "postscriptName": "NewAmsterdam-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 649,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "New Amsterdam",
+ "fullName": "New Amsterdam Regular",
+ "postscriptName": "NewAmsterdam-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 649,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ }
+ }
+ },
+ "newRocker": {
+ "familyName": "New Rocker",
+ "fullName": "New Rocker",
+ "postscriptName": "NewRocker-Regular",
+ "category": "display",
+ "capHeight": 733,
+ "ascent": 946,
+ "descent": -283,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 752
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "New Rocker",
+ "fullName": "New Rocker",
+ "postscriptName": "NewRocker-Regular",
+ "category": "display",
+ "capHeight": 733,
+ "ascent": 946,
+ "descent": -283,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 752
+ }
+ }
+ }
+ }
+ },
+ "newTegomin": {
+ "familyName": "New Tegomin",
+ "fullName": "New Tegomin Regular",
+ "postscriptName": "NewTegomin-Regular",
+ "category": "serif",
+ "capHeight": 635,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "New Tegomin",
+ "fullName": "New Tegomin Regular",
+ "postscriptName": "NewTegomin-Regular",
+ "category": "serif",
+ "capHeight": 635,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "newsCycle": {
+ "familyName": "News Cycle",
+ "fullName": "News Cycle",
+ "postscriptName": "NewsCycle",
+ "category": "sans-serif",
+ "ascent": 2574,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 795,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 795
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "News Cycle",
+ "fullName": "News Cycle Bold",
+ "postscriptName": "NewsCycle-Bold",
+ "category": "sans-serif",
+ "ascent": 2574,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 807,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 807
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "News Cycle",
+ "fullName": "News Cycle",
+ "postscriptName": "NewsCycle",
+ "category": "sans-serif",
+ "ascent": 2574,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 795,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 795
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "newsreader": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Regular",
+ "postscriptName": "Newsreader16pt-Regular",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt ExtraLight",
+ "postscriptName": "Newsreader16pt-ExtraLight",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 821,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 821
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Light",
+ "postscriptName": "Newsreader16pt-Light",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 834,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 834
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Medium",
+ "postscriptName": "Newsreader16pt-Medium",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 877,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 877
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt SemiBold",
+ "postscriptName": "Newsreader16pt-SemiBold",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Bold",
+ "postscriptName": "Newsreader16pt-Bold",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt ExtraBold",
+ "postscriptName": "Newsreader16pt-ExtraBold",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Regular",
+ "postscriptName": "Newsreader16pt-Regular",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Italic",
+ "postscriptName": "Newsreader16pt-Italic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 804,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 804
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt ExtraBold Italic",
+ "postscriptName": "Newsreader16pt-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Bold Italic",
+ "postscriptName": "Newsreader16pt-BoldItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 909,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 909
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt SemiBold Italic",
+ "postscriptName": "Newsreader16pt-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Medium Italic",
+ "postscriptName": "Newsreader16pt-MediumItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 837,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 837
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt Light Italic",
+ "postscriptName": "Newsreader16pt-LightItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 777,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 777
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Newsreader",
+ "fullName": "Newsreader 16pt ExtraLight Italic",
+ "postscriptName": "Newsreader16pt-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 1340,
+ "ascent": 1470,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 852,
+ "xWidthAvg": 761,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 761
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "niconne": {
+ "familyName": "Niconne",
+ "fullName": "Niconne",
+ "postscriptName": "Niconne-Regular",
+ "category": "handwriting",
+ "capHeight": 1442,
+ "ascent": 1898,
+ "descent": -585,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 218,
+ "xWidthAvg": 699,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 699
+ },
+ "thai": {
+ "xWidthAvg": 457
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Niconne",
+ "fullName": "Niconne",
+ "postscriptName": "Niconne-Regular",
+ "category": "handwriting",
+ "capHeight": 1442,
+ "ascent": 1898,
+ "descent": -585,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 218,
+ "xWidthAvg": 699,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 699
+ },
+ "thai": {
+ "xWidthAvg": 457
+ }
+ }
+ }
+ }
+ },
+ "niramit": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Regular",
+ "postscriptName": "Niramit-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Niramit",
+ "fullName": "Niramit ExtraLight",
+ "postscriptName": "Niramit-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ },
+ "300": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Light",
+ "postscriptName": "Niramit-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "500": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Medium",
+ "postscriptName": "Niramit-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Niramit",
+ "fullName": "Niramit SemiBold",
+ "postscriptName": "Niramit-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Bold",
+ "postscriptName": "Niramit-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Regular",
+ "postscriptName": "Niramit-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Italic",
+ "postscriptName": "Niramit-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Bold Italic",
+ "postscriptName": "Niramit-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 604
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit SemiBold Italic",
+ "postscriptName": "Niramit-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Medium Italic",
+ "postscriptName": "Niramit-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit Light Italic",
+ "postscriptName": "Niramit-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Niramit",
+ "fullName": "Niramit ExtraLight Italic",
+ "postscriptName": "Niramit-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1105,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ }
+ }
+ },
+ "nixieOne": {
+ "familyName": "Nixie One",
+ "fullName": "Nixie One",
+ "postscriptName": "NixieOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 926,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nixie One",
+ "fullName": "Nixie One",
+ "postscriptName": "NixieOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 926,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "nobile": {
+ "familyName": "Nobile",
+ "fullName": "Nobile",
+ "postscriptName": "Nobile-Regular",
+ "category": "sans-serif",
+ "capHeight": 1579,
+ "ascent": 1731,
+ "descent": -578,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1169,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Nobile",
+ "fullName": "Nobile Medium",
+ "postscriptName": "Nobile-Medium",
+ "category": "sans-serif",
+ "capHeight": 1602,
+ "ascent": 1731,
+ "descent": -578,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1180,
+ "xWidthAvg": 1029,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1029
+ },
+ "thai": {
+ "xWidthAvg": 759
+ }
+ }
+ },
+ "700": {
+ "familyName": "Nobile",
+ "fullName": "Nobile Bold",
+ "postscriptName": "Nobile-Bold",
+ "category": "sans-serif",
+ "capHeight": 1629,
+ "ascent": 1731,
+ "descent": -578,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1194,
+ "xWidthAvg": 1081,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1081
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nobile",
+ "fullName": "Nobile",
+ "postscriptName": "Nobile-Regular",
+ "category": "sans-serif",
+ "capHeight": 1579,
+ "ascent": 1731,
+ "descent": -578,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1169,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Nobile",
+ "fullName": "Nobile Italic",
+ "postscriptName": "Nobile-Italic",
+ "category": "sans-serif",
+ "capHeight": 1572,
+ "ascent": 2301,
+ "descent": -530,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1146,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 747
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Nobile",
+ "fullName": "Nobile Bold Italic",
+ "postscriptName": "Nobile-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1603,
+ "ascent": 2301,
+ "descent": -530,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1126,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 761
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Nobile",
+ "fullName": "Nobile Medium Italic",
+ "postscriptName": "Nobile-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1582,
+ "ascent": 2301,
+ "descent": -530,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 1140,
+ "xWidthAvg": 911,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 911
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "nokora": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Regular",
+ "postscriptName": "Nokora-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Thin",
+ "postscriptName": "Nokora-Thin",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Light",
+ "postscriptName": "Nokora-Light",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Bold",
+ "postscriptName": "Nokora-Bold",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1032,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1032
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Black",
+ "postscriptName": "Nokora-Black",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1066,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1066
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nokora",
+ "fullName": "Nokora Regular",
+ "postscriptName": "Nokora-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 1907,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 970,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 970
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "norican": {
+ "familyName": "Norican",
+ "fullName": "Norican Regular",
+ "postscriptName": "Norican-Regular",
+ "category": "handwriting",
+ "capHeight": 1518,
+ "ascent": 2095,
+ "descent": -791,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 810,
+ "xWidthAvg": 734,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 734
+ },
+ "thai": {
+ "xWidthAvg": 1406
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Norican",
+ "fullName": "Norican Regular",
+ "postscriptName": "Norican-Regular",
+ "category": "handwriting",
+ "capHeight": 1518,
+ "ascent": 2095,
+ "descent": -791,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 810,
+ "xWidthAvg": 734,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 734
+ },
+ "thai": {
+ "xWidthAvg": 1406
+ }
+ }
+ }
+ }
+ },
+ "nosifer": {
+ "familyName": "Nosifer",
+ "fullName": "Nosifer",
+ "postscriptName": "Nosifer-Regular",
+ "category": "display",
+ "capHeight": 854,
+ "ascent": 2236,
+ "descent": -1328,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 925,
+ "xWidthAvg": 1586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1586
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nosifer",
+ "fullName": "Nosifer",
+ "postscriptName": "Nosifer-Regular",
+ "category": "display",
+ "capHeight": 854,
+ "ascent": 2236,
+ "descent": -1328,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 925,
+ "xWidthAvg": 1586,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1586
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "notable": {
+ "familyName": "Notable",
+ "fullName": "Notable Regular",
+ "postscriptName": "Notable-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1143,
+ "descent": -157,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 356,
+ "xWidthAvg": 750,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 750
+ },
+ "thai": {
+ "xWidthAvg": 463
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Notable",
+ "fullName": "Notable Regular",
+ "postscriptName": "Notable-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1143,
+ "descent": -157,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 356,
+ "xWidthAvg": 750,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 750
+ },
+ "thai": {
+ "xWidthAvg": 463
+ }
+ }
+ }
+ }
+ },
+ "nothingYouCouldDo": {
+ "familyName": "Nothing You Could Do",
+ "fullName": "Nothing You Could Do",
+ "postscriptName": "NothingYouCouldDo",
+ "category": "handwriting",
+ "capHeight": 758,
+ "ascent": 959,
+ "descent": -407,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 462,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nothing You Could Do",
+ "fullName": "Nothing You Could Do",
+ "postscriptName": "NothingYouCouldDo",
+ "category": "handwriting",
+ "capHeight": 758,
+ "ascent": 959,
+ "descent": -407,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 462,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 410
+ }
+ }
+ }
+ }
+ },
+ "noticiaText": {
+ "familyName": "Noticia Text",
+ "fullName": "Noticia Text",
+ "postscriptName": "NoticiaText-Regular",
+ "category": "serif",
+ "capHeight": 1353,
+ "ascent": 2202,
+ "descent": -593,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 1601
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Noticia Text",
+ "fullName": "Noticia Text Bold",
+ "postscriptName": "NoticiaText-Bold",
+ "category": "serif",
+ "capHeight": 1353,
+ "ascent": 2202,
+ "descent": -593,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1501
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noticia Text",
+ "fullName": "Noticia Text",
+ "postscriptName": "NoticiaText-Regular",
+ "category": "serif",
+ "capHeight": 1353,
+ "ascent": 2202,
+ "descent": -593,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 964,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 964
+ },
+ "thai": {
+ "xWidthAvg": 1601
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noticia Text",
+ "fullName": "Noticia Text Italic",
+ "postscriptName": "NoticiaText-Italic",
+ "category": "serif",
+ "capHeight": 1353,
+ "ascent": 2202,
+ "descent": -593,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 942,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 942
+ },
+ "thai": {
+ "xWidthAvg": 1601
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noticia Text",
+ "fullName": "Noticia Text Bold Italic",
+ "postscriptName": "NoticiaText-BoldItalic",
+ "category": "serif",
+ "capHeight": 1353,
+ "ascent": 2202,
+ "descent": -593,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1085,
+ "xWidthAvg": 1006,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1006
+ },
+ "thai": {
+ "xWidthAvg": 1501
+ }
+ }
+ }
+ }
+ },
+ "notoColorEmoji": {
+ "familyName": "Noto Color Emoji",
+ "fullName": "Noto Color Emoji",
+ "postscriptName": "NotoColorEmoji",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 512,
+ "xWidthAvg": 1275,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1275
+ },
+ "thai": {
+ "xWidthAvg": 1275
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Color Emoji",
+ "fullName": "Noto Color Emoji",
+ "postscriptName": "NotoColorEmoji",
+ "category": "sans-serif",
+ "capHeight": 717,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 512,
+ "xWidthAvg": 1275,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1275
+ },
+ "thai": {
+ "xWidthAvg": 1275
+ }
+ }
+ }
+ }
+ },
+ "notoEmoji": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji Regular",
+ "postscriptName": "NotoEmoji-Regular",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji Light",
+ "postscriptName": "NotoEmoji-Light",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji Medium",
+ "postscriptName": "NotoEmoji-Medium",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji SemiBold",
+ "postscriptName": "NotoEmoji-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji Bold",
+ "postscriptName": "NotoEmoji-Bold",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Emoji",
+ "fullName": "Noto Emoji Regular",
+ "postscriptName": "NotoEmoji-Regular",
+ "category": "sans-serif",
+ "capHeight": 1900,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoKufiArabic": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Regular",
+ "postscriptName": "NotoKufiArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Thin",
+ "postscriptName": "NotoKufiArabic-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic ExtraLight",
+ "postscriptName": "NotoKufiArabic-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Light",
+ "postscriptName": "NotoKufiArabic-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Medium",
+ "postscriptName": "NotoKufiArabic-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic SemiBold",
+ "postscriptName": "NotoKufiArabic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Bold",
+ "postscriptName": "NotoKufiArabic-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic ExtraBold",
+ "postscriptName": "NotoKufiArabic-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Black",
+ "postscriptName": "NotoKufiArabic-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Kufi Arabic",
+ "fullName": "Noto Kufi Arabic Regular",
+ "postscriptName": "NotoKufiArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1282,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoMusic": {
+ "familyName": "Noto Music",
+ "fullName": "Noto Music Regular",
+ "postscriptName": "NotoMusic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1389,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Music",
+ "fullName": "Noto Music Regular",
+ "postscriptName": "NotoMusic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1389,
+ "descent": -398,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoNaskhArabic": {
+ "familyName": "Noto Naskh Arabic",
+ "fullName": "Noto Naskh Arabic Regular",
+ "postscriptName": "NotoNaskhArabic-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Naskh Arabic",
+ "fullName": "Noto Naskh Arabic Medium",
+ "postscriptName": "NotoNaskhArabic-Medium",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Naskh Arabic",
+ "fullName": "Noto Naskh Arabic SemiBold",
+ "postscriptName": "NotoNaskhArabic-SemiBold",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Naskh Arabic",
+ "fullName": "Noto Naskh Arabic Bold",
+ "postscriptName": "NotoNaskhArabic-Bold",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Naskh Arabic",
+ "fullName": "Noto Naskh Arabic Regular",
+ "postscriptName": "NotoNaskhArabic-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ }
+ }
+ }
+ },
+ "notoNastaliqUrdu": {
+ "familyName": "Noto Nastaliq Urdu",
+ "fullName": "Noto Nastaliq Urdu Regular",
+ "postscriptName": "NotoNastaliqUrdu-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1904,
+ "descent": -596,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Nastaliq Urdu",
+ "fullName": "Noto Nastaliq Urdu Medium",
+ "postscriptName": "NotoNastaliqUrdu-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1904,
+ "descent": -596,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Nastaliq Urdu",
+ "fullName": "Noto Nastaliq Urdu SemiBold",
+ "postscriptName": "NotoNastaliqUrdu-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1904,
+ "descent": -596,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Nastaliq Urdu",
+ "fullName": "Noto Nastaliq Urdu Bold",
+ "postscriptName": "NotoNastaliqUrdu-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1904,
+ "descent": -596,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Nastaliq Urdu",
+ "fullName": "Noto Nastaliq Urdu Regular",
+ "postscriptName": "NotoNastaliqUrdu-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1904,
+ "descent": -596,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ }
+ }
+ },
+ "notoRashiHebrew": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Regular",
+ "postscriptName": "NotoRashiHebrew-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Thin",
+ "postscriptName": "NotoRashiHebrew-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew ExtraLight",
+ "postscriptName": "NotoRashiHebrew-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Light",
+ "postscriptName": "NotoRashiHebrew-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Medium",
+ "postscriptName": "NotoRashiHebrew-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew SemiBold",
+ "postscriptName": "NotoRashiHebrew-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Bold",
+ "postscriptName": "NotoRashiHebrew-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew ExtraBold",
+ "postscriptName": "NotoRashiHebrew-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Black",
+ "postscriptName": "NotoRashiHebrew-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Rashi Hebrew",
+ "fullName": "Noto Rashi Hebrew Regular",
+ "postscriptName": "NotoRashiHebrew-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSans": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Regular",
+ "postscriptName": "NotoSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Thin",
+ "postscriptName": "NotoSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans ExtraLight",
+ "postscriptName": "NotoSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Light",
+ "postscriptName": "NotoSans-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Medium",
+ "postscriptName": "NotoSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans SemiBold",
+ "postscriptName": "NotoSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Bold",
+ "postscriptName": "NotoSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans ExtraBold",
+ "postscriptName": "NotoSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Black",
+ "postscriptName": "NotoSans-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Regular",
+ "postscriptName": "NotoSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Italic",
+ "postscriptName": "NotoSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Black Italic",
+ "postscriptName": "NotoSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans ExtraBold Italic",
+ "postscriptName": "NotoSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Bold Italic",
+ "postscriptName": "NotoSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans SemiBold Italic",
+ "postscriptName": "NotoSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Medium Italic",
+ "postscriptName": "NotoSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Light Italic",
+ "postscriptName": "NotoSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans ExtraLight Italic",
+ "postscriptName": "NotoSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Noto Sans",
+ "fullName": "Noto Sans Thin Italic",
+ "postscriptName": "NotoSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansAdlam": {
+ "familyName": "Noto Sans Adlam",
+ "fullName": "Noto Sans Adlam Regular",
+ "postscriptName": "NotoSansAdlam-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Adlam",
+ "fullName": "Noto Sans Adlam Medium",
+ "postscriptName": "NotoSansAdlam-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Adlam",
+ "fullName": "Noto Sans Adlam SemiBold",
+ "postscriptName": "NotoSansAdlam-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Adlam",
+ "fullName": "Noto Sans Adlam Bold",
+ "postscriptName": "NotoSansAdlam-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Adlam",
+ "fullName": "Noto Sans Adlam Regular",
+ "postscriptName": "NotoSansAdlam-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ }
+ }
+ }
+ },
+ "notoSansAdlamUnjoined": {
+ "familyName": "Noto Sans Adlam Unjoined",
+ "fullName": "Noto Sans Adlam Unjoined Regular",
+ "postscriptName": "NotoSansAdlamUnjoined-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Adlam Unjoined",
+ "fullName": "Noto Sans Adlam Unjoined Medium",
+ "postscriptName": "NotoSansAdlamUnjoined-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Adlam Unjoined",
+ "fullName": "Noto Sans Adlam Unjoined SemiBold",
+ "postscriptName": "NotoSansAdlamUnjoined-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Adlam Unjoined",
+ "fullName": "Noto Sans Adlam Unjoined Bold",
+ "postscriptName": "NotoSansAdlamUnjoined-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 585,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Adlam Unjoined",
+ "fullName": "Noto Sans Adlam Unjoined Regular",
+ "postscriptName": "NotoSansAdlamUnjoined-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 574
+ }
+ }
+ }
+ }
+ },
+ "notoSansAnatolianHieroglyphs": {
+ "familyName": "Noto Sans Anatolian Hieroglyphs",
+ "fullName": "Noto Sans Anatolian Hieroglyphs Regular",
+ "postscriptName": "NotoSansAnatolianHieroglyphs-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1153,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Anatolian Hieroglyphs",
+ "fullName": "Noto Sans Anatolian Hieroglyphs Regular",
+ "postscriptName": "NotoSansAnatolianHieroglyphs-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1153,
+ "descent": -253,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansArabic": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Regular",
+ "postscriptName": "NotoSansArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 416,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 374,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Thin",
+ "postscriptName": "NotoSansArabic-Thin",
+ "category": "sans-serif",
+ "capHeight": 356,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 325,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic ExtraLight",
+ "postscriptName": "NotoSansArabic-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 368,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 335,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Light",
+ "postscriptName": "NotoSansArabic-Light",
+ "category": "sans-serif",
+ "capHeight": 386,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Medium",
+ "postscriptName": "NotoSansArabic-Medium",
+ "category": "sans-serif",
+ "capHeight": 441,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 393,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic SemiBold",
+ "postscriptName": "NotoSansArabic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 468,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 415,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Bold",
+ "postscriptName": "NotoSansArabic-Bold",
+ "category": "sans-serif",
+ "capHeight": 500,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 542,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 542
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic ExtraBold",
+ "postscriptName": "NotoSansArabic-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 523,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 542,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 542
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Black",
+ "postscriptName": "NotoSansArabic-Black",
+ "category": "sans-serif",
+ "capHeight": 550,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 542,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 542
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Arabic",
+ "fullName": "Noto Sans Arabic Regular",
+ "postscriptName": "NotoSansArabic-Regular",
+ "category": "sans-serif",
+ "capHeight": 416,
+ "ascent": 1374,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 374,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansArmenian": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Regular",
+ "postscriptName": "NotoSansArmenian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Thin",
+ "postscriptName": "NotoSansArmenian-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian ExtraLight",
+ "postscriptName": "NotoSansArmenian-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Light",
+ "postscriptName": "NotoSansArmenian-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Medium",
+ "postscriptName": "NotoSansArmenian-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian SemiBold",
+ "postscriptName": "NotoSansArmenian-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Bold",
+ "postscriptName": "NotoSansArmenian-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian ExtraBold",
+ "postscriptName": "NotoSansArmenian-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Black",
+ "postscriptName": "NotoSansArmenian-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 564
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Armenian",
+ "fullName": "Noto Sans Armenian Regular",
+ "postscriptName": "NotoSansArmenian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansAvestan": {
+ "familyName": "Noto Sans Avestan",
+ "fullName": "Noto Sans Avestan Regular",
+ "postscriptName": "NotoSansAvestan-Regular",
+ "category": "sans-serif",
+ "capHeight": 652,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Avestan",
+ "fullName": "Noto Sans Avestan Regular",
+ "postscriptName": "NotoSansAvestan-Regular",
+ "category": "sans-serif",
+ "capHeight": 652,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBalinese": {
+ "familyName": "Noto Sans Balinese",
+ "fullName": "Noto Sans Balinese Regular",
+ "postscriptName": "NotoSansBalinese-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1363,
+ "descent": -838,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Balinese",
+ "fullName": "Noto Sans Balinese Medium",
+ "postscriptName": "NotoSansBalinese-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1363,
+ "descent": -838,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Balinese",
+ "fullName": "Noto Sans Balinese SemiBold",
+ "postscriptName": "NotoSansBalinese-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1363,
+ "descent": -838,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Balinese",
+ "fullName": "Noto Sans Balinese Bold",
+ "postscriptName": "NotoSansBalinese-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1363,
+ "descent": -838,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Balinese",
+ "fullName": "Noto Sans Balinese Regular",
+ "postscriptName": "NotoSansBalinese-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1363,
+ "descent": -838,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBamum": {
+ "familyName": "Noto Sans Bamum",
+ "fullName": "Noto Sans Bamum Regular",
+ "postscriptName": "NotoSansBamum-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Bamum",
+ "fullName": "Noto Sans Bamum Medium",
+ "postscriptName": "NotoSansBamum-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Bamum",
+ "fullName": "Noto Sans Bamum SemiBold",
+ "postscriptName": "NotoSansBamum-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Bamum",
+ "fullName": "Noto Sans Bamum Bold",
+ "postscriptName": "NotoSansBamum-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Bamum",
+ "fullName": "Noto Sans Bamum Regular",
+ "postscriptName": "NotoSansBamum-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBassaVah": {
+ "familyName": "Noto Sans Bassa Vah",
+ "fullName": "Noto Sans Bassa Vah Regular",
+ "postscriptName": "NotoSansBassaVah-Regular",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Bassa Vah",
+ "fullName": "Noto Sans Bassa Vah Medium",
+ "postscriptName": "NotoSansBassaVah-Medium",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Bassa Vah",
+ "fullName": "Noto Sans Bassa Vah SemiBold",
+ "postscriptName": "NotoSansBassaVah-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Bassa Vah",
+ "fullName": "Noto Sans Bassa Vah Bold",
+ "postscriptName": "NotoSansBassaVah-Bold",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Bassa Vah",
+ "fullName": "Noto Sans Bassa Vah Regular",
+ "postscriptName": "NotoSansBassaVah-Regular",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBatak": {
+ "familyName": "Noto Sans Batak",
+ "fullName": "Noto Sans Batak Regular",
+ "postscriptName": "NotoSansBatak-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Batak",
+ "fullName": "Noto Sans Batak Regular",
+ "postscriptName": "NotoSansBatak-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansBengali": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Regular",
+ "postscriptName": "NotoSansBengali-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Thin",
+ "postscriptName": "NotoSansBengali-Thin",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali ExtraLight",
+ "postscriptName": "NotoSansBengali-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Light",
+ "postscriptName": "NotoSansBengali-Light",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Medium",
+ "postscriptName": "NotoSansBengali-Medium",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali SemiBold",
+ "postscriptName": "NotoSansBengali-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Bold",
+ "postscriptName": "NotoSansBengali-Bold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali ExtraBold",
+ "postscriptName": "NotoSansBengali-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Black",
+ "postscriptName": "NotoSansBengali-Black",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Bengali",
+ "fullName": "Noto Sans Bengali Regular",
+ "postscriptName": "NotoSansBengali-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 917,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBhaiksuki": {
+ "familyName": "Noto Sans Bhaiksuki",
+ "fullName": "Noto Sans Bhaiksuki Regular",
+ "postscriptName": "NotoSansBhaiksuki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 960,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Bhaiksuki",
+ "fullName": "Noto Sans Bhaiksuki Regular",
+ "postscriptName": "NotoSansBhaiksuki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 960,
+ "descent": -460,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBrahmi": {
+ "familyName": "Noto Sans Brahmi",
+ "fullName": "Noto Sans Brahmi Regular",
+ "postscriptName": "NotoSansBrahmi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -306,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Brahmi",
+ "fullName": "Noto Sans Brahmi Regular",
+ "postscriptName": "NotoSansBrahmi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -306,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBuginese": {
+ "familyName": "Noto Sans Buginese",
+ "fullName": "Noto Sans Buginese Regular",
+ "postscriptName": "NotoSansBuginese-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Buginese",
+ "fullName": "Noto Sans Buginese Regular",
+ "postscriptName": "NotoSansBuginese-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansBuhid": {
+ "familyName": "Noto Sans Buhid",
+ "fullName": "Noto Sans Buhid Regular",
+ "postscriptName": "NotoSansBuhid-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Buhid",
+ "fullName": "Noto Sans Buhid Regular",
+ "postscriptName": "NotoSansBuhid-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCanadianAboriginal": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Regular",
+ "postscriptName": "NotoSansCanadianAboriginal-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Thin",
+ "postscriptName": "NotoSansCanadianAboriginal-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal ExtraLight",
+ "postscriptName": "NotoSansCanadianAboriginal-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Light",
+ "postscriptName": "NotoSansCanadianAboriginal-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Medium",
+ "postscriptName": "NotoSansCanadianAboriginal-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal SemiBold",
+ "postscriptName": "NotoSansCanadianAboriginal-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Bold",
+ "postscriptName": "NotoSansCanadianAboriginal-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal ExtraBold",
+ "postscriptName": "NotoSansCanadianAboriginal-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Black",
+ "postscriptName": "NotoSansCanadianAboriginal-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Canadian Aboriginal",
+ "fullName": "Noto Sans Canadian Aboriginal Regular",
+ "postscriptName": "NotoSansCanadianAboriginal-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCarian": {
+ "familyName": "Noto Sans Carian",
+ "fullName": "Noto Sans Carian Regular",
+ "postscriptName": "NotoSansCarian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Carian",
+ "fullName": "Noto Sans Carian Regular",
+ "postscriptName": "NotoSansCarian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansCaucasianAlbanian": {
+ "familyName": "Noto Sans Caucasian Albanian",
+ "fullName": "Noto Sans Caucasian Albanian Regular",
+ "postscriptName": "NotoSansCaucasianAlbanian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 976,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Caucasian Albanian",
+ "fullName": "Noto Sans Caucasian Albanian Regular",
+ "postscriptName": "NotoSansCaucasianAlbanian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 976,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansChakma": {
+ "familyName": "Noto Sans Chakma",
+ "fullName": "Noto Sans Chakma Regular",
+ "postscriptName": "NotoSansChakma-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1140,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Chakma",
+ "fullName": "Noto Sans Chakma Regular",
+ "postscriptName": "NotoSansChakma-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1140,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCham": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Regular",
+ "postscriptName": "NotoSansCham-Regular",
+ "category": "sans-serif",
+ "capHeight": 594,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Thin",
+ "postscriptName": "NotoSansCham-Thin",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham ExtraLight",
+ "postscriptName": "NotoSansCham-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 564,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Light",
+ "postscriptName": "NotoSansCham-Light",
+ "category": "sans-serif",
+ "capHeight": 575,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Medium",
+ "postscriptName": "NotoSansCham-Medium",
+ "category": "sans-serif",
+ "capHeight": 605,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham SemiBold",
+ "postscriptName": "NotoSansCham-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 616,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Bold",
+ "postscriptName": "NotoSansCham-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham ExtraBold",
+ "postscriptName": "NotoSansCham-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 641,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Black",
+ "postscriptName": "NotoSansCham-Black",
+ "category": "sans-serif",
+ "capHeight": 653,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Cham",
+ "fullName": "Noto Sans Cham Regular",
+ "postscriptName": "NotoSansCham-Regular",
+ "category": "sans-serif",
+ "capHeight": 594,
+ "ascent": 1117,
+ "descent": -351,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCherokee": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Regular",
+ "postscriptName": "NotoSansCherokee-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Thin",
+ "postscriptName": "NotoSansCherokee-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee ExtraLight",
+ "postscriptName": "NotoSansCherokee-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Light",
+ "postscriptName": "NotoSansCherokee-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Medium",
+ "postscriptName": "NotoSansCherokee-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee SemiBold",
+ "postscriptName": "NotoSansCherokee-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Bold",
+ "postscriptName": "NotoSansCherokee-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee ExtraBold",
+ "postscriptName": "NotoSansCherokee-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Black",
+ "postscriptName": "NotoSansCherokee-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Cherokee",
+ "fullName": "Noto Sans Cherokee Regular",
+ "postscriptName": "NotoSansCherokee-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 535,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansChorasmian": {
+ "familyName": "Noto Sans Chorasmian",
+ "fullName": "Noto Sans Chorasmian Regular",
+ "postscriptName": "NotoSansChorasmian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Chorasmian",
+ "fullName": "Noto Sans Chorasmian Regular",
+ "postscriptName": "NotoSansChorasmian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCoptic": {
+ "familyName": "Noto Sans Coptic",
+ "fullName": "Noto Sans Coptic Regular",
+ "postscriptName": "NotoSansCoptic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Coptic",
+ "fullName": "Noto Sans Coptic Regular",
+ "postscriptName": "NotoSansCoptic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCuneiform": {
+ "familyName": "Noto Sans Cuneiform",
+ "fullName": "Noto Sans Cuneiform Regular",
+ "postscriptName": "NotoSansCuneiform-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1596,
+ "descent": -690,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Cuneiform",
+ "fullName": "Noto Sans Cuneiform Regular",
+ "postscriptName": "NotoSansCuneiform-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1596,
+ "descent": -690,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCypriot": {
+ "familyName": "Noto Sans Cypriot",
+ "fullName": "Noto Sans Cypriot Regular",
+ "postscriptName": "NotoSansCypriot-Regular",
+ "category": "sans-serif",
+ "capHeight": 736,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Cypriot",
+ "fullName": "Noto Sans Cypriot Regular",
+ "postscriptName": "NotoSansCypriot-Regular",
+ "category": "sans-serif",
+ "capHeight": 736,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansCyproMinoan": {
+ "familyName": "Noto Sans Cypro Minoan",
+ "fullName": "Noto Sans Cypro Minoan Regular",
+ "postscriptName": "NotoSansCyproMinoan-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Cypro Minoan",
+ "fullName": "Noto Sans Cypro Minoan Regular",
+ "postscriptName": "NotoSansCyproMinoan-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansDeseret": {
+ "familyName": "Noto Sans Deseret",
+ "fullName": "Noto Sans Deseret Regular",
+ "postscriptName": "NotoSansDeseret-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Deseret",
+ "fullName": "Noto Sans Deseret Regular",
+ "postscriptName": "NotoSansDeseret-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansDevanagari": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Regular",
+ "postscriptName": "NotoSansDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Thin",
+ "postscriptName": "NotoSansDevanagari-Thin",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari ExtraLight",
+ "postscriptName": "NotoSansDevanagari-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Light",
+ "postscriptName": "NotoSansDevanagari-Light",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Medium",
+ "postscriptName": "NotoSansDevanagari-Medium",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari SemiBold",
+ "postscriptName": "NotoSansDevanagari-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Bold",
+ "postscriptName": "NotoSansDevanagari-Bold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari ExtraBold",
+ "postscriptName": "NotoSansDevanagari-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Black",
+ "postscriptName": "NotoSansDevanagari-Black",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Devanagari",
+ "fullName": "Noto Sans Devanagari Regular",
+ "postscriptName": "NotoSansDevanagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansDisplay": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Regular",
+ "postscriptName": "NotoSansDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Thin",
+ "postscriptName": "NotoSansDisplay-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display ExtraLight",
+ "postscriptName": "NotoSansDisplay-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Light",
+ "postscriptName": "NotoSansDisplay-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Medium",
+ "postscriptName": "NotoSansDisplay-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display SemiBold",
+ "postscriptName": "NotoSansDisplay-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Bold",
+ "postscriptName": "NotoSansDisplay-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display ExtraBold",
+ "postscriptName": "NotoSansDisplay-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Black",
+ "postscriptName": "NotoSansDisplay-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Regular",
+ "postscriptName": "NotoSansDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 563
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Italic",
+ "postscriptName": "NotoSansDisplay-Italic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Black Italic",
+ "postscriptName": "NotoSansDisplay-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display ExtraBold Italic",
+ "postscriptName": "NotoSansDisplay-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Bold Italic",
+ "postscriptName": "NotoSansDisplay-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display SemiBold Italic",
+ "postscriptName": "NotoSansDisplay-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Medium Italic",
+ "postscriptName": "NotoSansDisplay-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Light Italic",
+ "postscriptName": "NotoSansDisplay-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display ExtraLight Italic",
+ "postscriptName": "NotoSansDisplay-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Noto Sans Display",
+ "fullName": "Noto Sans Display Thin Italic",
+ "postscriptName": "NotoSansDisplay-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ }
+ }
+ },
+ "notoSansDuployan": {
+ "familyName": "Noto Sans Duployan",
+ "fullName": "Noto Sans Duployan Regular",
+ "postscriptName": "NotoSansDuployan-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Noto Sans Duployan",
+ "fullName": "Noto Sans Duployan Bold",
+ "postscriptName": "NotoSansDuployan-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Duployan",
+ "fullName": "Noto Sans Duployan Regular",
+ "postscriptName": "NotoSansDuployan-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ }
+ }
+ }
+ },
+ "notoSansEgyptianHieroglyphs": {
+ "familyName": "Noto Sans Egyptian Hieroglyphs",
+ "fullName": "Noto Sans Egyptian Hieroglyphs Regular",
+ "postscriptName": "NotoSansEgyptianHieroglyphs-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1324,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Egyptian Hieroglyphs",
+ "fullName": "Noto Sans Egyptian Hieroglyphs Regular",
+ "postscriptName": "NotoSansEgyptianHieroglyphs-Regular",
+ "category": "sans-serif",
+ "capHeight": 900,
+ "ascent": 1324,
+ "descent": -326,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansElbasan": {
+ "familyName": "Noto Sans Elbasan",
+ "fullName": "Noto Sans Elbasan Regular",
+ "postscriptName": "NotoSansElbasan-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 847,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Elbasan",
+ "fullName": "Noto Sans Elbasan Regular",
+ "postscriptName": "NotoSansElbasan-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 847,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansElymaic": {
+ "familyName": "Noto Sans Elymaic",
+ "fullName": "Noto Sans Elymaic Regular",
+ "postscriptName": "NotoSansElymaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 570,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Elymaic",
+ "fullName": "Noto Sans Elymaic Regular",
+ "postscriptName": "NotoSansElymaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 570,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansEthiopic": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Regular",
+ "postscriptName": "NotoSansEthiopic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Thin",
+ "postscriptName": "NotoSansEthiopic-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic ExtraLight",
+ "postscriptName": "NotoSansEthiopic-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Light",
+ "postscriptName": "NotoSansEthiopic-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Medium",
+ "postscriptName": "NotoSansEthiopic-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic SemiBold",
+ "postscriptName": "NotoSansEthiopic-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Bold",
+ "postscriptName": "NotoSansEthiopic-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic ExtraBold",
+ "postscriptName": "NotoSansEthiopic-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Black",
+ "postscriptName": "NotoSansEthiopic-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Ethiopic",
+ "fullName": "Noto Sans Ethiopic Regular",
+ "postscriptName": "NotoSansEthiopic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansGeorgian": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Regular",
+ "postscriptName": "NotoSansGeorgian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Thin",
+ "postscriptName": "NotoSansGeorgian-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian ExtraLight",
+ "postscriptName": "NotoSansGeorgian-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Light",
+ "postscriptName": "NotoSansGeorgian-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Medium",
+ "postscriptName": "NotoSansGeorgian-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian SemiBold",
+ "postscriptName": "NotoSansGeorgian-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Bold",
+ "postscriptName": "NotoSansGeorgian-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian ExtraBold",
+ "postscriptName": "NotoSansGeorgian-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Black",
+ "postscriptName": "NotoSansGeorgian-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Georgian",
+ "fullName": "Noto Sans Georgian Regular",
+ "postscriptName": "NotoSansGeorgian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansGlagolitic": {
+ "familyName": "Noto Sans Glagolitic",
+ "fullName": "Noto Sans Glagolitic Regular",
+ "postscriptName": "NotoSansGlagolitic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Glagolitic",
+ "fullName": "Noto Sans Glagolitic Regular",
+ "postscriptName": "NotoSansGlagolitic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansGothic": {
+ "familyName": "Noto Sans Gothic",
+ "fullName": "Noto Sans Gothic Regular",
+ "postscriptName": "NotoSansGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 646,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Gothic",
+ "fullName": "Noto Sans Gothic Regular",
+ "postscriptName": "NotoSansGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 646,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansGrantha": {
+ "familyName": "Noto Sans Grantha",
+ "fullName": "Noto Sans Grantha Regular",
+ "postscriptName": "NotoSansGrantha-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1290,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Grantha",
+ "fullName": "Noto Sans Grantha Regular",
+ "postscriptName": "NotoSansGrantha-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1290,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansGujarati": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Regular",
+ "postscriptName": "NotoSansGujarati-Regular",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Thin",
+ "postscriptName": "NotoSansGujarati-Thin",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati ExtraLight",
+ "postscriptName": "NotoSansGujarati-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Light",
+ "postscriptName": "NotoSansGujarati-Light",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Medium",
+ "postscriptName": "NotoSansGujarati-Medium",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati SemiBold",
+ "postscriptName": "NotoSansGujarati-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Bold",
+ "postscriptName": "NotoSansGujarati-Bold",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati ExtraBold",
+ "postscriptName": "NotoSansGujarati-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Black",
+ "postscriptName": "NotoSansGujarati-Black",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Gujarati",
+ "fullName": "Noto Sans Gujarati Regular",
+ "postscriptName": "NotoSansGujarati-Regular",
+ "category": "sans-serif",
+ "capHeight": 592,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansGunjalaGondi": {
+ "familyName": "Noto Sans Gunjala Gondi",
+ "fullName": "Noto Sans Gunjala Gondi Regular",
+ "postscriptName": "NotoSansGunjalaGondi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1014,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 4556
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Gunjala Gondi",
+ "fullName": "Noto Sans Gunjala Gondi Medium",
+ "postscriptName": "NotoSansGunjalaGondi-Medium",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1014,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 4556
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Gunjala Gondi",
+ "fullName": "Noto Sans Gunjala Gondi SemiBold",
+ "postscriptName": "NotoSansGunjalaGondi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1014,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 4556
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Gunjala Gondi",
+ "fullName": "Noto Sans Gunjala Gondi Bold",
+ "postscriptName": "NotoSansGunjalaGondi-Bold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1014,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 4556
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Gunjala Gondi",
+ "fullName": "Noto Sans Gunjala Gondi Regular",
+ "postscriptName": "NotoSansGunjalaGondi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1014,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 4556
+ }
+ }
+ }
+ }
+ },
+ "notoSansGurmukhi": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Regular",
+ "postscriptName": "NotoSansGurmukhi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Thin",
+ "postscriptName": "NotoSansGurmukhi-Thin",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi ExtraLight",
+ "postscriptName": "NotoSansGurmukhi-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Light",
+ "postscriptName": "NotoSansGurmukhi-Light",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Medium",
+ "postscriptName": "NotoSansGurmukhi-Medium",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi SemiBold",
+ "postscriptName": "NotoSansGurmukhi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Bold",
+ "postscriptName": "NotoSansGurmukhi-Bold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi ExtraBold",
+ "postscriptName": "NotoSansGurmukhi-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Black",
+ "postscriptName": "NotoSansGurmukhi-Black",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Gurmukhi",
+ "fullName": "Noto Sans Gurmukhi Regular",
+ "postscriptName": "NotoSansGurmukhi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 896,
+ "descent": -408,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansHK": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Regular",
+ "postscriptName": "NotoSansHK-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Thin",
+ "postscriptName": "NotoSansHK-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK ExtraLight",
+ "postscriptName": "NotoSansHK-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Light",
+ "postscriptName": "NotoSansHK-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Medium",
+ "postscriptName": "NotoSansHK-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK SemiBold",
+ "postscriptName": "NotoSansHK-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Bold",
+ "postscriptName": "NotoSansHK-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK ExtraBold",
+ "postscriptName": "NotoSansHK-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Black",
+ "postscriptName": "NotoSansHK-Black",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans HK",
+ "fullName": "Noto Sans HK Regular",
+ "postscriptName": "NotoSansHK-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansHanifiRohingya": {
+ "familyName": "Noto Sans Hanifi Rohingya",
+ "fullName": "Noto Sans Hanifi Rohingya Regular",
+ "postscriptName": "NotoSansHanifiRohingya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Hanifi Rohingya",
+ "fullName": "Noto Sans Hanifi Rohingya Medium",
+ "postscriptName": "NotoSansHanifiRohingya-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Hanifi Rohingya",
+ "fullName": "Noto Sans Hanifi Rohingya SemiBold",
+ "postscriptName": "NotoSansHanifiRohingya-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Hanifi Rohingya",
+ "fullName": "Noto Sans Hanifi Rohingya Bold",
+ "postscriptName": "NotoSansHanifiRohingya-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Hanifi Rohingya",
+ "fullName": "Noto Sans Hanifi Rohingya Regular",
+ "postscriptName": "NotoSansHanifiRohingya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansHanunoo": {
+ "familyName": "Noto Sans Hanunoo",
+ "fullName": "Noto Sans Hanunoo Regular",
+ "postscriptName": "NotoSansHanunoo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Hanunoo",
+ "fullName": "Noto Sans Hanunoo Regular",
+ "postscriptName": "NotoSansHanunoo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansHatran": {
+ "familyName": "Noto Sans Hatran",
+ "fullName": "Noto Sans Hatran Regular",
+ "postscriptName": "NotoSansHatran-Regular",
+ "category": "sans-serif",
+ "capHeight": 763,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Hatran",
+ "fullName": "Noto Sans Hatran Regular",
+ "postscriptName": "NotoSansHatran-Regular",
+ "category": "sans-serif",
+ "capHeight": 763,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansHebrew": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Regular",
+ "postscriptName": "NotoSansHebrew-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Thin",
+ "postscriptName": "NotoSansHebrew-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew ExtraLight",
+ "postscriptName": "NotoSansHebrew-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Light",
+ "postscriptName": "NotoSansHebrew-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Medium",
+ "postscriptName": "NotoSansHebrew-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew SemiBold",
+ "postscriptName": "NotoSansHebrew-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Bold",
+ "postscriptName": "NotoSansHebrew-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew ExtraBold",
+ "postscriptName": "NotoSansHebrew-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Black",
+ "postscriptName": "NotoSansHebrew-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Hebrew",
+ "fullName": "Noto Sans Hebrew Regular",
+ "postscriptName": "NotoSansHebrew-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansImperialAramaic": {
+ "familyName": "Noto Sans Imperial Aramaic",
+ "fullName": "Noto Sans Imperial Aramaic Regular",
+ "postscriptName": "NotoSansImperialAramaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Imperial Aramaic",
+ "fullName": "Noto Sans Imperial Aramaic Regular",
+ "postscriptName": "NotoSansImperialAramaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansIndicSiyaqNumbers": {
+ "familyName": "Noto Sans Indic Siyaq Numbers",
+ "fullName": "Noto Sans Indic Siyaq Numbers Regular",
+ "postscriptName": "NotoSansIndicSiyaqNumbers-Regular",
+ "category": "sans-serif",
+ "capHeight": 964,
+ "ascent": 1215,
+ "descent": -347,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Indic Siyaq Numbers",
+ "fullName": "Noto Sans Indic Siyaq Numbers Regular",
+ "postscriptName": "NotoSansIndicSiyaqNumbers-Regular",
+ "category": "sans-serif",
+ "capHeight": 964,
+ "ascent": 1215,
+ "descent": -347,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansInscriptionalPahlavi": {
+ "familyName": "Noto Sans Inscriptional Pahlavi",
+ "fullName": "Noto Sans Inscriptional Pahlavi Regular",
+ "postscriptName": "NotoSansInscriptionalPahlavi-Regular",
+ "category": "sans-serif",
+ "capHeight": 760,
+ "ascent": 1069,
+ "descent": -352,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Inscriptional Pahlavi",
+ "fullName": "Noto Sans Inscriptional Pahlavi Regular",
+ "postscriptName": "NotoSansInscriptionalPahlavi-Regular",
+ "category": "sans-serif",
+ "capHeight": 760,
+ "ascent": 1069,
+ "descent": -352,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansInscriptionalParthian": {
+ "familyName": "Noto Sans Inscriptional Parthian",
+ "fullName": "Noto Sans Inscriptional Parthian Regular",
+ "postscriptName": "NotoSansInscriptionalParthian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Inscriptional Parthian",
+ "fullName": "Noto Sans Inscriptional Parthian Regular",
+ "postscriptName": "NotoSansInscriptionalParthian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansJP": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Regular",
+ "postscriptName": "NotoSansJP-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Thin",
+ "postscriptName": "NotoSansJP-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP ExtraLight",
+ "postscriptName": "NotoSansJP-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Light",
+ "postscriptName": "NotoSansJP-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Medium",
+ "postscriptName": "NotoSansJP-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP SemiBold",
+ "postscriptName": "NotoSansJP-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Bold",
+ "postscriptName": "NotoSansJP-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP ExtraBold",
+ "postscriptName": "NotoSansJP-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Black",
+ "postscriptName": "NotoSansJP-Black",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans JP",
+ "fullName": "Noto Sans JP Regular",
+ "postscriptName": "NotoSansJP-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansJavanese": {
+ "familyName": "Noto Sans Javanese",
+ "fullName": "Noto Sans Javanese Regular",
+ "postscriptName": "NotoSansJavanese-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1120,
+ "descent": -916,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Javanese",
+ "fullName": "Noto Sans Javanese Medium",
+ "postscriptName": "NotoSansJavanese-Medium",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1120,
+ "descent": -916,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Javanese",
+ "fullName": "Noto Sans Javanese SemiBold",
+ "postscriptName": "NotoSansJavanese-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1120,
+ "descent": -916,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Javanese",
+ "fullName": "Noto Sans Javanese Bold",
+ "postscriptName": "NotoSansJavanese-Bold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1120,
+ "descent": -916,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Javanese",
+ "fullName": "Noto Sans Javanese Regular",
+ "postscriptName": "NotoSansJavanese-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 1120,
+ "descent": -916,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansKR": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Regular",
+ "postscriptName": "NotoSansKR-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Thin",
+ "postscriptName": "NotoSansKR-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR ExtraLight",
+ "postscriptName": "NotoSansKR-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Light",
+ "postscriptName": "NotoSansKR-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Medium",
+ "postscriptName": "NotoSansKR-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR SemiBold",
+ "postscriptName": "NotoSansKR-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Bold",
+ "postscriptName": "NotoSansKR-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR ExtraBold",
+ "postscriptName": "NotoSansKR-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Black",
+ "postscriptName": "NotoSansKR-Black",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans KR",
+ "fullName": "Noto Sans KR Regular",
+ "postscriptName": "NotoSansKR-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansKaithi": {
+ "familyName": "Noto Sans Kaithi",
+ "fullName": "Noto Sans Kaithi Regular",
+ "postscriptName": "NotoSansKaithi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1077,
+ "descent": -425,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Kaithi",
+ "fullName": "Noto Sans Kaithi Regular",
+ "postscriptName": "NotoSansKaithi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1077,
+ "descent": -425,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansKannada": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Regular",
+ "postscriptName": "NotoSansKannada-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Thin",
+ "postscriptName": "NotoSansKannada-Thin",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada ExtraLight",
+ "postscriptName": "NotoSansKannada-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Light",
+ "postscriptName": "NotoSansKannada-Light",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Medium",
+ "postscriptName": "NotoSansKannada-Medium",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada SemiBold",
+ "postscriptName": "NotoSansKannada-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 552,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Bold",
+ "postscriptName": "NotoSansKannada-Bold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 552,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada ExtraBold",
+ "postscriptName": "NotoSansKannada-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 562,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Black",
+ "postscriptName": "NotoSansKannada-Black",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 574,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Kannada",
+ "fullName": "Noto Sans Kannada Regular",
+ "postscriptName": "NotoSansKannada-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 809,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ }
+ }
+ },
+ "notoSansKawi": {
+ "familyName": "Noto Sans Kawi",
+ "fullName": "Noto Sans Kawi Regular",
+ "postscriptName": "NotoSansKawi-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1100,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Kawi",
+ "fullName": "Noto Sans Kawi Medium",
+ "postscriptName": "NotoSansKawi-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1100,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Kawi",
+ "fullName": "Noto Sans Kawi SemiBold",
+ "postscriptName": "NotoSansKawi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1100,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Kawi",
+ "fullName": "Noto Sans Kawi Bold",
+ "postscriptName": "NotoSansKawi-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1100,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Kawi",
+ "fullName": "Noto Sans Kawi Regular",
+ "postscriptName": "NotoSansKawi-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1100,
+ "descent": -900,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansKayahLi": {
+ "familyName": "Noto Sans Kayah Li",
+ "fullName": "Noto Sans Kayah Li Regular",
+ "postscriptName": "NotoSansKayahLi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Kayah Li",
+ "fullName": "Noto Sans Kayah Li Medium",
+ "postscriptName": "NotoSansKayahLi-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Kayah Li",
+ "fullName": "Noto Sans Kayah Li SemiBold",
+ "postscriptName": "NotoSansKayahLi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Kayah Li",
+ "fullName": "Noto Sans Kayah Li Bold",
+ "postscriptName": "NotoSansKayahLi-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Kayah Li",
+ "fullName": "Noto Sans Kayah Li Regular",
+ "postscriptName": "NotoSansKayahLi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansKharoshthi": {
+ "familyName": "Noto Sans Kharoshthi",
+ "fullName": "Noto Sans Kharoshthi Regular",
+ "postscriptName": "NotoSansKharoshthi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Kharoshthi",
+ "fullName": "Noto Sans Kharoshthi Regular",
+ "postscriptName": "NotoSansKharoshthi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -301,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansKhmer": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Regular",
+ "postscriptName": "NotoSansKhmer-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Thin",
+ "postscriptName": "NotoSansKhmer-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer ExtraLight",
+ "postscriptName": "NotoSansKhmer-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 616
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Light",
+ "postscriptName": "NotoSansKhmer-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 623
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Medium",
+ "postscriptName": "NotoSansKhmer-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer SemiBold",
+ "postscriptName": "NotoSansKhmer-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 655
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Bold",
+ "postscriptName": "NotoSansKhmer-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 668
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer ExtraBold",
+ "postscriptName": "NotoSansKhmer-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 677
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Black",
+ "postscriptName": "NotoSansKhmer-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 689
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Khmer",
+ "fullName": "Noto Sans Khmer Regular",
+ "postscriptName": "NotoSansKhmer-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ }
+ }
+ }
+ },
+ "notoSansKhojki": {
+ "familyName": "Noto Sans Khojki",
+ "fullName": "Noto Sans Khojki Regular",
+ "postscriptName": "NotoSansKhojki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Khojki",
+ "fullName": "Noto Sans Khojki Regular",
+ "postscriptName": "NotoSansKhojki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansKhudawadi": {
+ "familyName": "Noto Sans Khudawadi",
+ "fullName": "Noto Sans Khudawadi Regular",
+ "postscriptName": "NotoSansKhudawadi-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 944,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Khudawadi",
+ "fullName": "Noto Sans Khudawadi Regular",
+ "postscriptName": "NotoSansKhudawadi-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 944,
+ "descent": -373,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLao": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Regular",
+ "postscriptName": "NotoSansLao-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Thin",
+ "postscriptName": "NotoSansLao-Thin",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao ExtraLight",
+ "postscriptName": "NotoSansLao-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 739,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Light",
+ "postscriptName": "NotoSansLao-Light",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Medium",
+ "postscriptName": "NotoSansLao-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao SemiBold",
+ "postscriptName": "NotoSansLao-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Bold",
+ "postscriptName": "NotoSansLao-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao ExtraBold",
+ "postscriptName": "NotoSansLao-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Black",
+ "postscriptName": "NotoSansLao-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Lao",
+ "fullName": "Noto Sans Lao Regular",
+ "postscriptName": "NotoSansLao-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1183,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ }
+ }
+ },
+ "notoSansLaoLooped": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Regular",
+ "postscriptName": "NotoSansLaoLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Thin",
+ "postscriptName": "NotoSansLaoLooped-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped ExtraLight",
+ "postscriptName": "NotoSansLaoLooped-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Light",
+ "postscriptName": "NotoSansLaoLooped-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Medium",
+ "postscriptName": "NotoSansLaoLooped-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped SemiBold",
+ "postscriptName": "NotoSansLaoLooped-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 593
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Bold",
+ "postscriptName": "NotoSansLaoLooped-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped ExtraBold",
+ "postscriptName": "NotoSansLaoLooped-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Black",
+ "postscriptName": "NotoSansLaoLooped-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Lao Looped",
+ "fullName": "Noto Sans Lao Looped Regular",
+ "postscriptName": "NotoSansLaoLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLepcha": {
+ "familyName": "Noto Sans Lepcha",
+ "fullName": "Noto Sans Lepcha Regular",
+ "postscriptName": "NotoSansLepcha-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Lepcha",
+ "fullName": "Noto Sans Lepcha Regular",
+ "postscriptName": "NotoSansLepcha-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLimbu": {
+ "familyName": "Noto Sans Limbu",
+ "fullName": "Noto Sans Limbu Regular",
+ "postscriptName": "NotoSansLimbu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Limbu",
+ "fullName": "Noto Sans Limbu Regular",
+ "postscriptName": "NotoSansLimbu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLinearA": {
+ "familyName": "Noto Sans Linear A",
+ "fullName": "Noto Sans Linear A Regular",
+ "postscriptName": "NotoSansLinearA-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 661
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Linear A",
+ "fullName": "Noto Sans Linear A Regular",
+ "postscriptName": "NotoSansLinearA-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 661
+ }
+ }
+ }
+ }
+ },
+ "notoSansLinearB": {
+ "familyName": "Noto Sans Linear B",
+ "fullName": "Noto Sans Linear B Regular",
+ "postscriptName": "NotoSansLinearB-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Linear B",
+ "fullName": "Noto Sans Linear B Regular",
+ "postscriptName": "NotoSansLinearB-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLisu": {
+ "familyName": "Noto Sans Lisu",
+ "fullName": "Noto Sans Lisu Regular",
+ "postscriptName": "NotoSansLisu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Lisu",
+ "fullName": "Noto Sans Lisu Medium",
+ "postscriptName": "NotoSansLisu-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Lisu",
+ "fullName": "Noto Sans Lisu SemiBold",
+ "postscriptName": "NotoSansLisu-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Lisu",
+ "fullName": "Noto Sans Lisu Bold",
+ "postscriptName": "NotoSansLisu-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Lisu",
+ "fullName": "Noto Sans Lisu Regular",
+ "postscriptName": "NotoSansLisu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansLycian": {
+ "familyName": "Noto Sans Lycian",
+ "fullName": "Noto Sans Lycian Regular",
+ "postscriptName": "NotoSansLycian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Lycian",
+ "fullName": "Noto Sans Lycian Regular",
+ "postscriptName": "NotoSansLycian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansLydian": {
+ "familyName": "Noto Sans Lydian",
+ "fullName": "Noto Sans Lydian Regular",
+ "postscriptName": "NotoSansLydian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Lydian",
+ "fullName": "Noto Sans Lydian Regular",
+ "postscriptName": "NotoSansLydian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansMahajani": {
+ "familyName": "Noto Sans Mahajani",
+ "fullName": "Noto Sans Mahajani Regular",
+ "postscriptName": "NotoSansMahajani-Regular",
+ "category": "sans-serif",
+ "capHeight": 600,
+ "ascent": 757,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mahajani",
+ "fullName": "Noto Sans Mahajani Regular",
+ "postscriptName": "NotoSansMahajani-Regular",
+ "category": "sans-serif",
+ "capHeight": 600,
+ "ascent": 757,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMalayalam": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Regular",
+ "postscriptName": "NotoSansMalayalam-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Thin",
+ "postscriptName": "NotoSansMalayalam-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam ExtraLight",
+ "postscriptName": "NotoSansMalayalam-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Light",
+ "postscriptName": "NotoSansMalayalam-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Medium",
+ "postscriptName": "NotoSansMalayalam-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam SemiBold",
+ "postscriptName": "NotoSansMalayalam-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Bold",
+ "postscriptName": "NotoSansMalayalam-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam ExtraBold",
+ "postscriptName": "NotoSansMalayalam-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Black",
+ "postscriptName": "NotoSansMalayalam-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Malayalam",
+ "fullName": "Noto Sans Malayalam Regular",
+ "postscriptName": "NotoSansMalayalam-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMandaic": {
+ "familyName": "Noto Sans Mandaic",
+ "fullName": "Noto Sans Mandaic Regular",
+ "postscriptName": "NotoSansMandaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 694,
+ "ascent": 724,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mandaic",
+ "fullName": "Noto Sans Mandaic Regular",
+ "postscriptName": "NotoSansMandaic-Regular",
+ "category": "sans-serif",
+ "capHeight": 694,
+ "ascent": 724,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansManichaean": {
+ "familyName": "Noto Sans Manichaean",
+ "fullName": "Noto Sans Manichaean Regular",
+ "postscriptName": "NotoSansManichaean-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 790,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Manichaean",
+ "fullName": "Noto Sans Manichaean Regular",
+ "postscriptName": "NotoSansManichaean-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 790,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMarchen": {
+ "familyName": "Noto Sans Marchen",
+ "fullName": "Noto Sans Marchen Regular",
+ "postscriptName": "NotoSansMarchen-Regular",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1107,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Marchen",
+ "fullName": "Noto Sans Marchen Regular",
+ "postscriptName": "NotoSansMarchen-Regular",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1107,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMasaramGondi": {
+ "familyName": "Noto Sans Masaram Gondi",
+ "fullName": "Noto Sans Masaram Gondi Regular",
+ "postscriptName": "NotoSansMasaramGondi-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Masaram Gondi",
+ "fullName": "Noto Sans Masaram Gondi Regular",
+ "postscriptName": "NotoSansMasaramGondi-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMath": {
+ "familyName": "Noto Sans Math",
+ "fullName": "Noto Sans Math Regular",
+ "postscriptName": "NotoSansMath-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Math",
+ "fullName": "Noto Sans Math Regular",
+ "postscriptName": "NotoSansMath-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMayanNumerals": {
+ "familyName": "Noto Sans Mayan Numerals",
+ "fullName": "Noto Sans Mayan Numerals Regular",
+ "postscriptName": "NotoSansMayanNumerals-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mayan Numerals",
+ "fullName": "Noto Sans Mayan Numerals Regular",
+ "postscriptName": "NotoSansMayanNumerals-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMedefaidrin": {
+ "familyName": "Noto Sans Medefaidrin",
+ "fullName": "Noto Sans Medefaidrin Regular",
+ "postscriptName": "NotoSansMedefaidrin-Regular",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Medefaidrin",
+ "fullName": "Noto Sans Medefaidrin Medium",
+ "postscriptName": "NotoSansMedefaidrin-Medium",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Medefaidrin",
+ "fullName": "Noto Sans Medefaidrin SemiBold",
+ "postscriptName": "NotoSansMedefaidrin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Medefaidrin",
+ "fullName": "Noto Sans Medefaidrin Bold",
+ "postscriptName": "NotoSansMedefaidrin-Bold",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 503
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Medefaidrin",
+ "fullName": "Noto Sans Medefaidrin Regular",
+ "postscriptName": "NotoSansMedefaidrin-Regular",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ }
+ }
+ },
+ "notoSansMeeteiMayek": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Regular",
+ "postscriptName": "NotoSansMeeteiMayek-Regular",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Thin",
+ "postscriptName": "NotoSansMeeteiMayek-Thin",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek ExtraLight",
+ "postscriptName": "NotoSansMeeteiMayek-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Light",
+ "postscriptName": "NotoSansMeeteiMayek-Light",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Medium",
+ "postscriptName": "NotoSansMeeteiMayek-Medium",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek SemiBold",
+ "postscriptName": "NotoSansMeeteiMayek-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Bold",
+ "postscriptName": "NotoSansMeeteiMayek-Bold",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek ExtraBold",
+ "postscriptName": "NotoSansMeeteiMayek-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Black",
+ "postscriptName": "NotoSansMeeteiMayek-Black",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Meetei Mayek",
+ "fullName": "Noto Sans Meetei Mayek Regular",
+ "postscriptName": "NotoSansMeeteiMayek-Regular",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMendeKikakui": {
+ "familyName": "Noto Sans Mende Kikakui",
+ "fullName": "Noto Sans Mende Kikakui Regular",
+ "postscriptName": "NotoSansMendeKikakui-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1030,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mende Kikakui",
+ "fullName": "Noto Sans Mende Kikakui Regular",
+ "postscriptName": "NotoSansMendeKikakui-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1030,
+ "descent": -237,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMeroitic": {
+ "familyName": "Noto Sans Meroitic",
+ "fullName": "Noto Sans Meroitic Regular",
+ "postscriptName": "NotoSansMeroitic-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 928,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Meroitic",
+ "fullName": "Noto Sans Meroitic Regular",
+ "postscriptName": "NotoSansMeroitic-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 928,
+ "descent": -415,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMiao": {
+ "familyName": "Noto Sans Miao",
+ "fullName": "Noto Sans Miao Regular",
+ "postscriptName": "NotoSansMiao-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1142,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 341,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Miao",
+ "fullName": "Noto Sans Miao Regular",
+ "postscriptName": "NotoSansMiao-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1142,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 341,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansModi": {
+ "familyName": "Noto Sans Modi",
+ "fullName": "Noto Sans Modi Regular",
+ "postscriptName": "NotoSansModi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 891,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Modi",
+ "fullName": "Noto Sans Modi Regular",
+ "postscriptName": "NotoSansModi-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 891,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMongolian": {
+ "familyName": "Noto Sans Mongolian",
+ "fullName": "Noto Sans Mongolian Regular",
+ "postscriptName": "NotoSansMongolian-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1457,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mongolian",
+ "fullName": "Noto Sans Mongolian Regular",
+ "postscriptName": "NotoSansMongolian-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1457,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMono": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Regular",
+ "postscriptName": "NotoSansMono-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Thin",
+ "postscriptName": "NotoSansMono-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono ExtraLight",
+ "postscriptName": "NotoSansMono-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Light",
+ "postscriptName": "NotoSansMono-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Medium",
+ "postscriptName": "NotoSansMono-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono SemiBold",
+ "postscriptName": "NotoSansMono-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Bold",
+ "postscriptName": "NotoSansMono-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono ExtraBold",
+ "postscriptName": "NotoSansMono-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Black",
+ "postscriptName": "NotoSansMono-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Mono",
+ "fullName": "Noto Sans Mono Regular",
+ "postscriptName": "NotoSansMono-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMro": {
+ "familyName": "Noto Sans Mro",
+ "fullName": "Noto Sans Mro Regular",
+ "postscriptName": "NotoSansMro-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Mro",
+ "fullName": "Noto Sans Mro Regular",
+ "postscriptName": "NotoSansMro-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMultani": {
+ "familyName": "Noto Sans Multani",
+ "fullName": "Noto Sans Multani Regular",
+ "postscriptName": "NotoSansMultani-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Multani",
+ "fullName": "Noto Sans Multani Regular",
+ "postscriptName": "NotoSansMultani-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansMyanmar": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Regular",
+ "postscriptName": "NotoSansMyanmar-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Thin",
+ "postscriptName": "NotoSansMyanmar-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar ExtraLight",
+ "postscriptName": "NotoSansMyanmar-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Light",
+ "postscriptName": "NotoSansMyanmar-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Medium",
+ "postscriptName": "NotoSansMyanmar-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar SemiBold",
+ "postscriptName": "NotoSansMyanmar-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Bold",
+ "postscriptName": "NotoSansMyanmar-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar ExtraBold",
+ "postscriptName": "NotoSansMyanmar-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Black",
+ "postscriptName": "NotoSansMyanmar-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Myanmar",
+ "fullName": "Noto Sans Myanmar Regular",
+ "postscriptName": "NotoSansMyanmar-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1324,
+ "descent": -860,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNKo": {
+ "familyName": "Noto Sans NKo",
+ "fullName": "Noto Sans NKo Regular",
+ "postscriptName": "NotoSansNKo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans NKo",
+ "fullName": "Noto Sans NKo Regular",
+ "postscriptName": "NotoSansNKo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNKoUnjoined": {
+ "familyName": "Noto Sans NKo Unjoined",
+ "fullName": "Noto Sans NKo Unjoined Regular",
+ "postscriptName": "NotoSansNKoUnjoined-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans NKo Unjoined",
+ "fullName": "Noto Sans NKo Unjoined Medium",
+ "postscriptName": "NotoSansNKoUnjoined-Medium",
+ "category": "sans-serif",
+ "capHeight": 719,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans NKo Unjoined",
+ "fullName": "Noto Sans NKo Unjoined SemiBold",
+ "postscriptName": "NotoSansNKoUnjoined-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans NKo Unjoined",
+ "fullName": "Noto Sans NKo Unjoined Bold",
+ "postscriptName": "NotoSansNKoUnjoined-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans NKo Unjoined",
+ "fullName": "Noto Sans NKo Unjoined Regular",
+ "postscriptName": "NotoSansNKoUnjoined-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNabataean": {
+ "familyName": "Noto Sans Nabataean",
+ "fullName": "Noto Sans Nabataean Regular",
+ "postscriptName": "NotoSansNabataean-Regular",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Nabataean",
+ "fullName": "Noto Sans Nabataean Regular",
+ "postscriptName": "NotoSansNabataean-Regular",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNagMundari": {
+ "familyName": "Noto Sans Nag Mundari",
+ "fullName": "Noto Sans Nag Mundari Regular",
+ "postscriptName": "NotoSansNagMundari-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Nag Mundari",
+ "fullName": "Noto Sans Nag Mundari Medium",
+ "postscriptName": "NotoSansNagMundari-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Nag Mundari",
+ "fullName": "Noto Sans Nag Mundari SemiBold",
+ "postscriptName": "NotoSansNagMundari-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Nag Mundari",
+ "fullName": "Noto Sans Nag Mundari Bold",
+ "postscriptName": "NotoSansNagMundari-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Nag Mundari",
+ "fullName": "Noto Sans Nag Mundari Regular",
+ "postscriptName": "NotoSansNagMundari-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansNandinagari": {
+ "familyName": "Noto Sans Nandinagari",
+ "fullName": "Noto Sans Nandinagari Regular",
+ "postscriptName": "NotoSansNandinagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Nandinagari",
+ "fullName": "Noto Sans Nandinagari Regular",
+ "postscriptName": "NotoSansNandinagari-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 900,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNewTaiLue": {
+ "familyName": "Noto Sans New Tai Lue",
+ "fullName": "Noto Sans New Tai Lue Regular",
+ "postscriptName": "NotoSansNewTaiLue-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans New Tai Lue",
+ "fullName": "Noto Sans New Tai Lue Medium",
+ "postscriptName": "NotoSansNewTaiLue-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans New Tai Lue",
+ "fullName": "Noto Sans New Tai Lue SemiBold",
+ "postscriptName": "NotoSansNewTaiLue-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans New Tai Lue",
+ "fullName": "Noto Sans New Tai Lue Bold",
+ "postscriptName": "NotoSansNewTaiLue-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans New Tai Lue",
+ "fullName": "Noto Sans New Tai Lue Regular",
+ "postscriptName": "NotoSansNewTaiLue-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNewa": {
+ "familyName": "Noto Sans Newa",
+ "fullName": "Noto Sans Newa Regular",
+ "postscriptName": "NotoSansNewa-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1036,
+ "descent": -396,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Newa",
+ "fullName": "Noto Sans Newa Regular",
+ "postscriptName": "NotoSansNewa-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1036,
+ "descent": -396,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansNushu": {
+ "familyName": "Noto Sans Nushu",
+ "fullName": "Noto Sans Nushu Regular",
+ "postscriptName": "NotoSansNushu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Nushu",
+ "fullName": "Noto Sans Nushu Regular",
+ "postscriptName": "NotoSansNushu-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -321,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOgham": {
+ "familyName": "Noto Sans Ogham",
+ "fullName": "Noto Sans Ogham Regular",
+ "postscriptName": "NotoSansOgham-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Ogham",
+ "fullName": "Noto Sans Ogham Regular",
+ "postscriptName": "NotoSansOgham-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOlChiki": {
+ "familyName": "Noto Sans Ol Chiki",
+ "fullName": "Noto Sans Ol Chiki Regular",
+ "postscriptName": "NotoSansOlChiki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Ol Chiki",
+ "fullName": "Noto Sans Ol Chiki Medium",
+ "postscriptName": "NotoSansOlChiki-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Ol Chiki",
+ "fullName": "Noto Sans Ol Chiki SemiBold",
+ "postscriptName": "NotoSansOlChiki-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Ol Chiki",
+ "fullName": "Noto Sans Ol Chiki Bold",
+ "postscriptName": "NotoSansOlChiki-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Ol Chiki",
+ "fullName": "Noto Sans Ol Chiki Regular",
+ "postscriptName": "NotoSansOlChiki-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldHungarian": {
+ "familyName": "Noto Sans Old Hungarian",
+ "fullName": "Noto Sans Old Hungarian Regular",
+ "postscriptName": "NotoSansOldHungarian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 859,
+ "descent": -177,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Hungarian",
+ "fullName": "Noto Sans Old Hungarian Regular",
+ "postscriptName": "NotoSansOldHungarian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 859,
+ "descent": -177,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 600,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldItalic": {
+ "familyName": "Noto Sans Old Italic",
+ "fullName": "Noto Sans Old Italic Regular",
+ "postscriptName": "NotoSansOldItalic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Italic",
+ "fullName": "Noto Sans Old Italic Regular",
+ "postscriptName": "NotoSansOldItalic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldNorthArabian": {
+ "familyName": "Noto Sans Old North Arabian",
+ "fullName": "Noto Sans Old North Arabian Regular",
+ "postscriptName": "NotoSansOldNorthArabian-Regular",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old North Arabian",
+ "fullName": "Noto Sans Old North Arabian Regular",
+ "postscriptName": "NotoSansOldNorthArabian-Regular",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldPermic": {
+ "familyName": "Noto Sans Old Permic",
+ "fullName": "Noto Sans Old Permic Regular",
+ "postscriptName": "NotoSansOldPermic-Regular",
+ "category": "sans-serif",
+ "capHeight": 638,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Permic",
+ "fullName": "Noto Sans Old Permic Regular",
+ "postscriptName": "NotoSansOldPermic-Regular",
+ "category": "sans-serif",
+ "capHeight": 638,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldPersian": {
+ "familyName": "Noto Sans Old Persian",
+ "fullName": "Noto Sans Old Persian Regular",
+ "postscriptName": "NotoSansOldPersian-Regular",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Persian",
+ "fullName": "Noto Sans Old Persian Regular",
+ "postscriptName": "NotoSansOldPersian-Regular",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldSogdian": {
+ "familyName": "Noto Sans Old Sogdian",
+ "fullName": "Noto Sans Old Sogdian Regular",
+ "postscriptName": "NotoSansOldSogdian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Sogdian",
+ "fullName": "Noto Sans Old Sogdian Regular",
+ "postscriptName": "NotoSansOldSogdian-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldSouthArabian": {
+ "familyName": "Noto Sans Old South Arabian",
+ "fullName": "Noto Sans Old South Arabian Regular",
+ "postscriptName": "NotoSansOldSouthArabian-Regular",
+ "category": "sans-serif",
+ "capHeight": 859,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old South Arabian",
+ "fullName": "Noto Sans Old South Arabian Regular",
+ "postscriptName": "NotoSansOldSouthArabian-Regular",
+ "category": "sans-serif",
+ "capHeight": 859,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansOldTurkic": {
+ "familyName": "Noto Sans Old Turkic",
+ "fullName": "Noto Sans Old Turkic Regular",
+ "postscriptName": "NotoSansOldTurkic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Old Turkic",
+ "fullName": "Noto Sans Old Turkic Regular",
+ "postscriptName": "NotoSansOldTurkic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOriya": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Regular",
+ "postscriptName": "NotoSansOriya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Thin",
+ "postscriptName": "NotoSansOriya-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya ExtraLight",
+ "postscriptName": "NotoSansOriya-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Light",
+ "postscriptName": "NotoSansOriya-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Medium",
+ "postscriptName": "NotoSansOriya-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya SemiBold",
+ "postscriptName": "NotoSansOriya-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Bold",
+ "postscriptName": "NotoSansOriya-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya ExtraBold",
+ "postscriptName": "NotoSansOriya-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Black",
+ "postscriptName": "NotoSansOriya-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Oriya",
+ "fullName": "Noto Sans Oriya Regular",
+ "postscriptName": "NotoSansOriya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 658,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ }
+ }
+ },
+ "notoSansOsage": {
+ "familyName": "Noto Sans Osage",
+ "fullName": "Noto Sans Osage Regular",
+ "postscriptName": "NotoSansOsage-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Osage",
+ "fullName": "Noto Sans Osage Regular",
+ "postscriptName": "NotoSansOsage-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansOsmanya": {
+ "familyName": "Noto Sans Osmanya",
+ "fullName": "Noto Sans Osmanya Regular",
+ "postscriptName": "NotoSansOsmanya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Osmanya",
+ "fullName": "Noto Sans Osmanya Regular",
+ "postscriptName": "NotoSansOsmanya-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansPahawhHmong": {
+ "familyName": "Noto Sans Pahawh Hmong",
+ "fullName": "Noto Sans Pahawh Hmong Regular",
+ "postscriptName": "NotoSansPahawhHmong-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Pahawh Hmong",
+ "fullName": "Noto Sans Pahawh Hmong Regular",
+ "postscriptName": "NotoSansPahawhHmong-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansPalmyrene": {
+ "familyName": "Noto Sans Palmyrene",
+ "fullName": "Noto Sans Palmyrene Regular",
+ "postscriptName": "NotoSansPalmyrene-Regular",
+ "category": "sans-serif",
+ "capHeight": 778,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 640,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Palmyrene",
+ "fullName": "Noto Sans Palmyrene Regular",
+ "postscriptName": "NotoSansPalmyrene-Regular",
+ "category": "sans-serif",
+ "capHeight": 778,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 640,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansPauCinHau": {
+ "familyName": "Noto Sans Pau Cin Hau",
+ "fullName": "Noto Sans Pau Cin Hau Regular",
+ "postscriptName": "NotoSansPauCinHau-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Pau Cin Hau",
+ "fullName": "Noto Sans Pau Cin Hau Regular",
+ "postscriptName": "NotoSansPauCinHau-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansPhagsPa": {
+ "familyName": "Noto Sans Phags Pa",
+ "fullName": "Noto Sans PhagsPa Regular",
+ "postscriptName": "NotoSansPhagsPa-Regular",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Phags Pa",
+ "fullName": "Noto Sans PhagsPa Regular",
+ "postscriptName": "NotoSansPhagsPa-Regular",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansPhoenician": {
+ "familyName": "Noto Sans Phoenician",
+ "fullName": "Noto Sans Phoenician Regular",
+ "postscriptName": "NotoSansPhoenician-Regular",
+ "category": "sans-serif",
+ "capHeight": 719,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Phoenician",
+ "fullName": "Noto Sans Phoenician Regular",
+ "postscriptName": "NotoSansPhoenician-Regular",
+ "category": "sans-serif",
+ "capHeight": 719,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansPsalterPahlavi": {
+ "familyName": "Noto Sans Psalter Pahlavi",
+ "fullName": "Noto Sans Psalter Pahlavi Regular",
+ "postscriptName": "NotoSansPsalterPahlavi-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 737,
+ "descent": -554,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Psalter Pahlavi",
+ "fullName": "Noto Sans Psalter Pahlavi Regular",
+ "postscriptName": "NotoSansPsalterPahlavi-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 737,
+ "descent": -554,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 469,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansRejang": {
+ "familyName": "Noto Sans Rejang",
+ "fullName": "Noto Sans Rejang Regular",
+ "postscriptName": "NotoSansRejang-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Rejang",
+ "fullName": "Noto Sans Rejang Regular",
+ "postscriptName": "NotoSansRejang-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansRunic": {
+ "familyName": "Noto Sans Runic",
+ "fullName": "Noto Sans Runic Regular",
+ "postscriptName": "NotoSansRunic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Runic",
+ "fullName": "Noto Sans Runic Regular",
+ "postscriptName": "NotoSansRunic-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSC": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Regular",
+ "postscriptName": "NotoSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Thin",
+ "postscriptName": "NotoSansSC-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC ExtraLight",
+ "postscriptName": "NotoSansSC-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Light",
+ "postscriptName": "NotoSansSC-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Medium",
+ "postscriptName": "NotoSansSC-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC SemiBold",
+ "postscriptName": "NotoSansSC-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Bold",
+ "postscriptName": "NotoSansSC-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC ExtraBold",
+ "postscriptName": "NotoSansSC-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Black",
+ "postscriptName": "NotoSansSC-Black",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans SC",
+ "fullName": "Noto Sans SC Regular",
+ "postscriptName": "NotoSansSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansSamaritan": {
+ "familyName": "Noto Sans Samaritan",
+ "fullName": "Noto Sans Samaritan Regular",
+ "postscriptName": "NotoSansSamaritan-Regular",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Samaritan",
+ "fullName": "Noto Sans Samaritan Regular",
+ "postscriptName": "NotoSansSamaritan-Regular",
+ "category": "sans-serif",
+ "capHeight": 659,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansSaurashtra": {
+ "familyName": "Noto Sans Saurashtra",
+ "fullName": "Noto Sans Saurashtra Regular",
+ "postscriptName": "NotoSansSaurashtra-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Saurashtra",
+ "fullName": "Noto Sans Saurashtra Regular",
+ "postscriptName": "NotoSansSaurashtra-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSharada": {
+ "familyName": "Noto Sans Sharada",
+ "fullName": "Noto Sans Sharada Regular",
+ "postscriptName": "NotoSansSharada-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 925,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Sharada",
+ "fullName": "Noto Sans Sharada Regular",
+ "postscriptName": "NotoSansSharada-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 925,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansShavian": {
+ "familyName": "Noto Sans Shavian",
+ "fullName": "Noto Sans Shavian Regular",
+ "postscriptName": "NotoSansShavian-Regular",
+ "category": "sans-serif",
+ "capHeight": 771,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Shavian",
+ "fullName": "Noto Sans Shavian Regular",
+ "postscriptName": "NotoSansShavian-Regular",
+ "category": "sans-serif",
+ "capHeight": 771,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansSiddham": {
+ "familyName": "Noto Sans Siddham",
+ "fullName": "Noto Sans Siddham Regular",
+ "postscriptName": "NotoSansSiddham-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1000,
+ "descent": -1030,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 683,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Siddham",
+ "fullName": "Noto Sans Siddham Regular",
+ "postscriptName": "NotoSansSiddham-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1000,
+ "descent": -1030,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 683,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSignWriting": {
+ "familyName": "Noto Sans SignWriting",
+ "fullName": "Noto Sans SignWriting Regular",
+ "postscriptName": "NotoSansSignWriting-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 802,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 588,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 588
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans SignWriting",
+ "fullName": "Noto Sans SignWriting Regular",
+ "postscriptName": "NotoSansSignWriting-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 802,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 588,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 588
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansSinhala": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Regular",
+ "postscriptName": "NotoSansSinhala-Regular",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Thin",
+ "postscriptName": "NotoSansSinhala-Thin",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala ExtraLight",
+ "postscriptName": "NotoSansSinhala-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Light",
+ "postscriptName": "NotoSansSinhala-Light",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Medium",
+ "postscriptName": "NotoSansSinhala-Medium",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala SemiBold",
+ "postscriptName": "NotoSansSinhala-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Bold",
+ "postscriptName": "NotoSansSinhala-Bold",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala ExtraBold",
+ "postscriptName": "NotoSansSinhala-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 549,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 549
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Black",
+ "postscriptName": "NotoSansSinhala-Black",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Sinhala",
+ "fullName": "Noto Sans Sinhala Regular",
+ "postscriptName": "NotoSansSinhala-Regular",
+ "category": "sans-serif",
+ "capHeight": 612,
+ "ascent": 1011,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSogdian": {
+ "familyName": "Noto Sans Sogdian",
+ "fullName": "Noto Sans Sogdian Regular",
+ "postscriptName": "NotoSansSogdian-Regular",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 382,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Sogdian",
+ "fullName": "Noto Sans Sogdian Regular",
+ "postscriptName": "NotoSansSogdian-Regular",
+ "category": "sans-serif",
+ "capHeight": 674,
+ "ascent": 1069,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 382,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSoraSompeng": {
+ "familyName": "Noto Sans Sora Sompeng",
+ "fullName": "Noto Sans Sora Sompeng Regular",
+ "postscriptName": "NotoSansSoraSompeng-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Sora Sompeng",
+ "fullName": "Noto Sans Sora Sompeng Medium",
+ "postscriptName": "NotoSansSoraSompeng-Medium",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Sora Sompeng",
+ "fullName": "Noto Sans Sora Sompeng SemiBold",
+ "postscriptName": "NotoSansSoraSompeng-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Sora Sompeng",
+ "fullName": "Noto Sans Sora Sompeng Bold",
+ "postscriptName": "NotoSansSoraSompeng-Bold",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Sora Sompeng",
+ "fullName": "Noto Sans Sora Sompeng Regular",
+ "postscriptName": "NotoSansSoraSompeng-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 433,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSoyombo": {
+ "familyName": "Noto Sans Soyombo",
+ "fullName": "Noto Sans Soyombo Regular",
+ "postscriptName": "NotoSansSoyombo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -357,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Soyombo",
+ "fullName": "Noto Sans Soyombo Regular",
+ "postscriptName": "NotoSansSoyombo-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -357,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSundanese": {
+ "familyName": "Noto Sans Sundanese",
+ "fullName": "Noto Sans Sundanese Regular",
+ "postscriptName": "NotoSansSundanese-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -368,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Sundanese",
+ "fullName": "Noto Sans Sundanese Medium",
+ "postscriptName": "NotoSansSundanese-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -368,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Sundanese",
+ "fullName": "Noto Sans Sundanese SemiBold",
+ "postscriptName": "NotoSansSundanese-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -368,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Sundanese",
+ "fullName": "Noto Sans Sundanese Bold",
+ "postscriptName": "NotoSansSundanese-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -368,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Sundanese",
+ "fullName": "Noto Sans Sundanese Regular",
+ "postscriptName": "NotoSansSundanese-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -368,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSylotiNagri": {
+ "familyName": "Noto Sans Syloti Nagri",
+ "fullName": "Noto Sans Syloti Nagri Regular",
+ "postscriptName": "NotoSansSylotiNagri-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Syloti Nagri",
+ "fullName": "Noto Sans Syloti Nagri Regular",
+ "postscriptName": "NotoSansSylotiNagri-Regular",
+ "category": "sans-serif",
+ "capHeight": 679,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSymbols": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Regular",
+ "postscriptName": "NotoSansSymbols-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Thin",
+ "postscriptName": "NotoSansSymbols-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols ExtraLight",
+ "postscriptName": "NotoSansSymbols-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Light",
+ "postscriptName": "NotoSansSymbols-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Medium",
+ "postscriptName": "NotoSansSymbols-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols SemiBold",
+ "postscriptName": "NotoSansSymbols-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Bold",
+ "postscriptName": "NotoSansSymbols-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols ExtraBold",
+ "postscriptName": "NotoSansSymbols-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Black",
+ "postscriptName": "NotoSansSymbols-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Symbols",
+ "fullName": "Noto Sans Symbols Regular",
+ "postscriptName": "NotoSansSymbols-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1480,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSymbols2": {
+ "familyName": "Noto Sans Symbols 2",
+ "fullName": "Noto Sans Symbols 2 Regular",
+ "postscriptName": "NotoSansSymbols2-Regular",
+ "category": "sans-serif",
+ "capHeight": 945,
+ "ascent": 1069,
+ "descent": -630,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Symbols 2",
+ "fullName": "Noto Sans Symbols 2 Regular",
+ "postscriptName": "NotoSansSymbols2-Regular",
+ "category": "sans-serif",
+ "capHeight": 945,
+ "ascent": 1069,
+ "descent": -630,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSyriac": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Regular",
+ "postscriptName": "NotoSansSyriac-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Thin",
+ "postscriptName": "NotoSansSyriac-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac ExtraLight",
+ "postscriptName": "NotoSansSyriac-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Light",
+ "postscriptName": "NotoSansSyriac-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Medium",
+ "postscriptName": "NotoSansSyriac-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac SemiBold",
+ "postscriptName": "NotoSansSyriac-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Bold",
+ "postscriptName": "NotoSansSyriac-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac ExtraBold",
+ "postscriptName": "NotoSansSyriac-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Black",
+ "postscriptName": "NotoSansSyriac-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Syriac",
+ "fullName": "Noto Sans Syriac Regular",
+ "postscriptName": "NotoSansSyriac-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansSyriacEastern": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Regular",
+ "postscriptName": "NotoSansSyriacEastern-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Thin",
+ "postscriptName": "NotoSansSyriacEastern-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern ExtraLight",
+ "postscriptName": "NotoSansSyriacEastern-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Light",
+ "postscriptName": "NotoSansSyriacEastern-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Medium",
+ "postscriptName": "NotoSansSyriacEastern-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern SemiBold",
+ "postscriptName": "NotoSansSyriacEastern-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Bold",
+ "postscriptName": "NotoSansSyriacEastern-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern ExtraBold",
+ "postscriptName": "NotoSansSyriacEastern-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Black",
+ "postscriptName": "NotoSansSyriacEastern-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Syriac Eastern",
+ "fullName": "Noto Sans Syriac Eastern Regular",
+ "postscriptName": "NotoSansSyriacEastern-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 926,
+ "descent": -486,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTC": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Regular",
+ "postscriptName": "NotoSansTC-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Thin",
+ "postscriptName": "NotoSansTC-Thin",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC ExtraLight",
+ "postscriptName": "NotoSansTC-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Light",
+ "postscriptName": "NotoSansTC-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Medium",
+ "postscriptName": "NotoSansTC-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC SemiBold",
+ "postscriptName": "NotoSansTC-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Bold",
+ "postscriptName": "NotoSansTC-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC ExtraBold",
+ "postscriptName": "NotoSansTC-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Black",
+ "postscriptName": "NotoSansTC-Black",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans TC",
+ "fullName": "Noto Sans TC Regular",
+ "postscriptName": "NotoSansTC-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSansTagalog": {
+ "familyName": "Noto Sans Tagalog",
+ "fullName": "Noto Sans Tagalog Regular",
+ "postscriptName": "NotoSansTagalog-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tagalog",
+ "fullName": "Noto Sans Tagalog Regular",
+ "postscriptName": "NotoSansTagalog-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTagbanwa": {
+ "familyName": "Noto Sans Tagbanwa",
+ "fullName": "Noto Sans Tagbanwa Regular",
+ "postscriptName": "NotoSansTagbanwa-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tagbanwa",
+ "fullName": "Noto Sans Tagbanwa Regular",
+ "postscriptName": "NotoSansTagbanwa-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTaiLe": {
+ "familyName": "Noto Sans Tai Le",
+ "fullName": "Noto Sans Tai Le Regular",
+ "postscriptName": "NotoSansTaiLe-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tai Le",
+ "fullName": "Noto Sans Tai Le Regular",
+ "postscriptName": "NotoSansTaiLe-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTaiTham": {
+ "familyName": "Noto Sans Tai Tham",
+ "fullName": "Noto Sans Tai Tham Regular",
+ "postscriptName": "NotoSansTaiTham-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1069,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Tai Tham",
+ "fullName": "Noto Sans Tai Tham Medium",
+ "postscriptName": "NotoSansTaiTham-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1069,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Tai Tham",
+ "fullName": "Noto Sans Tai Tham SemiBold",
+ "postscriptName": "NotoSansTaiTham-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1069,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Tai Tham",
+ "fullName": "Noto Sans Tai Tham Bold",
+ "postscriptName": "NotoSansTaiTham-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1069,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Tai Tham",
+ "fullName": "Noto Sans Tai Tham Regular",
+ "postscriptName": "NotoSansTaiTham-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1069,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ }
+ }
+ },
+ "notoSansTaiViet": {
+ "familyName": "Noto Sans Tai Viet",
+ "fullName": "Noto Sans Tai Viet Regular",
+ "postscriptName": "NotoSansTaiViet-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tai Viet",
+ "fullName": "Noto Sans Tai Viet Regular",
+ "postscriptName": "NotoSansTaiViet-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTakri": {
+ "familyName": "Noto Sans Takri",
+ "fullName": "Noto Sans Takri Regular",
+ "postscriptName": "NotoSansTakri-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 955,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Takri",
+ "fullName": "Noto Sans Takri Regular",
+ "postscriptName": "NotoSansTakri-Regular",
+ "category": "sans-serif",
+ "capHeight": 625,
+ "ascent": 955,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTamil": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Regular",
+ "postscriptName": "NotoSansTamil-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Thin",
+ "postscriptName": "NotoSansTamil-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil ExtraLight",
+ "postscriptName": "NotoSansTamil-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Light",
+ "postscriptName": "NotoSansTamil-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Medium",
+ "postscriptName": "NotoSansTamil-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil SemiBold",
+ "postscriptName": "NotoSansTamil-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Bold",
+ "postscriptName": "NotoSansTamil-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil ExtraBold",
+ "postscriptName": "NotoSansTamil-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Black",
+ "postscriptName": "NotoSansTamil-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Tamil",
+ "fullName": "Noto Sans Tamil Regular",
+ "postscriptName": "NotoSansTamil-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTamilSupplement": {
+ "familyName": "Noto Sans Tamil Supplement",
+ "fullName": "Noto Sans Tamil Supplement Regular",
+ "postscriptName": "NotoSansTamilSupplement-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tamil Supplement",
+ "fullName": "Noto Sans Tamil Supplement Regular",
+ "postscriptName": "NotoSansTamilSupplement-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 870,
+ "descent": -370,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTangsa": {
+ "familyName": "Noto Sans Tangsa",
+ "fullName": "Noto Sans Tangsa Regular",
+ "postscriptName": "NotoSansTangsa-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Tangsa",
+ "fullName": "Noto Sans Tangsa Medium",
+ "postscriptName": "NotoSansTangsa-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Tangsa",
+ "fullName": "Noto Sans Tangsa SemiBold",
+ "postscriptName": "NotoSansTangsa-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Tangsa",
+ "fullName": "Noto Sans Tangsa Bold",
+ "postscriptName": "NotoSansTangsa-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 617
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Tangsa",
+ "fullName": "Noto Sans Tangsa Regular",
+ "postscriptName": "NotoSansTangsa-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTelugu": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Regular",
+ "postscriptName": "NotoSansTelugu-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Thin",
+ "postscriptName": "NotoSansTelugu-Thin",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu ExtraLight",
+ "postscriptName": "NotoSansTelugu-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Light",
+ "postscriptName": "NotoSansTelugu-Light",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Medium",
+ "postscriptName": "NotoSansTelugu-Medium",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu SemiBold",
+ "postscriptName": "NotoSansTelugu-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Bold",
+ "postscriptName": "NotoSansTelugu-Bold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu ExtraBold",
+ "postscriptName": "NotoSansTelugu-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Black",
+ "postscriptName": "NotoSansTelugu-Black",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Telugu",
+ "fullName": "Noto Sans Telugu Regular",
+ "postscriptName": "NotoSansTelugu-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansThaana": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Regular",
+ "postscriptName": "NotoSansThaana-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Thin",
+ "postscriptName": "NotoSansThaana-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana ExtraLight",
+ "postscriptName": "NotoSansThaana-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Light",
+ "postscriptName": "NotoSansThaana-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Medium",
+ "postscriptName": "NotoSansThaana-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana SemiBold",
+ "postscriptName": "NotoSansThaana-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Bold",
+ "postscriptName": "NotoSansThaana-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana ExtraBold",
+ "postscriptName": "NotoSansThaana-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Black",
+ "postscriptName": "NotoSansThaana-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Thaana",
+ "fullName": "Noto Sans Thaana Regular",
+ "postscriptName": "NotoSansThaana-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansThai": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Regular",
+ "postscriptName": "NotoSansThai-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Thin",
+ "postscriptName": "NotoSansThai-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai ExtraLight",
+ "postscriptName": "NotoSansThai-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Light",
+ "postscriptName": "NotoSansThai-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Medium",
+ "postscriptName": "NotoSansThai-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai SemiBold",
+ "postscriptName": "NotoSansThai-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Bold",
+ "postscriptName": "NotoSansThai-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai ExtraBold",
+ "postscriptName": "NotoSansThai-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Black",
+ "postscriptName": "NotoSansThai-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Thai",
+ "fullName": "Noto Sans Thai Regular",
+ "postscriptName": "NotoSansThai-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1061,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ }
+ }
+ }
+ },
+ "notoSansThaiLooped": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Regular",
+ "postscriptName": "NotoSansThaiLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Thin",
+ "postscriptName": "NotoSansThaiLooped-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 528,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 533
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped ExtraLight",
+ "postscriptName": "NotoSansThaiLooped-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Light",
+ "postscriptName": "NotoSansThaiLooped-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Medium",
+ "postscriptName": "NotoSansThaiLooped-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped SemiBold",
+ "postscriptName": "NotoSansThaiLooped-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 592
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Bold",
+ "postscriptName": "NotoSansThaiLooped-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped ExtraBold",
+ "postscriptName": "NotoSansThaiLooped-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 549,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Black",
+ "postscriptName": "NotoSansThaiLooped-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 553,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Thai Looped",
+ "fullName": "Noto Sans Thai Looped Regular",
+ "postscriptName": "NotoSansThaiLooped-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1250,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ }
+ }
+ }
+ },
+ "notoSansTifinagh": {
+ "familyName": "Noto Sans Tifinagh",
+ "fullName": "Noto Sans Tifinagh Regular",
+ "postscriptName": "NotoSansTifinagh-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tifinagh",
+ "fullName": "Noto Sans Tifinagh Regular",
+ "postscriptName": "NotoSansTifinagh-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansTirhuta": {
+ "familyName": "Noto Sans Tirhuta",
+ "fullName": "Noto Sans Tirhuta Regular",
+ "postscriptName": "NotoSansTirhuta-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1026,
+ "descent": -519,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Tirhuta",
+ "fullName": "Noto Sans Tirhuta Regular",
+ "postscriptName": "NotoSansTirhuta-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1026,
+ "descent": -519,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansUgaritic": {
+ "familyName": "Noto Sans Ugaritic",
+ "fullName": "Noto Sans Ugaritic Regular",
+ "postscriptName": "NotoSansUgaritic-Regular",
+ "category": "sans-serif",
+ "capHeight": 723,
+ "ascent": 743,
+ "descent": -381,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Ugaritic",
+ "fullName": "Noto Sans Ugaritic Regular",
+ "postscriptName": "NotoSansUgaritic-Regular",
+ "category": "sans-serif",
+ "capHeight": 723,
+ "ascent": 743,
+ "descent": -381,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansVai": {
+ "familyName": "Noto Sans Vai",
+ "fullName": "Noto Sans Vai Regular",
+ "postscriptName": "NotoSansVai-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Vai",
+ "fullName": "Noto Sans Vai Regular",
+ "postscriptName": "NotoSansVai-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansVithkuqi": {
+ "familyName": "Noto Sans Vithkuqi",
+ "fullName": "Noto Sans Vithkuqi Regular",
+ "postscriptName": "NotoSansVithkuqi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Sans Vithkuqi",
+ "fullName": "Noto Sans Vithkuqi Medium",
+ "postscriptName": "NotoSansVithkuqi-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Sans Vithkuqi",
+ "fullName": "Noto Sans Vithkuqi SemiBold",
+ "postscriptName": "NotoSansVithkuqi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 588
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Sans Vithkuqi",
+ "fullName": "Noto Sans Vithkuqi Bold",
+ "postscriptName": "NotoSansVithkuqi-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Sans Vithkuqi",
+ "fullName": "Noto Sans Vithkuqi Regular",
+ "postscriptName": "NotoSansVithkuqi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansWancho": {
+ "familyName": "Noto Sans Wancho",
+ "fullName": "Noto Sans Wancho Regular",
+ "postscriptName": "NotoSansWancho-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1096,
+ "descent": -161,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Wancho",
+ "fullName": "Noto Sans Wancho Regular",
+ "postscriptName": "NotoSansWancho-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1096,
+ "descent": -161,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSansWarangCiti": {
+ "familyName": "Noto Sans Warang Citi",
+ "fullName": "Noto Sans Warang Citi Regular",
+ "postscriptName": "NotoSansWarangCiti-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1042,
+ "descent": -100,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Warang Citi",
+ "fullName": "Noto Sans Warang Citi Regular",
+ "postscriptName": "NotoSansWarangCiti-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1042,
+ "descent": -100,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSansYi": {
+ "familyName": "Noto Sans Yi",
+ "fullName": "Noto Sans Yi Regular",
+ "postscriptName": "NotoSansYi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 439
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Yi",
+ "fullName": "Noto Sans Yi Regular",
+ "postscriptName": "NotoSansYi-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 439
+ }
+ }
+ }
+ }
+ },
+ "notoSansZanabazarSquare": {
+ "familyName": "Noto Sans Zanabazar Square",
+ "fullName": "Noto Sans Zanabazar Square Regular",
+ "postscriptName": "NotoSansZanabazarSquare-Regular",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1621,
+ "descent": -821,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Sans Zanabazar Square",
+ "fullName": "Noto Sans Zanabazar Square Regular",
+ "postscriptName": "NotoSansZanabazarSquare-Regular",
+ "category": "sans-serif",
+ "capHeight": 678,
+ "ascent": 1621,
+ "descent": -821,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerif": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Regular",
+ "postscriptName": "NotoSerif-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Thin",
+ "postscriptName": "NotoSerif-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif ExtraLight",
+ "postscriptName": "NotoSerif-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Light",
+ "postscriptName": "NotoSerif-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Medium",
+ "postscriptName": "NotoSerif-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif SemiBold",
+ "postscriptName": "NotoSerif-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Bold",
+ "postscriptName": "NotoSerif-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif ExtraBold",
+ "postscriptName": "NotoSerif-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 592
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Black",
+ "postscriptName": "NotoSerif-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Regular",
+ "postscriptName": "NotoSerif-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Italic",
+ "postscriptName": "NotoSerif-Italic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Black Italic",
+ "postscriptName": "NotoSerif-BlackItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 552,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 552
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif ExtraBold Italic",
+ "postscriptName": "NotoSerif-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 459
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Bold Italic",
+ "postscriptName": "NotoSerif-BoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif SemiBold Italic",
+ "postscriptName": "NotoSerif-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 538
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Medium Italic",
+ "postscriptName": "NotoSerif-MediumItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Light Italic",
+ "postscriptName": "NotoSerif-LightItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif ExtraLight Italic",
+ "postscriptName": "NotoSerif-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 701
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Noto Serif",
+ "fullName": "Noto Serif Thin Italic",
+ "postscriptName": "NotoSerif-ThinItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 728
+ }
+ }
+ }
+ }
+ },
+ "notoSerifAhom": {
+ "familyName": "Noto Serif Ahom",
+ "fullName": "Noto Serif Ahom Regular",
+ "postscriptName": "NotoSerifAhom-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 980,
+ "descent": -675,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Ahom",
+ "fullName": "Noto Serif Ahom Regular",
+ "postscriptName": "NotoSerifAhom-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 980,
+ "descent": -675,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifArmenian": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Regular",
+ "postscriptName": "NotoSerifArmenian-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Thin",
+ "postscriptName": "NotoSerifArmenian-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian ExtraLight",
+ "postscriptName": "NotoSerifArmenian-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Light",
+ "postscriptName": "NotoSerifArmenian-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Medium",
+ "postscriptName": "NotoSerifArmenian-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian SemiBold",
+ "postscriptName": "NotoSerifArmenian-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Bold",
+ "postscriptName": "NotoSerifArmenian-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian ExtraBold",
+ "postscriptName": "NotoSerifArmenian-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 616
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Black",
+ "postscriptName": "NotoSerifArmenian-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Armenian",
+ "fullName": "Noto Serif Armenian Regular",
+ "postscriptName": "NotoSerifArmenian-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ }
+ }
+ },
+ "notoSerifBalinese": {
+ "familyName": "Noto Serif Balinese",
+ "fullName": "Noto Serif Balinese Regular",
+ "postscriptName": "NotoSerifBalinese-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -726,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Balinese",
+ "fullName": "Noto Serif Balinese Regular",
+ "postscriptName": "NotoSerifBalinese-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -726,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifBengali": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Regular",
+ "postscriptName": "NotoSerifBengali-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Thin",
+ "postscriptName": "NotoSerifBengali-Thin",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali ExtraLight",
+ "postscriptName": "NotoSerifBengali-ExtraLight",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Light",
+ "postscriptName": "NotoSerifBengali-Light",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Medium",
+ "postscriptName": "NotoSerifBengali-Medium",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali SemiBold",
+ "postscriptName": "NotoSerifBengali-SemiBold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Bold",
+ "postscriptName": "NotoSerifBengali-Bold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali ExtraBold",
+ "postscriptName": "NotoSerifBengali-ExtraBold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Black",
+ "postscriptName": "NotoSerifBengali-Black",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Bengali",
+ "fullName": "Noto Serif Bengali Regular",
+ "postscriptName": "NotoSerifBengali-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1092,
+ "descent": -502,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifDevanagari": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Regular",
+ "postscriptName": "NotoSerifDevanagari-Regular",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 623,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Thin",
+ "postscriptName": "NotoSerifDevanagari-Thin",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari ExtraLight",
+ "postscriptName": "NotoSerifDevanagari-ExtraLight",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Light",
+ "postscriptName": "NotoSerifDevanagari-Light",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 623,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Medium",
+ "postscriptName": "NotoSerifDevanagari-Medium",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 624,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari SemiBold",
+ "postscriptName": "NotoSerifDevanagari-SemiBold",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 624,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Bold",
+ "postscriptName": "NotoSerifDevanagari-Bold",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 625,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari ExtraBold",
+ "postscriptName": "NotoSerifDevanagari-ExtraBold",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 626,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Black",
+ "postscriptName": "NotoSerifDevanagari-Black",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 627,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Devanagari",
+ "fullName": "Noto Serif Devanagari Regular",
+ "postscriptName": "NotoSerifDevanagari-Regular",
+ "category": "serif",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -625,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 623,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ }
+ }
+ },
+ "notoSerifDisplay": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Regular",
+ "postscriptName": "NotoSerifDisplay-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Thin",
+ "postscriptName": "NotoSerifDisplay-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display ExtraLight",
+ "postscriptName": "NotoSerifDisplay-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Light",
+ "postscriptName": "NotoSerifDisplay-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Medium",
+ "postscriptName": "NotoSerifDisplay-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display SemiBold",
+ "postscriptName": "NotoSerifDisplay-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Bold",
+ "postscriptName": "NotoSerifDisplay-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display ExtraBold",
+ "postscriptName": "NotoSerifDisplay-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Black",
+ "postscriptName": "NotoSerifDisplay-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Regular",
+ "postscriptName": "NotoSerifDisplay-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Italic",
+ "postscriptName": "NotoSerifDisplay-Italic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Black Italic",
+ "postscriptName": "NotoSerifDisplay-BlackItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 544,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 544
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display ExtraBold Italic",
+ "postscriptName": "NotoSerifDisplay-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 459
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Bold Italic",
+ "postscriptName": "NotoSerifDisplay-BoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display SemiBold Italic",
+ "postscriptName": "NotoSerifDisplay-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Medium Italic",
+ "postscriptName": "NotoSerifDisplay-MediumItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Light Italic",
+ "postscriptName": "NotoSerifDisplay-LightItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display ExtraLight Italic",
+ "postscriptName": "NotoSerifDisplay-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 701
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Noto Serif Display",
+ "fullName": "Noto Serif Display Thin Italic",
+ "postscriptName": "NotoSerifDisplay-ThinItalic",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 728
+ }
+ }
+ }
+ }
+ },
+ "notoSerifDogra": {
+ "familyName": "Noto Serif Dogra",
+ "fullName": "Noto Serif Dogra Regular",
+ "postscriptName": "NotoSerifDogra-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 1130,
+ "descent": -364,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Dogra",
+ "fullName": "Noto Serif Dogra Regular",
+ "postscriptName": "NotoSerifDogra-Regular",
+ "category": "serif",
+ "capHeight": 625,
+ "ascent": 1130,
+ "descent": -364,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifEthiopic": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Regular",
+ "postscriptName": "NotoSerifEthiopic-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Thin",
+ "postscriptName": "NotoSerifEthiopic-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic ExtraLight",
+ "postscriptName": "NotoSerifEthiopic-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Light",
+ "postscriptName": "NotoSerifEthiopic-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Medium",
+ "postscriptName": "NotoSerifEthiopic-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic SemiBold",
+ "postscriptName": "NotoSerifEthiopic-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Bold",
+ "postscriptName": "NotoSerifEthiopic-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic ExtraBold",
+ "postscriptName": "NotoSerifEthiopic-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Black",
+ "postscriptName": "NotoSerifEthiopic-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Ethiopic",
+ "fullName": "Noto Serif Ethiopic Regular",
+ "postscriptName": "NotoSerifEthiopic-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifGeorgian": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Regular",
+ "postscriptName": "NotoSerifGeorgian-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Thin",
+ "postscriptName": "NotoSerifGeorgian-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian ExtraLight",
+ "postscriptName": "NotoSerifGeorgian-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Light",
+ "postscriptName": "NotoSerifGeorgian-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Medium",
+ "postscriptName": "NotoSerifGeorgian-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian SemiBold",
+ "postscriptName": "NotoSerifGeorgian-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Bold",
+ "postscriptName": "NotoSerifGeorgian-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian ExtraBold",
+ "postscriptName": "NotoSerifGeorgian-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 616
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Black",
+ "postscriptName": "NotoSerifGeorgian-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 629
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Georgian",
+ "fullName": "Noto Serif Georgian Regular",
+ "postscriptName": "NotoSerifGeorgian-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ }
+ }
+ },
+ "notoSerifGrantha": {
+ "familyName": "Noto Serif Grantha",
+ "fullName": "Noto Serif Grantha Regular",
+ "postscriptName": "NotoSerifGrantha-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1290,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Grantha",
+ "fullName": "Noto Serif Grantha Regular",
+ "postscriptName": "NotoSerifGrantha-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1290,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifGujarati": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Regular",
+ "postscriptName": "NotoSerifGujarati-Regular",
+ "category": "serif",
+ "capHeight": 592,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Thin",
+ "postscriptName": "NotoSerifGujarati-Thin",
+ "category": "serif",
+ "capHeight": 592,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati ExtraLight",
+ "postscriptName": "NotoSerifGujarati-ExtraLight",
+ "category": "serif",
+ "capHeight": 592,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Light",
+ "postscriptName": "NotoSerifGujarati-Light",
+ "category": "serif",
+ "capHeight": 592,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Medium",
+ "postscriptName": "NotoSerifGujarati-Medium",
+ "category": "serif",
+ "capHeight": 595,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati SemiBold",
+ "postscriptName": "NotoSerifGujarati-SemiBold",
+ "category": "serif",
+ "capHeight": 598,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Bold",
+ "postscriptName": "NotoSerifGujarati-Bold",
+ "category": "serif",
+ "capHeight": 602,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati ExtraBold",
+ "postscriptName": "NotoSerifGujarati-ExtraBold",
+ "category": "serif",
+ "capHeight": 602,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Black",
+ "postscriptName": "NotoSerifGujarati-Black",
+ "category": "serif",
+ "capHeight": 602,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Gujarati",
+ "fullName": "Noto Serif Gujarati Regular",
+ "postscriptName": "NotoSerifGujarati-Regular",
+ "category": "serif",
+ "capHeight": 592,
+ "ascent": 997,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifGurmukhi": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Regular",
+ "postscriptName": "NotoSerifGurmukhi-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Thin",
+ "postscriptName": "NotoSerifGurmukhi-Thin",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi ExtraLight",
+ "postscriptName": "NotoSerifGurmukhi-ExtraLight",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Light",
+ "postscriptName": "NotoSerifGurmukhi-Light",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Medium",
+ "postscriptName": "NotoSerifGurmukhi-Medium",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi SemiBold",
+ "postscriptName": "NotoSerifGurmukhi-SemiBold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Bold",
+ "postscriptName": "NotoSerifGurmukhi-Bold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi ExtraBold",
+ "postscriptName": "NotoSerifGurmukhi-ExtraBold",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Black",
+ "postscriptName": "NotoSerifGurmukhi-Black",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Gurmukhi",
+ "fullName": "Noto Serif Gurmukhi Regular",
+ "postscriptName": "NotoSerifGurmukhi-Regular",
+ "category": "serif",
+ "capHeight": 622,
+ "ascent": 1006,
+ "descent": -428,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifHK": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Regular",
+ "postscriptName": "NotoSerifHK-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK ExtraLight",
+ "postscriptName": "NotoSerifHK-ExtraLight",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Light",
+ "postscriptName": "NotoSerifHK-Light",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Medium",
+ "postscriptName": "NotoSerifHK-Medium",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK SemiBold",
+ "postscriptName": "NotoSerifHK-SemiBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Bold",
+ "postscriptName": "NotoSerifHK-Bold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK ExtraBold",
+ "postscriptName": "NotoSerifHK-ExtraBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Black",
+ "postscriptName": "NotoSerifHK-Black",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif HK",
+ "fullName": "Noto Serif HK Regular",
+ "postscriptName": "NotoSerifHK-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSerifHebrew": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Regular",
+ "postscriptName": "NotoSerifHebrew-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Thin",
+ "postscriptName": "NotoSerifHebrew-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew ExtraLight",
+ "postscriptName": "NotoSerifHebrew-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Light",
+ "postscriptName": "NotoSerifHebrew-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Medium",
+ "postscriptName": "NotoSerifHebrew-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew SemiBold",
+ "postscriptName": "NotoSerifHebrew-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Bold",
+ "postscriptName": "NotoSerifHebrew-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew ExtraBold",
+ "postscriptName": "NotoSerifHebrew-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Black",
+ "postscriptName": "NotoSerifHebrew-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Hebrew",
+ "fullName": "Noto Serif Hebrew Regular",
+ "postscriptName": "NotoSerifHebrew-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 896,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifJP": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Regular",
+ "postscriptName": "NotoSerifJP-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP ExtraLight",
+ "postscriptName": "NotoSerifJP-ExtraLight",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Light",
+ "postscriptName": "NotoSerifJP-Light",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Medium",
+ "postscriptName": "NotoSerifJP-Medium",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP SemiBold",
+ "postscriptName": "NotoSerifJP-SemiBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Bold",
+ "postscriptName": "NotoSerifJP-Bold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP ExtraBold",
+ "postscriptName": "NotoSerifJP-ExtraBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Black",
+ "postscriptName": "NotoSerifJP-Black",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif JP",
+ "fullName": "Noto Serif JP Regular",
+ "postscriptName": "NotoSerifJP-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSerifKR": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Regular",
+ "postscriptName": "NotoSerifKR-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR ExtraLight",
+ "postscriptName": "NotoSerifKR-ExtraLight",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Light",
+ "postscriptName": "NotoSerifKR-Light",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Medium",
+ "postscriptName": "NotoSerifKR-Medium",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR SemiBold",
+ "postscriptName": "NotoSerifKR-SemiBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Bold",
+ "postscriptName": "NotoSerifKR-Bold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR ExtraBold",
+ "postscriptName": "NotoSerifKR-ExtraBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Black",
+ "postscriptName": "NotoSerifKR-Black",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif KR",
+ "fullName": "Noto Serif KR Regular",
+ "postscriptName": "NotoSerifKR-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSerifKannada": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Regular",
+ "postscriptName": "NotoSerifKannada-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Thin",
+ "postscriptName": "NotoSerifKannada-Thin",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada ExtraLight",
+ "postscriptName": "NotoSerifKannada-ExtraLight",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Light",
+ "postscriptName": "NotoSerifKannada-Light",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Medium",
+ "postscriptName": "NotoSerifKannada-Medium",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada SemiBold",
+ "postscriptName": "NotoSerifKannada-SemiBold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 556,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Bold",
+ "postscriptName": "NotoSerifKannada-Bold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada ExtraBold",
+ "postscriptName": "NotoSerifKannada-ExtraBold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 564,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 585
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Black",
+ "postscriptName": "NotoSerifKannada-Black",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Kannada",
+ "fullName": "Noto Serif Kannada Regular",
+ "postscriptName": "NotoSerifKannada-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 910,
+ "descent": -710,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 601
+ }
+ }
+ }
+ }
+ },
+ "notoSerifKhitanSmallScript": {
+ "familyName": "Noto Serif Khitan Small Script",
+ "fullName": "Noto Serif Khitan Small Script Regular",
+ "postscriptName": "NotoSerifKhitanSmallScript-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2300,
+ "descent": -1700,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Khitan Small Script",
+ "fullName": "Noto Serif Khitan Small Script Regular",
+ "postscriptName": "NotoSerifKhitanSmallScript-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 2300,
+ "descent": -1700,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSerifKhmer": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Regular",
+ "postscriptName": "NotoSerifKhmer-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Thin",
+ "postscriptName": "NotoSerifKhmer-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 588
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer ExtraLight",
+ "postscriptName": "NotoSerifKhmer-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Light",
+ "postscriptName": "NotoSerifKhmer-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 613
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Medium",
+ "postscriptName": "NotoSerifKhmer-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 644
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer SemiBold",
+ "postscriptName": "NotoSerifKhmer-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Bold",
+ "postscriptName": "NotoSerifKhmer-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer ExtraBold",
+ "postscriptName": "NotoSerifKhmer-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Black",
+ "postscriptName": "NotoSerifKhmer-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Khmer",
+ "fullName": "Noto Serif Khmer Regular",
+ "postscriptName": "NotoSerifKhmer-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 634
+ }
+ }
+ }
+ }
+ },
+ "notoSerifKhojki": {
+ "familyName": "Noto Serif Khojki",
+ "fullName": "Noto Serif Khojki Regular",
+ "postscriptName": "NotoSerifKhojki-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif Khojki",
+ "fullName": "Noto Serif Khojki Medium",
+ "postscriptName": "NotoSerifKhojki-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Khojki",
+ "fullName": "Noto Serif Khojki SemiBold",
+ "postscriptName": "NotoSerifKhojki-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Khojki",
+ "fullName": "Noto Serif Khojki Bold",
+ "postscriptName": "NotoSerifKhojki-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Khojki",
+ "fullName": "Noto Serif Khojki Regular",
+ "postscriptName": "NotoSerifKhojki-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1409,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifLao": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Regular",
+ "postscriptName": "NotoSerifLao-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Thin",
+ "postscriptName": "NotoSerifLao-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao ExtraLight",
+ "postscriptName": "NotoSerifLao-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Light",
+ "postscriptName": "NotoSerifLao-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Medium",
+ "postscriptName": "NotoSerifLao-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao SemiBold",
+ "postscriptName": "NotoSerifLao-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Bold",
+ "postscriptName": "NotoSerifLao-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao ExtraBold",
+ "postscriptName": "NotoSerifLao-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Black",
+ "postscriptName": "NotoSerifLao-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Lao",
+ "fullName": "Noto Serif Lao Regular",
+ "postscriptName": "NotoSerifLao-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1174,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSerifMakasar": {
+ "familyName": "Noto Serif Makasar",
+ "fullName": "Noto Serif Makasar Regular",
+ "postscriptName": "NotoSerifMakasar-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Makasar",
+ "fullName": "Noto Serif Makasar Regular",
+ "postscriptName": "NotoSerifMakasar-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSerifMalayalam": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Regular",
+ "postscriptName": "NotoSerifMalayalam-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Thin",
+ "postscriptName": "NotoSerifMalayalam-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam ExtraLight",
+ "postscriptName": "NotoSerifMalayalam-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 616
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Light",
+ "postscriptName": "NotoSerifMalayalam-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 609
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Medium",
+ "postscriptName": "NotoSerifMalayalam-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam SemiBold",
+ "postscriptName": "NotoSerifMalayalam-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Bold",
+ "postscriptName": "NotoSerifMalayalam-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam ExtraBold",
+ "postscriptName": "NotoSerifMalayalam-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Black",
+ "postscriptName": "NotoSerifMalayalam-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Malayalam",
+ "fullName": "Noto Serif Malayalam Regular",
+ "postscriptName": "NotoSerifMalayalam-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 864,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifMyanmar": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Regular",
+ "postscriptName": "NotoSerifMyanmar-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Thin",
+ "postscriptName": "NotoSerifMyanmar-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar ExtraLight",
+ "postscriptName": "NotoSerifMyanmar-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Light",
+ "postscriptName": "NotoSerifMyanmar-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 556,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 556
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Medium",
+ "postscriptName": "NotoSerifMyanmar-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar SemiBold",
+ "postscriptName": "NotoSerifMyanmar-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Bold",
+ "postscriptName": "NotoSerifMyanmar-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar ExtraBold",
+ "postscriptName": "NotoSerifMyanmar-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Black",
+ "postscriptName": "NotoSerifMyanmar-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Myanmar",
+ "fullName": "Noto Serif Myanmar Regular",
+ "postscriptName": "NotoSerifMyanmar-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1239,
+ "descent": -1260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifNPHmong": {
+ "familyName": "Noto Serif NP Hmong",
+ "fullName": "Noto Serif NP Hmong Regular",
+ "postscriptName": "NotoSerifNPHmong-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif NP Hmong",
+ "fullName": "Noto Serif NP Hmong Medium",
+ "postscriptName": "NotoSerifNPHmong-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif NP Hmong",
+ "fullName": "Noto Serif NP Hmong SemiBold",
+ "postscriptName": "NotoSerifNPHmong-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif NP Hmong",
+ "fullName": "Noto Serif NP Hmong Bold",
+ "postscriptName": "NotoSerifNPHmong-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif NP Hmong",
+ "fullName": "Noto Serif NP Hmong Regular",
+ "postscriptName": "NotoSerifNPHmong-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifOldUyghur": {
+ "familyName": "Noto Serif Old Uyghur",
+ "fullName": "Noto Serif Old Uyghur Regular",
+ "postscriptName": "NotoSerifOldUyghur-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Old Uyghur",
+ "fullName": "Noto Serif Old Uyghur Regular",
+ "postscriptName": "NotoSerifOldUyghur-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -313,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifOriya": {
+ "familyName": "Noto Serif Oriya",
+ "fullName": "Noto Serif Oriya Regular",
+ "postscriptName": "NotoSerifOriya-Regular",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 917,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 657,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif Oriya",
+ "fullName": "Noto Serif Oriya Medium",
+ "postscriptName": "NotoSerifOriya-Medium",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 917,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 657,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Oriya",
+ "fullName": "Noto Serif Oriya SemiBold",
+ "postscriptName": "NotoSerifOriya-SemiBold",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 917,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 657,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Oriya",
+ "fullName": "Noto Serif Oriya Bold",
+ "postscriptName": "NotoSerifOriya-Bold",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 917,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 657,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Oriya",
+ "fullName": "Noto Serif Oriya Regular",
+ "postscriptName": "NotoSerifOriya-Regular",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 917,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 657,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifOttomanSiyaq": {
+ "familyName": "Noto Serif Ottoman Siyaq",
+ "fullName": "Noto Serif Ottoman Siyaq Regular",
+ "postscriptName": "NotoSerifOttomanSiyaq-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Ottoman Siyaq",
+ "fullName": "Noto Serif Ottoman Siyaq Regular",
+ "postscriptName": "NotoSerifOttomanSiyaq-Regular",
+ "category": "serif",
+ "capHeight": 0,
+ "ascent": 1069,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoSerifSC": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Regular",
+ "postscriptName": "NotoSerifSC-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC ExtraLight",
+ "postscriptName": "NotoSerifSC-ExtraLight",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Light",
+ "postscriptName": "NotoSerifSC-Light",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Medium",
+ "postscriptName": "NotoSerifSC-Medium",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC SemiBold",
+ "postscriptName": "NotoSerifSC-SemiBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Bold",
+ "postscriptName": "NotoSerifSC-Bold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC ExtraBold",
+ "postscriptName": "NotoSerifSC-ExtraBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Black",
+ "postscriptName": "NotoSerifSC-Black",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif SC",
+ "fullName": "Noto Serif SC Regular",
+ "postscriptName": "NotoSerifSC-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSerifSinhala": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Regular",
+ "postscriptName": "NotoSerifSinhala-Regular",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Thin",
+ "postscriptName": "NotoSerifSinhala-Thin",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala ExtraLight",
+ "postscriptName": "NotoSerifSinhala-ExtraLight",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Light",
+ "postscriptName": "NotoSerifSinhala-Light",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Medium",
+ "postscriptName": "NotoSerifSinhala-Medium",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala SemiBold",
+ "postscriptName": "NotoSerifSinhala-SemiBold",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Bold",
+ "postscriptName": "NotoSerifSinhala-Bold",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 549,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 549
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala ExtraBold",
+ "postscriptName": "NotoSerifSinhala-ExtraBold",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Black",
+ "postscriptName": "NotoSerifSinhala-Black",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Sinhala",
+ "fullName": "Noto Serif Sinhala Regular",
+ "postscriptName": "NotoSerifSinhala-Regular",
+ "category": "serif",
+ "capHeight": 612,
+ "ascent": 997,
+ "descent": -307,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifTC": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Regular",
+ "postscriptName": "NotoSerifTC-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC ExtraLight",
+ "postscriptName": "NotoSerifTC-ExtraLight",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Light",
+ "postscriptName": "NotoSerifTC-Light",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Medium",
+ "postscriptName": "NotoSerifTC-Medium",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC SemiBold",
+ "postscriptName": "NotoSerifTC-SemiBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Bold",
+ "postscriptName": "NotoSerifTC-Bold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC ExtraBold",
+ "postscriptName": "NotoSerifTC-ExtraBold",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Black",
+ "postscriptName": "NotoSerifTC-Black",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif TC",
+ "fullName": "Noto Serif TC Regular",
+ "postscriptName": "NotoSerifTC-Regular",
+ "category": "serif",
+ "capHeight": 729,
+ "ascent": 1151,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "notoSerifTamil": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Regular",
+ "postscriptName": "NotoSerifTamil-Regular",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Thin",
+ "postscriptName": "NotoSerifTamil-Thin",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil ExtraLight",
+ "postscriptName": "NotoSerifTamil-ExtraLight",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Light",
+ "postscriptName": "NotoSerifTamil-Light",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Medium",
+ "postscriptName": "NotoSerifTamil-Medium",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil SemiBold",
+ "postscriptName": "NotoSerifTamil-SemiBold",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Bold",
+ "postscriptName": "NotoSerifTamil-Bold",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil ExtraBold",
+ "postscriptName": "NotoSerifTamil-ExtraBold",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Black",
+ "postscriptName": "NotoSerifTamil-Black",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Regular",
+ "postscriptName": "NotoSerifTamil-Regular",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Italic",
+ "postscriptName": "NotoSerifTamil-Italic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Black Italic",
+ "postscriptName": "NotoSerifTamil-BlackItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil ExtraBold Italic",
+ "postscriptName": "NotoSerifTamil-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Bold Italic",
+ "postscriptName": "NotoSerifTamil-BoldItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil SemiBold Italic",
+ "postscriptName": "NotoSerifTamil-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Medium Italic",
+ "postscriptName": "NotoSerifTamil-MediumItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Light Italic",
+ "postscriptName": "NotoSerifTamil-LightItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil ExtraLight Italic",
+ "postscriptName": "NotoSerifTamil-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Noto Serif Tamil",
+ "fullName": "Noto Serif Tamil Thin Italic",
+ "postscriptName": "NotoSerifTamil-ThinItalic",
+ "category": "serif",
+ "capHeight": 829,
+ "ascent": 1069,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifTangut": {
+ "familyName": "Noto Serif Tangut",
+ "fullName": "Noto Serif Tangut Regular",
+ "postscriptName": "NotoSerifTangut-Regular",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 856,
+ "descent": -150,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Serif Tangut",
+ "fullName": "Noto Serif Tangut Regular",
+ "postscriptName": "NotoSerifTangut-Regular",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 856,
+ "descent": -150,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 976
+ }
+ }
+ }
+ }
+ },
+ "notoSerifTelugu": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Regular",
+ "postscriptName": "NotoSerifTelugu-Regular",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Thin",
+ "postscriptName": "NotoSerifTelugu-Thin",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu ExtraLight",
+ "postscriptName": "NotoSerifTelugu-ExtraLight",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 494,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Light",
+ "postscriptName": "NotoSerifTelugu-Light",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Medium",
+ "postscriptName": "NotoSerifTelugu-Medium",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu SemiBold",
+ "postscriptName": "NotoSerifTelugu-SemiBold",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 504,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Bold",
+ "postscriptName": "NotoSerifTelugu-Bold",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu ExtraBold",
+ "postscriptName": "NotoSerifTelugu-ExtraBold",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Black",
+ "postscriptName": "NotoSerifTelugu-Black",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 511,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Telugu",
+ "fullName": "Noto Serif Telugu Regular",
+ "postscriptName": "NotoSerifTelugu-Regular",
+ "category": "serif",
+ "capHeight": 620,
+ "ascent": 869,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifThai": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Regular",
+ "postscriptName": "NotoSerifThai-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Thin",
+ "postscriptName": "NotoSerifThai-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai ExtraLight",
+ "postscriptName": "NotoSerifThai-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 545
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Light",
+ "postscriptName": "NotoSerifThai-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Medium",
+ "postscriptName": "NotoSerifThai-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai SemiBold",
+ "postscriptName": "NotoSerifThai-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Bold",
+ "postscriptName": "NotoSerifThai-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 592
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai ExtraBold",
+ "postscriptName": "NotoSerifThai-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Black",
+ "postscriptName": "NotoSerifThai-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Thai",
+ "fullName": "Noto Serif Thai Regular",
+ "postscriptName": "NotoSerifThai-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1064,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ }
+ }
+ },
+ "notoSerifTibetan": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Regular",
+ "postscriptName": "NotoSerifTibetan-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Thin",
+ "postscriptName": "NotoSerifTibetan-Thin",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan ExtraLight",
+ "postscriptName": "NotoSerifTibetan-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Light",
+ "postscriptName": "NotoSerifTibetan-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Medium",
+ "postscriptName": "NotoSerifTibetan-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan SemiBold",
+ "postscriptName": "NotoSerifTibetan-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Bold",
+ "postscriptName": "NotoSerifTibetan-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan ExtraBold",
+ "postscriptName": "NotoSerifTibetan-ExtraBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Black",
+ "postscriptName": "NotoSerifTibetan-Black",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Tibetan",
+ "fullName": "Noto Serif Tibetan Regular",
+ "postscriptName": "NotoSerifTibetan-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1466,
+ "descent": -1349,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 678,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifToto": {
+ "familyName": "Noto Serif Toto",
+ "fullName": "Noto Serif Toto Regular",
+ "postscriptName": "NotoSerifToto-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 925,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif Toto",
+ "fullName": "Noto Serif Toto Medium",
+ "postscriptName": "NotoSerifToto-Medium",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 925,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Toto",
+ "fullName": "Noto Serif Toto SemiBold",
+ "postscriptName": "NotoSerifToto-SemiBold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 925,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Toto",
+ "fullName": "Noto Serif Toto Bold",
+ "postscriptName": "NotoSerifToto-Bold",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 925,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Toto",
+ "fullName": "Noto Serif Toto Regular",
+ "postscriptName": "NotoSerifToto-Regular",
+ "category": "serif",
+ "capHeight": 720,
+ "ascent": 925,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 622,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifVithkuqi": {
+ "familyName": "Noto Serif Vithkuqi",
+ "fullName": "Noto Serif Vithkuqi Regular",
+ "postscriptName": "NotoSerifVithkuqi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif Vithkuqi",
+ "fullName": "Noto Serif Vithkuqi Medium",
+ "postscriptName": "NotoSerifVithkuqi-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Vithkuqi",
+ "fullName": "Noto Serif Vithkuqi SemiBold",
+ "postscriptName": "NotoSerifVithkuqi-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Vithkuqi",
+ "fullName": "Noto Serif Vithkuqi Bold",
+ "postscriptName": "NotoSerifVithkuqi-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Vithkuqi",
+ "fullName": "Noto Serif Vithkuqi Regular",
+ "postscriptName": "NotoSerifVithkuqi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1069,
+ "descent": -293,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoSerifYezidi": {
+ "familyName": "Noto Serif Yezidi",
+ "fullName": "Noto Serif Yezidi Regular",
+ "postscriptName": "NotoSerifYezidi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Noto Serif Yezidi",
+ "fullName": "Noto Serif Yezidi Medium",
+ "postscriptName": "NotoSerifYezidi-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Serif Yezidi",
+ "fullName": "Noto Serif Yezidi SemiBold",
+ "postscriptName": "NotoSerifYezidi-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Serif Yezidi",
+ "fullName": "Noto Serif Yezidi Bold",
+ "postscriptName": "NotoSerifYezidi-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Serif Yezidi",
+ "fullName": "Noto Serif Yezidi Regular",
+ "postscriptName": "NotoSerifYezidi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1068,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "notoTraditionalNushu": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu Regular",
+ "postscriptName": "NotoTraditionalNushu-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu Light",
+ "postscriptName": "NotoTraditionalNushu-Light",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu Medium",
+ "postscriptName": "NotoTraditionalNushu-Medium",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu SemiBold",
+ "postscriptName": "NotoTraditionalNushu-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu Bold",
+ "postscriptName": "NotoTraditionalNushu-Bold",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 557,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 557
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Noto Traditional Nushu",
+ "fullName": "Noto Traditional Nushu Regular",
+ "postscriptName": "NotoTraditionalNushu-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1055,
+ "descent": -117,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 543,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "notoZnamennyMusicalNotation": {
+ "familyName": "Noto Znamenny Musical Notation",
+ "fullName": "Noto Znamenny Musical Notation Regular",
+ "postscriptName": "NotoZnamennyMusicalNotation-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 995,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Noto Znamenny Musical Notation",
+ "fullName": "Noto Znamenny Musical Notation Regular",
+ "postscriptName": "NotoZnamennyMusicalNotation-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 995,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "novaCut": {
+ "familyName": "Nova Cut",
+ "fullName": "Nova Cut",
+ "postscriptName": "NovaCut",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1140,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Cut",
+ "fullName": "Nova Cut",
+ "postscriptName": "NovaCut",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1140,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaFlat": {
+ "familyName": "Nova Flat",
+ "fullName": "Nova Flat",
+ "postscriptName": "NovaFlat",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Flat",
+ "fullName": "Nova Flat",
+ "postscriptName": "NovaFlat",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaMono": {
+ "familyName": "Nova Mono",
+ "fullName": "NovaMono",
+ "postscriptName": "NovaMono",
+ "category": "monospace",
+ "capHeight": 1509,
+ "ascent": 2215,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 1150,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1150
+ },
+ "thai": {
+ "xWidthAvg": 1150
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Mono",
+ "fullName": "NovaMono",
+ "postscriptName": "NovaMono",
+ "category": "monospace",
+ "capHeight": 1509,
+ "ascent": 2215,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 1150,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1150
+ },
+ "thai": {
+ "xWidthAvg": 1150
+ }
+ }
+ }
+ }
+ },
+ "novaOval": {
+ "familyName": "Nova Oval",
+ "fullName": "Nova Oval",
+ "postscriptName": "NovaOval",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Oval",
+ "fullName": "Nova Oval",
+ "postscriptName": "NovaOval",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaRound": {
+ "familyName": "Nova Round",
+ "fullName": "Nova Round",
+ "postscriptName": "NovaRound",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Round",
+ "fullName": "Nova Round",
+ "postscriptName": "NovaRound",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaScript": {
+ "familyName": "Nova Script",
+ "fullName": "Nova Script Regular",
+ "postscriptName": "NovaScript-Regular",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Script",
+ "fullName": "Nova Script Regular",
+ "postscriptName": "NovaScript-Regular",
+ "category": "display",
+ "capHeight": 1550,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaSlim": {
+ "familyName": "Nova Slim",
+ "fullName": "Nova Slim",
+ "postscriptName": "NovaSlim",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Slim",
+ "fullName": "Nova Slim",
+ "postscriptName": "NovaSlim",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1120,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "novaSquare": {
+ "familyName": "Nova Square",
+ "fullName": "Nova Square",
+ "postscriptName": "NovaSquare",
+ "category": "display",
+ "capHeight": 1510,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1100,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nova Square",
+ "fullName": "Nova Square",
+ "postscriptName": "NovaSquare",
+ "category": "display",
+ "capHeight": 1510,
+ "ascent": 1966,
+ "descent": -506,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1100,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 894
+ }
+ }
+ }
+ }
+ },
+ "numans": {
+ "familyName": "Numans",
+ "fullName": "Numans",
+ "postscriptName": "Numans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1853,
+ "descent": -553,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1093,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1093
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Numans",
+ "fullName": "Numans",
+ "postscriptName": "Numans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 1853,
+ "descent": -553,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1093,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1093
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "nunito": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Regular",
+ "postscriptName": "Nunito-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Nunito",
+ "fullName": "Nunito ExtraLight",
+ "postscriptName": "Nunito-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Light",
+ "postscriptName": "Nunito-Light",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Medium",
+ "postscriptName": "Nunito-Medium",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Nunito",
+ "fullName": "Nunito SemiBold",
+ "postscriptName": "Nunito-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Bold",
+ "postscriptName": "Nunito-Bold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Nunito",
+ "fullName": "Nunito ExtraBold",
+ "postscriptName": "Nunito-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Black",
+ "postscriptName": "Nunito-Black",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Regular",
+ "postscriptName": "Nunito-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Italic",
+ "postscriptName": "Nunito-Italic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Black Italic",
+ "postscriptName": "Nunito-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito ExtraBold Italic",
+ "postscriptName": "Nunito-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Bold Italic",
+ "postscriptName": "Nunito-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito SemiBold Italic",
+ "postscriptName": "Nunito-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Medium Italic",
+ "postscriptName": "Nunito-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito Light Italic",
+ "postscriptName": "Nunito-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Nunito",
+ "fullName": "Nunito ExtraLight Italic",
+ "postscriptName": "Nunito-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "nunitoSans": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Regular",
+ "postscriptName": "NunitoSans12pt-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt ExtraLight",
+ "postscriptName": "NunitoSans12pt-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Light",
+ "postscriptName": "NunitoSans12pt-Light",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Medium",
+ "postscriptName": "NunitoSans12pt-Medium",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt SemiBold",
+ "postscriptName": "NunitoSans12pt-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Bold",
+ "postscriptName": "NunitoSans12pt-Bold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt ExtraBold",
+ "postscriptName": "NunitoSans12pt-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Black",
+ "postscriptName": "NunitoSans12pt-Black",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Regular",
+ "postscriptName": "NunitoSans12pt-Regular",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Italic",
+ "postscriptName": "NunitoSans12pt-Italic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Black Italic",
+ "postscriptName": "NunitoSans12pt-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt ExtraBold Italic",
+ "postscriptName": "NunitoSans12pt-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Bold Italic",
+ "postscriptName": "NunitoSans12pt-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt SemiBold Italic",
+ "postscriptName": "NunitoSans12pt-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Medium Italic",
+ "postscriptName": "NunitoSans12pt-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt Light Italic",
+ "postscriptName": "NunitoSans12pt-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Nunito Sans",
+ "fullName": "Nunito Sans 12pt ExtraLight Italic",
+ "postscriptName": "NunitoSans12pt-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1011,
+ "descent": -353,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "nuosuSIL": {
+ "familyName": "Nuosu SIL",
+ "fullName": "Nuosu SIL",
+ "postscriptName": "NuosuSIL-Regular",
+ "category": "sans-serif",
+ "capHeight": 1800,
+ "ascent": 2200,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 866,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 866
+ },
+ "thai": {
+ "xWidthAvg": 1080
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Nuosu SIL",
+ "fullName": "Nuosu SIL",
+ "postscriptName": "NuosuSIL-Regular",
+ "category": "sans-serif",
+ "capHeight": 1800,
+ "ascent": 2200,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 866,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 866
+ },
+ "thai": {
+ "xWidthAvg": 1080
+ }
+ }
+ }
+ }
+ },
+ "odibeeSans": {
+ "familyName": "Odibee Sans",
+ "fullName": "Odibee Sans Regular",
+ "postscriptName": "OdibeeSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 858,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 315,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 315
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Odibee Sans",
+ "fullName": "Odibee Sans Regular",
+ "postscriptName": "OdibeeSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 858,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 315,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 315
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "odorMeanChey": {
+ "familyName": "Odor Mean Chey",
+ "fullName": "Odor Mean Chey Regular",
+ "postscriptName": "OdorMeanChey-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Odor Mean Chey",
+ "fullName": "Odor Mean Chey Regular",
+ "postscriptName": "OdorMeanChey-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "offside": {
+ "familyName": "Offside",
+ "fullName": "Offside Regular",
+ "postscriptName": "Offside-Regular",
+ "category": "display",
+ "capHeight": 740,
+ "ascent": 996,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 605,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Offside",
+ "fullName": "Offside Regular",
+ "postscriptName": "Offside-Regular",
+ "category": "display",
+ "capHeight": 740,
+ "ascent": 996,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 605,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ }
+ }
+ },
+ "oi": {
+ "familyName": "Oi",
+ "fullName": "Oi Regular",
+ "postscriptName": "Oi-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1070,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 696,
+ "xWidthAvg": 805,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 805
+ },
+ "thai": {
+ "xWidthAvg": 888
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oi",
+ "fullName": "Oi Regular",
+ "postscriptName": "Oi-Regular",
+ "category": "display",
+ "capHeight": 760,
+ "ascent": 1070,
+ "descent": -510,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 696,
+ "xWidthAvg": 805,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 805
+ },
+ "thai": {
+ "xWidthAvg": 888
+ }
+ }
+ }
+ }
+ },
+ "ojuju": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju Regular",
+ "postscriptName": "Ojuju-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 483,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju ExtraLight",
+ "postscriptName": "Ojuju-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju Light",
+ "postscriptName": "Ojuju-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 668
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju Medium",
+ "postscriptName": "Ojuju-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju SemiBold",
+ "postscriptName": "Ojuju-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju Bold",
+ "postscriptName": "Ojuju-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju ExtraBold",
+ "postscriptName": "Ojuju-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ojuju",
+ "fullName": "Ojuju Regular",
+ "postscriptName": "Ojuju-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1130,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 483,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ }
+ }
+ },
+ "oldStandardTT": {
+ "familyName": "Old Standard TT",
+ "fullName": "Old Standard TT Regular",
+ "postscriptName": "OldStandardTT-Regular",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 236,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Old Standard TT",
+ "fullName": "Old Standard TT Bold",
+ "postscriptName": "OldStandardTT-Bold",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 236,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Old Standard TT",
+ "fullName": "Old Standard TT Regular",
+ "postscriptName": "OldStandardTT-Regular",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 236,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Old Standard TT",
+ "fullName": "Old Standard TT Italic",
+ "postscriptName": "OldStandardTT-Italic",
+ "category": "serif",
+ "capHeight": 712,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 236,
+ "unitsPerEm": 1000,
+ "xHeight": 444,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "oldenburg": {
+ "familyName": "Oldenburg",
+ "fullName": "Oldenburg",
+ "postscriptName": "Oldenburg-Regular",
+ "category": "display",
+ "capHeight": 1555,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 9,
+ "unitsPerEm": 2048,
+ "xHeight": 482,
+ "xWidthAvg": 1101,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1101
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oldenburg",
+ "fullName": "Oldenburg",
+ "postscriptName": "Oldenburg-Regular",
+ "category": "display",
+ "capHeight": 1555,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 9,
+ "unitsPerEm": 2048,
+ "xHeight": 482,
+ "xWidthAvg": 1101,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1101
+ },
+ "thai": {
+ "xWidthAvg": 856
+ }
+ }
+ }
+ }
+ },
+ "ole": {
+ "familyName": "Ole",
+ "fullName": "Ole Regular",
+ "postscriptName": "Ole-Regular",
+ "category": "handwriting",
+ "capHeight": 510,
+ "ascent": 880,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 278,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 278
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ole",
+ "fullName": "Ole Regular",
+ "postscriptName": "Ole-Regular",
+ "category": "handwriting",
+ "capHeight": 510,
+ "ascent": 880,
+ "descent": -380,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 270,
+ "xWidthAvg": 278,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 278
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "oleoScript": {
+ "familyName": "Oleo Script",
+ "fullName": "Oleo Script",
+ "postscriptName": "OleoScript-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Oleo Script",
+ "fullName": "Oleo Script Bold",
+ "postscriptName": "OleoScript-Bold",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Oleo Script",
+ "fullName": "Oleo Script",
+ "postscriptName": "OleoScript-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "oleoScriptSwashCaps": {
+ "familyName": "Oleo Script Swash Caps",
+ "fullName": "Oleo Script Swash Caps",
+ "postscriptName": "OleoScriptSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 747,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Oleo Script Swash Caps",
+ "fullName": "Oleo Script Swash Caps Bold",
+ "postscriptName": "OleoScriptSwashCaps-Bold",
+ "category": "display",
+ "capHeight": 747,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Oleo Script Swash Caps",
+ "fullName": "Oleo Script Swash Caps",
+ "postscriptName": "OleoScriptSwashCaps-Regular",
+ "category": "display",
+ "capHeight": 747,
+ "ascent": 1004,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "onest": {
+ "familyName": "Onest",
+ "fullName": "Onest Regular",
+ "postscriptName": "Onest-Regular",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Onest",
+ "fullName": "Onest Thin",
+ "postscriptName": "Onest-Thin",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "200": {
+ "familyName": "Onest",
+ "fullName": "Onest ExtraLight",
+ "postscriptName": "Onest-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "300": {
+ "familyName": "Onest",
+ "fullName": "Onest Light",
+ "postscriptName": "Onest-Light",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "500": {
+ "familyName": "Onest",
+ "fullName": "Onest Medium",
+ "postscriptName": "Onest-Medium",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ },
+ "600": {
+ "familyName": "Onest",
+ "fullName": "Onest SemiBold",
+ "postscriptName": "Onest-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "700": {
+ "familyName": "Onest",
+ "fullName": "Onest Bold",
+ "postscriptName": "Onest-Bold",
+ "category": "sans-serif",
+ "capHeight": 708,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 564
+ }
+ }
+ },
+ "800": {
+ "familyName": "Onest",
+ "fullName": "Onest ExtraBold",
+ "postscriptName": "Onest-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 708,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "900": {
+ "familyName": "Onest",
+ "fullName": "Onest Black",
+ "postscriptName": "Onest-Black",
+ "category": "sans-serif",
+ "capHeight": 708,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Onest",
+ "fullName": "Onest Regular",
+ "postscriptName": "Onest-Regular",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 970,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 527,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ }
+ }
+ },
+ "ooohBaby": {
+ "familyName": "Oooh Baby",
+ "fullName": "Oooh Baby Regular",
+ "postscriptName": "OoohBaby-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 900,
+ "descent": -325,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 365,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oooh Baby",
+ "fullName": "Oooh Baby Regular",
+ "postscriptName": "OoohBaby-Regular",
+ "category": "handwriting",
+ "capHeight": 695,
+ "ascent": 900,
+ "descent": -325,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 365,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "openSans": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Regular",
+ "postscriptName": "OpenSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Light",
+ "postscriptName": "OpenSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 924,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 924
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "500": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Medium",
+ "postscriptName": "OpenSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "600": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans SemiBold",
+ "postscriptName": "OpenSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 995,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 995
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Bold",
+ "postscriptName": "OpenSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1030,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1030
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "800": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans ExtraBold",
+ "postscriptName": "OpenSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1065,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1065
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Regular",
+ "postscriptName": "OpenSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Italic",
+ "postscriptName": "OpenSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 909,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 909
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans ExtraBold Italic",
+ "postscriptName": "OpenSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 1018,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1018
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Bold Italic",
+ "postscriptName": "OpenSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans SemiBold Italic",
+ "postscriptName": "OpenSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Medium Italic",
+ "postscriptName": "OpenSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Open Sans",
+ "fullName": "Open Sans Light Italic",
+ "postscriptName": "OpenSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2189,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ }
+ }
+ },
+ "oranienbaum": {
+ "familyName": "Oranienbaum",
+ "fullName": "Oranienbaum",
+ "postscriptName": "Oranienbaum-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 240
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oranienbaum",
+ "fullName": "Oranienbaum",
+ "postscriptName": "Oranienbaum-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 895,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 240
+ }
+ }
+ }
+ }
+ },
+ "orbit": {
+ "familyName": "Orbit",
+ "fullName": "Orbit Regular",
+ "postscriptName": "Orbit-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 598,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 598
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Orbit",
+ "fullName": "Orbit Regular",
+ "postscriptName": "Orbit-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 598,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 598
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "orbitron": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron Regular",
+ "postscriptName": "Orbitron-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron Medium",
+ "postscriptName": "Orbitron-Medium",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron SemiBold",
+ "postscriptName": "Orbitron-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 561,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 561
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron Bold",
+ "postscriptName": "Orbitron-Bold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 563,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 563
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron ExtraBold",
+ "postscriptName": "Orbitron-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 565,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 565
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron Black",
+ "postscriptName": "Orbitron-Black",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 567,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 567
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Orbitron",
+ "fullName": "Orbitron Regular",
+ "postscriptName": "Orbitron-Regular",
+ "category": "sans-serif",
+ "capHeight": 720,
+ "ascent": 1011,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "oregano": {
+ "familyName": "Oregano",
+ "fullName": "Oregano",
+ "postscriptName": "Oregano-Regular",
+ "category": "display",
+ "capHeight": 1460,
+ "ascent": 1975,
+ "descent": -669,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 864,
+ "xWidthAvg": 678,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 678
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oregano",
+ "fullName": "Oregano",
+ "postscriptName": "Oregano-Regular",
+ "category": "display",
+ "capHeight": 1460,
+ "ascent": 1975,
+ "descent": -669,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 864,
+ "xWidthAvg": 678,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 678
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Oregano",
+ "fullName": "Oregano Italic",
+ "postscriptName": "Oregano-Italic",
+ "category": "display",
+ "capHeight": 1460,
+ "ascent": 1950,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 961,
+ "xWidthAvg": 758,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 758
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "orelegaOne": {
+ "familyName": "Orelega One",
+ "fullName": "Orelega One Regular",
+ "postscriptName": "OrelegaOne-Regular",
+ "category": "display",
+ "capHeight": 2480,
+ "ascent": 3296,
+ "descent": -801,
+ "lineGap": 369,
+ "unitsPerEm": 4096,
+ "xHeight": 1840,
+ "xWidthAvg": 1844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1844
+ },
+ "thai": {
+ "xWidthAvg": 1497
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Orelega One",
+ "fullName": "Orelega One Regular",
+ "postscriptName": "OrelegaOne-Regular",
+ "category": "display",
+ "capHeight": 2480,
+ "ascent": 3296,
+ "descent": -801,
+ "lineGap": 369,
+ "unitsPerEm": 4096,
+ "xHeight": 1840,
+ "xWidthAvg": 1844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1844
+ },
+ "thai": {
+ "xWidthAvg": 1497
+ }
+ }
+ }
+ }
+ },
+ "orienta": {
+ "familyName": "Orienta",
+ "fullName": "Orienta Regular",
+ "postscriptName": "Orienta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 960,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 746
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Orienta",
+ "fullName": "Orienta Regular",
+ "postscriptName": "Orienta-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 960,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 746
+ }
+ }
+ }
+ }
+ },
+ "originalSurfer": {
+ "familyName": "Original Surfer",
+ "fullName": "Original Surfer",
+ "postscriptName": "OriginalSurfer-Regular",
+ "category": "display",
+ "capHeight": 1497,
+ "ascent": 2036,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 962,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 962
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Original Surfer",
+ "fullName": "Original Surfer",
+ "postscriptName": "OriginalSurfer-Regular",
+ "category": "display",
+ "capHeight": 1497,
+ "ascent": 2036,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 987,
+ "xWidthAvg": 962,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 962
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ }
+ }
+ },
+ "oswald": {
+ "familyName": "Oswald",
+ "fullName": "Oswald Regular",
+ "postscriptName": "Oswald-Regular",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Oswald",
+ "fullName": "Oswald ExtraLight",
+ "postscriptName": "Oswald-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 325,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 325
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ },
+ "300": {
+ "familyName": "Oswald",
+ "fullName": "Oswald Light",
+ "postscriptName": "Oswald-Light",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 340,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 340
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500": {
+ "familyName": "Oswald",
+ "fullName": "Oswald Medium",
+ "postscriptName": "Oswald-Medium",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 674
+ }
+ }
+ },
+ "600": {
+ "familyName": "Oswald",
+ "fullName": "Oswald SemiBold",
+ "postscriptName": "Oswald-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ },
+ "700": {
+ "familyName": "Oswald",
+ "fullName": "Oswald Bold",
+ "postscriptName": "Oswald-Bold",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Oswald",
+ "fullName": "Oswald Regular",
+ "postscriptName": "Oswald-Regular",
+ "category": "sans-serif",
+ "capHeight": 810,
+ "ascent": 1193,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ }
+ }
+ },
+ "outfit": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Regular",
+ "postscriptName": "Outfit-Regular",
+ "category": "sans-serif",
+ "capHeight": 694,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 686
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Thin",
+ "postscriptName": "Outfit-Thin",
+ "category": "sans-serif",
+ "capHeight": 676,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "200": {
+ "familyName": "Outfit",
+ "fullName": "Outfit ExtraLight",
+ "postscriptName": "Outfit-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 682,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ },
+ "300": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Light",
+ "postscriptName": "Outfit-Light",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ },
+ "500": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Medium",
+ "postscriptName": "Outfit-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 689
+ }
+ }
+ },
+ "600": {
+ "familyName": "Outfit",
+ "fullName": "Outfit SemiBold",
+ "postscriptName": "Outfit-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 703,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 483,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ },
+ "700": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Bold",
+ "postscriptName": "Outfit-Bold",
+ "category": "sans-serif",
+ "capHeight": 706,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 677
+ }
+ }
+ },
+ "800": {
+ "familyName": "Outfit",
+ "fullName": "Outfit ExtraBold",
+ "postscriptName": "Outfit-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ },
+ "900": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Black",
+ "postscriptName": "Outfit-Black",
+ "category": "sans-serif",
+ "capHeight": 712,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 665
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Outfit",
+ "fullName": "Outfit Regular",
+ "postscriptName": "Outfit-Regular",
+ "category": "sans-serif",
+ "capHeight": 694,
+ "ascent": 1000,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 686
+ }
+ }
+ }
+ }
+ },
+ "overTheRainbow": {
+ "familyName": "Over the Rainbow",
+ "fullName": "Over the Rainbow",
+ "postscriptName": "OvertheRainbow",
+ "category": "handwriting",
+ "capHeight": 812,
+ "ascent": 1412,
+ "descent": -677,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 636,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Over the Rainbow",
+ "fullName": "Over the Rainbow",
+ "postscriptName": "OvertheRainbow",
+ "category": "handwriting",
+ "capHeight": 812,
+ "ascent": 1412,
+ "descent": -677,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 636,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "overlock": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Regular",
+ "postscriptName": "Overlock-Regular",
+ "category": "display",
+ "capHeight": 154,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 125,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Bold",
+ "postscriptName": "Overlock-Bold",
+ "category": "display",
+ "capHeight": 154,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 179,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 195
+ }
+ }
+ },
+ "900": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Black",
+ "postscriptName": "Overlock-Black",
+ "category": "display",
+ "capHeight": 153,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 153,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 149
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Regular",
+ "postscriptName": "Overlock-Regular",
+ "category": "display",
+ "capHeight": 154,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 125,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Italic",
+ "postscriptName": "Overlock-Italic",
+ "category": "display",
+ "capHeight": 257,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 75,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Black Italic",
+ "postscriptName": "Overlock-BlackItalic",
+ "category": "display",
+ "capHeight": 283,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 128,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Overlock",
+ "fullName": "Overlock Bold Italic",
+ "postscriptName": "Overlock-BoldItalic",
+ "category": "display",
+ "capHeight": 257,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 77,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "overlockSC": {
+ "familyName": "Overlock SC",
+ "fullName": "Overlock SC",
+ "postscriptName": "OverlockSC-Regular",
+ "category": "display",
+ "capHeight": 154,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 159,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Overlock SC",
+ "fullName": "Overlock SC",
+ "postscriptName": "OverlockSC-Regular",
+ "category": "display",
+ "capHeight": 154,
+ "ascent": 966,
+ "descent": -254,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 159,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "overpass": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Regular",
+ "postscriptName": "Overpass-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Thin",
+ "postscriptName": "Overpass-Thin",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 869,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 869
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "200": {
+ "familyName": "Overpass",
+ "fullName": "Overpass ExtraLight",
+ "postscriptName": "Overpass-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 878,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 878
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "300": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Light",
+ "postscriptName": "Overpass-Light",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "500": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Medium",
+ "postscriptName": "Overpass-Medium",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 913,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 913
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "600": {
+ "familyName": "Overpass",
+ "fullName": "Overpass SemiBold",
+ "postscriptName": "Overpass-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 927,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 927
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "700": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Bold",
+ "postscriptName": "Overpass-Bold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 942,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 942
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "800": {
+ "familyName": "Overpass",
+ "fullName": "Overpass ExtraBold",
+ "postscriptName": "Overpass-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "900": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Black",
+ "postscriptName": "Overpass-Black",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 972,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 972
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Regular",
+ "postscriptName": "Overpass-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Italic",
+ "postscriptName": "Overpass-Italic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 865,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 865
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Black Italic",
+ "postscriptName": "Overpass-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 904,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 904
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass ExtraBold Italic",
+ "postscriptName": "Overpass-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 896,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 896
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Bold Italic",
+ "postscriptName": "Overpass-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass SemiBold Italic",
+ "postscriptName": "Overpass-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Medium Italic",
+ "postscriptName": "Overpass-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Light Italic",
+ "postscriptName": "Overpass-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 854,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 854
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass ExtraLight Italic",
+ "postscriptName": "Overpass-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Overpass",
+ "fullName": "Overpass Thin Italic",
+ "postscriptName": "Overpass-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 834,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 834
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ }
+ }
+ },
+ "overpassMono": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono Regular",
+ "postscriptName": "OverpassMono-Regular",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono Light",
+ "postscriptName": "OverpassMono-Light",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "500": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono Medium",
+ "postscriptName": "OverpassMono-Medium",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "600": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono SemiBold",
+ "postscriptName": "OverpassMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "700": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono Bold",
+ "postscriptName": "OverpassMono-Bold",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Overpass Mono",
+ "fullName": "Overpass Mono Regular",
+ "postscriptName": "OverpassMono-Regular",
+ "category": "monospace",
+ "capHeight": 1400,
+ "ascent": 1766,
+ "descent": -766,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1022,
+ "xWidthAvg": 1232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1232
+ },
+ "thai": {
+ "xWidthAvg": 1232
+ }
+ }
+ }
+ }
+ },
+ "ovo": {
+ "familyName": "Ovo",
+ "fullName": "Ovo",
+ "postscriptName": "Ovo",
+ "category": "serif",
+ "capHeight": 210,
+ "ascent": 1770,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 356,
+ "xWidthAvg": 903,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 903
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ovo",
+ "fullName": "Ovo",
+ "postscriptName": "Ovo",
+ "category": "serif",
+ "capHeight": 210,
+ "ascent": 1770,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 356,
+ "xWidthAvg": 903,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 903
+ },
+ "thai": {
+ "xWidthAvg": 450
+ }
+ }
+ }
+ }
+ },
+ "oxanium": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium Regular",
+ "postscriptName": "Oxanium-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium ExtraLight",
+ "postscriptName": "Oxanium-ExtraLight",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 581
+ }
+ }
+ },
+ "300": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium Light",
+ "postscriptName": "Oxanium-Light",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium Medium",
+ "postscriptName": "Oxanium-Medium",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 588
+ }
+ }
+ },
+ "600": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium SemiBold",
+ "postscriptName": "Oxanium-SemiBold",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "700": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium Bold",
+ "postscriptName": "Oxanium-Bold",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ },
+ "800": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium ExtraBold",
+ "postscriptName": "Oxanium-ExtraBold",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Oxanium",
+ "fullName": "Oxanium Regular",
+ "postscriptName": "Oxanium-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ }
+ }
+ },
+ "oxygen": {
+ "familyName": "Oxygen",
+ "fullName": "Oxygen Regular",
+ "postscriptName": "Oxygen-Regular",
+ "category": "sans-serif",
+ "ascent": 2103,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Oxygen",
+ "fullName": "Oxygen Light",
+ "postscriptName": "Oxygen-Light",
+ "category": "sans-serif",
+ "ascent": 2103,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 900,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 900
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "700": {
+ "familyName": "Oxygen",
+ "fullName": "Oxygen Bold",
+ "postscriptName": "Oxygen-Bold",
+ "category": "sans-serif",
+ "ascent": 2103,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 977,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 977
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Oxygen",
+ "fullName": "Oxygen Regular",
+ "postscriptName": "Oxygen-Regular",
+ "category": "sans-serif",
+ "ascent": 2103,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 923,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 923
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "oxygenMono": {
+ "familyName": "Oxygen Mono",
+ "fullName": "Oxygen Mono",
+ "postscriptName": "OxygenMono-Regular",
+ "category": "monospace",
+ "capHeight": 1491,
+ "ascent": 2015,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1097,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Oxygen Mono",
+ "fullName": "Oxygen Mono",
+ "postscriptName": "OxygenMono-Regular",
+ "category": "monospace",
+ "capHeight": 1491,
+ "ascent": 2015,
+ "descent": -672,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1097,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "pTMono": {
+ "familyName": "PT Mono",
+ "fullName": "PT Mono",
+ "postscriptName": "PTMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "PT Mono",
+ "fullName": "PT Mono",
+ "postscriptName": "PTMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "pTSans": {
+ "familyName": "PT Sans",
+ "fullName": "PT Sans",
+ "postscriptName": "PTSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "PT Sans",
+ "fullName": "PT Sans Bold",
+ "postscriptName": "PTSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "regular": {
+ "familyName": "PT Sans",
+ "fullName": "PT Sans",
+ "postscriptName": "PTSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "italic": {
+ "familyName": "PT Sans",
+ "fullName": "PT Sans Italic",
+ "postscriptName": "PTSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "PT Sans",
+ "fullName": "PT Sans Bold Italic",
+ "postscriptName": "PTSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "pTSansCaption": {
+ "familyName": "PT Sans Caption",
+ "fullName": "PT Sans Caption",
+ "postscriptName": "PTSans-Caption",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "PT Sans Caption",
+ "fullName": "PT Sans Caption Bold",
+ "postscriptName": "PTSans-CaptionBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "regular": {
+ "familyName": "PT Sans Caption",
+ "fullName": "PT Sans Caption",
+ "postscriptName": "PTSans-Caption",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "pTSansNarrow": {
+ "familyName": "PT Sans Narrow",
+ "fullName": "PT Sans Narrow",
+ "postscriptName": "PTSans-Narrow",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "PT Sans Narrow",
+ "fullName": "PT Sans Narrow Bold",
+ "postscriptName": "PTSans-NarrowBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "regular": {
+ "familyName": "PT Sans Narrow",
+ "fullName": "PT Sans Narrow",
+ "postscriptName": "PTSans-Narrow",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -276,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 347,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 347
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "pTSerif": {
+ "familyName": "PT Serif",
+ "fullName": "PT Serif",
+ "postscriptName": "PTSerif-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "PT Serif",
+ "fullName": "PT Serif Bold",
+ "postscriptName": "PTSerif-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ },
+ "regular": {
+ "familyName": "PT Serif",
+ "fullName": "PT Serif",
+ "postscriptName": "PTSerif-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ },
+ "italic": {
+ "familyName": "PT Serif",
+ "fullName": "PT Serif Italic",
+ "postscriptName": "PTSerif-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "PT Serif",
+ "fullName": "PT Serif Bold Italic",
+ "postscriptName": "PTSerif-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ }
+ }
+ },
+ "pTSerifCaption": {
+ "familyName": "PT Serif Caption",
+ "fullName": "PT Serif Caption",
+ "postscriptName": "PTSerif-Caption",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "PT Serif Caption",
+ "fullName": "PT Serif Caption",
+ "postscriptName": "PTSerif-Caption",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ },
+ "italic": {
+ "familyName": "PT Serif Caption",
+ "fullName": "PT Serif Caption Italic",
+ "postscriptName": "PTSerif-CaptionItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1039,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 709
+ }
+ }
+ }
+ }
+ },
+ "pacifico": {
+ "familyName": "Pacifico",
+ "fullName": "Pacifico Regular",
+ "postscriptName": "Pacifico-Regular",
+ "category": "handwriting",
+ "capHeight": 840,
+ "ascent": 1303,
+ "descent": -453,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 265
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pacifico",
+ "fullName": "Pacifico Regular",
+ "postscriptName": "Pacifico-Regular",
+ "category": "handwriting",
+ "capHeight": 840,
+ "ascent": 1303,
+ "descent": -453,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 265
+ }
+ }
+ }
+ }
+ },
+ "padauk": {
+ "familyName": "Padauk",
+ "fullName": "Padauk",
+ "postscriptName": "Padauk-Regular",
+ "category": "sans-serif",
+ "capHeight": 903,
+ "ascent": 1010,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 459,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Padauk",
+ "fullName": "Padauk Bold",
+ "postscriptName": "Padauk-Bold",
+ "category": "sans-serif",
+ "capHeight": 920,
+ "ascent": 1010,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 464,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 1
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Padauk",
+ "fullName": "Padauk",
+ "postscriptName": "Padauk-Regular",
+ "category": "sans-serif",
+ "capHeight": 903,
+ "ascent": 1010,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 459,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "padyakkeExpandedOne": {
+ "familyName": "Padyakke Expanded One",
+ "fullName": "Padyakke Expanded One Regular",
+ "postscriptName": "PadyakkeExpandedOne-Regular",
+ "category": "serif",
+ "capHeight": 520,
+ "ascent": 813,
+ "descent": -628,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 674,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 674
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Padyakke Expanded One",
+ "fullName": "Padyakke Expanded One Regular",
+ "postscriptName": "PadyakkeExpandedOne-Regular",
+ "category": "serif",
+ "capHeight": 520,
+ "ascent": 813,
+ "descent": -628,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 357,
+ "xWidthAvg": 674,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 674
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "palanquin": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Regular",
+ "postscriptName": "Palanquin-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Thin",
+ "postscriptName": "Palanquin-Thin",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "200": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin ExtraLight",
+ "postscriptName": "Palanquin-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ },
+ "300": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Light",
+ "postscriptName": "Palanquin-Light",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Medium",
+ "postscriptName": "Palanquin-Medium",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 671
+ }
+ }
+ },
+ "600": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin SemiBold",
+ "postscriptName": "Palanquin-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "700": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Bold",
+ "postscriptName": "Palanquin-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Palanquin",
+ "fullName": "Palanquin Regular",
+ "postscriptName": "Palanquin-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 658
+ }
+ }
+ }
+ }
+ },
+ "palanquinDark": {
+ "familyName": "Palanquin Dark",
+ "fullName": "Palanquin Dark Regular",
+ "postscriptName": "PalanquinDark-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Palanquin Dark",
+ "fullName": "Palanquin Dark Medium",
+ "postscriptName": "PalanquinDark-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "600": {
+ "familyName": "Palanquin Dark",
+ "fullName": "Palanquin Dark SemiBold",
+ "postscriptName": "PalanquinDark-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "700": {
+ "familyName": "Palanquin Dark",
+ "fullName": "Palanquin Dark Bold",
+ "postscriptName": "PalanquinDark-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Palanquin Dark",
+ "fullName": "Palanquin Dark Regular",
+ "postscriptName": "PalanquinDark-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1320,
+ "descent": -491,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ }
+ }
+ },
+ "paletteMosaic": {
+ "familyName": "Palette Mosaic",
+ "fullName": "Palette Mosaic Regular",
+ "postscriptName": "PaletteMosaic-Regular",
+ "category": "display",
+ "capHeight": 790,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 636,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 636
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Palette Mosaic",
+ "fullName": "Palette Mosaic Regular",
+ "postscriptName": "PaletteMosaic-Regular",
+ "category": "display",
+ "capHeight": 790,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 465,
+ "xWidthAvg": 636,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 636
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "pangolin": {
+ "familyName": "Pangolin",
+ "fullName": "Pangolin Regular",
+ "postscriptName": "Pangolin-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pangolin",
+ "fullName": "Pangolin Regular",
+ "postscriptName": "Pangolin-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ }
+ }
+ },
+ "paprika": {
+ "familyName": "Paprika",
+ "fullName": "Paprika Regular",
+ "postscriptName": "Paprika-Regular",
+ "category": "display",
+ "capHeight": 889,
+ "ascent": 1145,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 689,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Paprika",
+ "fullName": "Paprika Regular",
+ "postscriptName": "Paprika-Regular",
+ "category": "display",
+ "capHeight": 889,
+ "ascent": 1145,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 689,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ }
+ }
+ },
+ "parisienne": {
+ "familyName": "Parisienne",
+ "fullName": "Parisienne",
+ "postscriptName": "Parisienne-Regular",
+ "category": "handwriting",
+ "capHeight": 1558,
+ "ascent": 1875,
+ "descent": -915,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 723,
+ "xWidthAvg": 769,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 769
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Parisienne",
+ "fullName": "Parisienne",
+ "postscriptName": "Parisienne-Regular",
+ "category": "handwriting",
+ "capHeight": 1558,
+ "ascent": 1875,
+ "descent": -915,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 723,
+ "xWidthAvg": 769,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 769
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "passeroOne": {
+ "familyName": "Passero One",
+ "fullName": "Passero One",
+ "postscriptName": "PasseroOne-Regular",
+ "category": "display",
+ "capHeight": 1323,
+ "ascent": 1820,
+ "descent": -618,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 815,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 815
+ },
+ "thai": {
+ "xWidthAvg": 1710
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Passero One",
+ "fullName": "Passero One",
+ "postscriptName": "PasseroOne-Regular",
+ "category": "display",
+ "capHeight": 1323,
+ "ascent": 1820,
+ "descent": -618,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 815,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 815
+ },
+ "thai": {
+ "xWidthAvg": 1710
+ }
+ }
+ }
+ }
+ },
+ "passionOne": {
+ "familyName": "Passion One",
+ "fullName": "Passion One Regular",
+ "postscriptName": "PassionOne-Regular",
+ "category": "display",
+ "capHeight": 621,
+ "ascent": 835,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 210
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Passion One",
+ "fullName": "Passion One Bold",
+ "postscriptName": "PassionOne-Bold",
+ "category": "display",
+ "capHeight": 621,
+ "ascent": 835,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ },
+ "900": {
+ "familyName": "Passion One",
+ "fullName": "Passion One Black",
+ "postscriptName": "PassionOne-Black",
+ "category": "display",
+ "capHeight": 621,
+ "ascent": 835,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Passion One",
+ "fullName": "Passion One Regular",
+ "postscriptName": "PassionOne-Regular",
+ "category": "display",
+ "capHeight": 621,
+ "ascent": 835,
+ "descent": -266,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 210
+ }
+ }
+ }
+ }
+ },
+ "passionsConflict": {
+ "familyName": "Passions Conflict",
+ "fullName": "Passions Conflict Regular",
+ "postscriptName": "PassionsConflict-Regular",
+ "category": "handwriting",
+ "capHeight": 475,
+ "ascent": 750,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 170,
+ "xWidthAvg": 262,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 262
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Passions Conflict",
+ "fullName": "Passions Conflict Regular",
+ "postscriptName": "PassionsConflict-Regular",
+ "category": "handwriting",
+ "capHeight": 475,
+ "ascent": 750,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 170,
+ "xWidthAvg": 262,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 262
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "pathwayExtreme": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Regular",
+ "postscriptName": "PathwayExtreme12pt-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Thin",
+ "postscriptName": "PathwayExtreme12pt-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt ExtraLight",
+ "postscriptName": "PathwayExtreme12pt-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Light",
+ "postscriptName": "PathwayExtreme12pt-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Medium",
+ "postscriptName": "PathwayExtreme12pt-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt SemiBold",
+ "postscriptName": "PathwayExtreme12pt-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Bold",
+ "postscriptName": "PathwayExtreme12pt-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt ExtraBold",
+ "postscriptName": "PathwayExtreme12pt-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Black",
+ "postscriptName": "PathwayExtreme12pt-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 607,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 607
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Regular",
+ "postscriptName": "PathwayExtreme12pt-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Italic",
+ "postscriptName": "PathwayExtreme12pt-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Black Italic",
+ "postscriptName": "PathwayExtreme12pt-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 607,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 607
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt ExtraBold Italic",
+ "postscriptName": "PathwayExtreme12pt-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Bold Italic",
+ "postscriptName": "PathwayExtreme12pt-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt SemiBold Italic",
+ "postscriptName": "PathwayExtreme12pt-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Medium Italic",
+ "postscriptName": "PathwayExtreme12pt-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Light Italic",
+ "postscriptName": "PathwayExtreme12pt-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt ExtraLight Italic",
+ "postscriptName": "PathwayExtreme12pt-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Pathway Extreme",
+ "fullName": "Pathway Extreme 12pt Thin Italic",
+ "postscriptName": "PathwayExtreme12pt-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1070,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "pathwayGothicOne": {
+ "familyName": "Pathway Gothic One",
+ "fullName": "Pathway Gothic One Regular",
+ "postscriptName": "PathwayGothicOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 954,
+ "descent": -198,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 144
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pathway Gothic One",
+ "fullName": "Pathway Gothic One Regular",
+ "postscriptName": "PathwayGothicOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 954,
+ "descent": -198,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 144
+ }
+ }
+ }
+ }
+ },
+ "patrickHand": {
+ "familyName": "Patrick Hand",
+ "fullName": "Patrick Hand",
+ "postscriptName": "PatrickHand-Regular",
+ "category": "handwriting",
+ "capHeight": 661,
+ "ascent": 1042,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 228
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Patrick Hand",
+ "fullName": "Patrick Hand",
+ "postscriptName": "PatrickHand-Regular",
+ "category": "handwriting",
+ "capHeight": 661,
+ "ascent": 1042,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 228
+ }
+ }
+ }
+ }
+ },
+ "patrickHandSC": {
+ "familyName": "Patrick Hand SC",
+ "fullName": "Patrick Hand SC",
+ "postscriptName": "PatrickHandSC-Regular",
+ "category": "handwriting",
+ "capHeight": 661,
+ "ascent": 1042,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 464,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 228
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Patrick Hand SC",
+ "fullName": "Patrick Hand SC",
+ "postscriptName": "PatrickHandSC-Regular",
+ "category": "handwriting",
+ "capHeight": 661,
+ "ascent": 1042,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 464,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 228
+ }
+ }
+ }
+ }
+ },
+ "pattaya": {
+ "familyName": "Pattaya",
+ "fullName": "Pattaya Regular",
+ "postscriptName": "Pattaya-Regular",
+ "category": "sans-serif",
+ "capHeight": 1532,
+ "ascent": 2065,
+ "descent": -777,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 803,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 803
+ },
+ "thai": {
+ "xWidthAvg": 1014
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pattaya",
+ "fullName": "Pattaya Regular",
+ "postscriptName": "Pattaya-Regular",
+ "category": "sans-serif",
+ "capHeight": 1532,
+ "ascent": 2065,
+ "descent": -777,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 803,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 803
+ },
+ "thai": {
+ "xWidthAvg": 1014
+ }
+ }
+ }
+ }
+ },
+ "patuaOne": {
+ "familyName": "Patua One",
+ "fullName": "Patua One",
+ "postscriptName": "PatuaOne-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 972,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Patua One",
+ "fullName": "Patua One",
+ "postscriptName": "PatuaOne-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 972,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "pavanam": {
+ "familyName": "Pavanam",
+ "fullName": "Pavanam Regular",
+ "postscriptName": "Pavanam-Regular",
+ "category": "sans-serif",
+ "ascent": 952,
+ "descent": -339,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 347
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pavanam",
+ "fullName": "Pavanam Regular",
+ "postscriptName": "Pavanam-Regular",
+ "category": "sans-serif",
+ "ascent": 952,
+ "descent": -339,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xWidthAvg": 391,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 391
+ },
+ "thai": {
+ "xWidthAvg": 347
+ }
+ }
+ }
+ }
+ },
+ "paytoneOne": {
+ "familyName": "Paytone One",
+ "fullName": "Paytone One Regular",
+ "postscriptName": "PaytoneOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1113,
+ "descent": -283,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Paytone One",
+ "fullName": "Paytone One Regular",
+ "postscriptName": "PaytoneOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1113,
+ "descent": -283,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 501,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ }
+ }
+ },
+ "peddana": {
+ "familyName": "Peddana",
+ "fullName": "Peddana Regular",
+ "postscriptName": "Peddana",
+ "category": "serif",
+ "capHeight": 329,
+ "ascent": 703,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 241,
+ "xWidthAvg": 235,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 235
+ },
+ "thai": {
+ "xWidthAvg": 421
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Peddana",
+ "fullName": "Peddana Regular",
+ "postscriptName": "Peddana",
+ "category": "serif",
+ "capHeight": 329,
+ "ascent": 703,
+ "descent": -518,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 241,
+ "xWidthAvg": 235,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 235
+ },
+ "thai": {
+ "xWidthAvg": 421
+ }
+ }
+ }
+ }
+ },
+ "peralta": {
+ "familyName": "Peralta",
+ "fullName": "Peralta",
+ "postscriptName": "Peralta-Regular",
+ "category": "serif",
+ "capHeight": 1479,
+ "ascent": 2004,
+ "descent": -647,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1171,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1171
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Peralta",
+ "fullName": "Peralta",
+ "postscriptName": "Peralta-Regular",
+ "category": "serif",
+ "capHeight": 1479,
+ "ascent": 2004,
+ "descent": -647,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1036,
+ "xWidthAvg": 1171,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1171
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "permanentMarker": {
+ "familyName": "Permanent Marker",
+ "fullName": "Permanent Marker Regular",
+ "postscriptName": "PermanentMarker-Regular",
+ "category": "handwriting",
+ "capHeight": 758,
+ "ascent": 1136,
+ "descent": -325,
+ "lineGap": 31,
+ "unitsPerEm": 1024,
+ "xHeight": 625,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 379
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Permanent Marker",
+ "fullName": "Permanent Marker Regular",
+ "postscriptName": "PermanentMarker-Regular",
+ "category": "handwriting",
+ "capHeight": 758,
+ "ascent": 1136,
+ "descent": -325,
+ "lineGap": 31,
+ "unitsPerEm": 1024,
+ "xHeight": 625,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 379
+ }
+ }
+ }
+ }
+ },
+ "petemoss": {
+ "familyName": "Petemoss",
+ "fullName": "Petemoss Regular",
+ "postscriptName": "Petemoss-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 305,
+ "xWidthAvg": 228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 228
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Petemoss",
+ "fullName": "Petemoss Regular",
+ "postscriptName": "Petemoss-Regular",
+ "category": "handwriting",
+ "capHeight": 480,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 305,
+ "xWidthAvg": 228,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 228
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "petitFormalScript": {
+ "familyName": "Petit Formal Script",
+ "fullName": "Petit Formal Script",
+ "postscriptName": "PetitFormalScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1609,
+ "ascent": 2033,
+ "descent": -527,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1185,
+ "xWidthAvg": 1108,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1108
+ },
+ "thai": {
+ "xWidthAvg": 1180
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Petit Formal Script",
+ "fullName": "Petit Formal Script",
+ "postscriptName": "PetitFormalScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1609,
+ "ascent": 2033,
+ "descent": -527,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1185,
+ "xWidthAvg": 1108,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1108
+ },
+ "thai": {
+ "xWidthAvg": 1180
+ }
+ }
+ }
+ }
+ },
+ "petrona": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Regular",
+ "postscriptName": "Petrona-Regular",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Thin",
+ "postscriptName": "Petrona-Thin",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "200": {
+ "familyName": "Petrona",
+ "fullName": "Petrona ExtraLight",
+ "postscriptName": "Petrona-ExtraLight",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "300": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Light",
+ "postscriptName": "Petrona-Light",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "500": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Medium",
+ "postscriptName": "Petrona-Medium",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "600": {
+ "familyName": "Petrona",
+ "fullName": "Petrona SemiBold",
+ "postscriptName": "Petrona-SemiBold",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "700": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Bold",
+ "postscriptName": "Petrona-Bold",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "800": {
+ "familyName": "Petrona",
+ "fullName": "Petrona ExtraBold",
+ "postscriptName": "Petrona-ExtraBold",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Black",
+ "postscriptName": "Petrona-Black",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Regular",
+ "postscriptName": "Petrona-Regular",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Italic",
+ "postscriptName": "Petrona-Italic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Black Italic",
+ "postscriptName": "Petrona-BlackItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona ExtraBold Italic",
+ "postscriptName": "Petrona-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Bold Italic",
+ "postscriptName": "Petrona-BoldItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona SemiBold Italic",
+ "postscriptName": "Petrona-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Medium Italic",
+ "postscriptName": "Petrona-MediumItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Light Italic",
+ "postscriptName": "Petrona-LightItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona ExtraLight Italic",
+ "postscriptName": "Petrona-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Petrona",
+ "fullName": "Petrona Thin Italic",
+ "postscriptName": "Petrona-ThinItalic",
+ "category": "serif",
+ "capHeight": 641,
+ "ascent": 858,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 443,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ }
+ }
+ },
+ "philosopher": {
+ "familyName": "Philosopher",
+ "fullName": "Philosopher Regular",
+ "postscriptName": "Philosopher-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Philosopher",
+ "fullName": "Philosopher Bold",
+ "postscriptName": "Philosopher-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Philosopher",
+ "fullName": "Philosopher Regular",
+ "postscriptName": "Philosopher-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Philosopher",
+ "fullName": "Philosopher Italic",
+ "postscriptName": "Philosopher-Italic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Philosopher",
+ "fullName": "Philosopher Bold Italic",
+ "postscriptName": "Philosopher-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 900,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "phudu": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Regular",
+ "postscriptName": "Phudu-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Light",
+ "postscriptName": "Phudu-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Medium",
+ "postscriptName": "Phudu-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Phudu",
+ "fullName": "Phudu SemiBold",
+ "postscriptName": "Phudu-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Bold",
+ "postscriptName": "Phudu-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Phudu",
+ "fullName": "Phudu ExtraBold",
+ "postscriptName": "Phudu-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Black",
+ "postscriptName": "Phudu-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Phudu",
+ "fullName": "Phudu Regular",
+ "postscriptName": "Phudu-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1025,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "piazzolla": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Regular",
+ "postscriptName": "Piazzolla-Regular",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Thin",
+ "postscriptName": "Piazzolla-Thin",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 752
+ }
+ }
+ },
+ "200": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla ExtraLight",
+ "postscriptName": "Piazzolla-ExtraLight",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 759
+ }
+ }
+ },
+ "300": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Light",
+ "postscriptName": "Piazzolla-Light",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 765
+ }
+ }
+ },
+ "500": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Medium",
+ "postscriptName": "Piazzolla-Medium",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 759
+ }
+ }
+ },
+ "600": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla SemiBold",
+ "postscriptName": "Piazzolla-SemiBold",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 735
+ }
+ }
+ },
+ "700": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Bold",
+ "postscriptName": "Piazzolla-Bold",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 706
+ }
+ }
+ },
+ "800": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla ExtraBold",
+ "postscriptName": "Piazzolla-ExtraBold",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "900": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Black",
+ "postscriptName": "Piazzolla-Black",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 626
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Regular",
+ "postscriptName": "Piazzolla-Regular",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 772
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Italic",
+ "postscriptName": "Piazzolla-Italic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 740
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Black Italic",
+ "postscriptName": "Piazzolla-BlackItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla ExtraBold Italic",
+ "postscriptName": "Piazzolla-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 670
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Bold Italic",
+ "postscriptName": "Piazzolla-BoldItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla SemiBold Italic",
+ "postscriptName": "Piazzolla-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 715
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Medium Italic",
+ "postscriptName": "Piazzolla-MediumItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 732
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Light Italic",
+ "postscriptName": "Piazzolla-LightItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla ExtraLight Italic",
+ "postscriptName": "Piazzolla-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 731
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Piazzolla",
+ "fullName": "Piazzolla Thin Italic",
+ "postscriptName": "Piazzolla-ThinItalic",
+ "category": "serif",
+ "capHeight": 644,
+ "ascent": 1110,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 726
+ }
+ }
+ }
+ }
+ },
+ "piedra": {
+ "familyName": "Piedra",
+ "fullName": "Piedra Regular",
+ "postscriptName": "Piedra-Regular",
+ "category": "display",
+ "capHeight": 655,
+ "ascent": 973,
+ "descent": -328,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 437,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Piedra",
+ "fullName": "Piedra Regular",
+ "postscriptName": "Piedra-Regular",
+ "category": "display",
+ "capHeight": 655,
+ "ascent": 973,
+ "descent": -328,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 437,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "pinyonScript": {
+ "familyName": "Pinyon Script",
+ "fullName": "Pinyon Script Regular",
+ "postscriptName": "PinyonScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1388,
+ "ascent": 1768,
+ "descent": -787,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 760,
+ "xWidthAvg": 731,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 731
+ },
+ "thai": {
+ "xWidthAvg": 2116
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pinyon Script",
+ "fullName": "Pinyon Script Regular",
+ "postscriptName": "PinyonScript-Regular",
+ "category": "handwriting",
+ "capHeight": 1388,
+ "ascent": 1768,
+ "descent": -787,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 760,
+ "xWidthAvg": 731,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 731
+ },
+ "thai": {
+ "xWidthAvg": 2116
+ }
+ }
+ }
+ }
+ },
+ "pirataOne": {
+ "familyName": "Pirata One",
+ "fullName": "Pirata One",
+ "postscriptName": "PirataOne-Regular",
+ "category": "display",
+ "capHeight": 793,
+ "ascent": 1006,
+ "descent": -279,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 594,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 220
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pirata One",
+ "fullName": "Pirata One",
+ "postscriptName": "PirataOne-Regular",
+ "category": "display",
+ "capHeight": 793,
+ "ascent": 1006,
+ "descent": -279,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 594,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 220
+ }
+ }
+ }
+ }
+ },
+ "pixelifySans": {
+ "familyName": "Pixelify Sans",
+ "fullName": "Pixelify Sans Regular",
+ "postscriptName": "PixelifySans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 701
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Pixelify Sans",
+ "fullName": "Pixelify Sans Medium",
+ "postscriptName": "PixelifySans-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 710
+ }
+ }
+ },
+ "600": {
+ "familyName": "Pixelify Sans",
+ "fullName": "Pixelify Sans SemiBold",
+ "postscriptName": "PixelifySans-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 461,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 718
+ }
+ }
+ },
+ "700": {
+ "familyName": "Pixelify Sans",
+ "fullName": "Pixelify Sans Bold",
+ "postscriptName": "PixelifySans-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 727
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Pixelify Sans",
+ "fullName": "Pixelify Sans Regular",
+ "postscriptName": "PixelifySans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 701
+ }
+ }
+ }
+ }
+ },
+ "plaster": {
+ "familyName": "Plaster",
+ "fullName": "Plaster",
+ "postscriptName": "Plaster-Regular",
+ "category": "display",
+ "capHeight": 1361,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1020,
+ "xWidthAvg": 1411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1411
+ },
+ "thai": {
+ "xWidthAvg": 1876
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Plaster",
+ "fullName": "Plaster",
+ "postscriptName": "Plaster-Regular",
+ "category": "display",
+ "capHeight": 1361,
+ "ascent": 2000,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1020,
+ "xWidthAvg": 1411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1411
+ },
+ "thai": {
+ "xWidthAvg": 1876
+ }
+ }
+ }
+ }
+ },
+ "platypi": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Regular",
+ "postscriptName": "Platypi-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Light",
+ "postscriptName": "Platypi-Light",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 603
+ }
+ }
+ },
+ "500": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Medium",
+ "postscriptName": "Platypi-Medium",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "600": {
+ "familyName": "Platypi",
+ "fullName": "Platypi SemiBold",
+ "postscriptName": "Platypi-SemiBold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 611
+ }
+ }
+ },
+ "700": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Bold",
+ "postscriptName": "Platypi-Bold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ },
+ "800": {
+ "familyName": "Platypi",
+ "fullName": "Platypi ExtraBold",
+ "postscriptName": "Platypi-ExtraBold",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 617
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Regular",
+ "postscriptName": "Platypi-Regular",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Italic",
+ "postscriptName": "Platypi-Italic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 744
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi ExtraBold Italic",
+ "postscriptName": "Platypi-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 765
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Bold Italic",
+ "postscriptName": "Platypi-BoldItalic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 760
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi SemiBold Italic",
+ "postscriptName": "Platypi-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 755
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Medium Italic",
+ "postscriptName": "Platypi-MediumItalic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 749
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Platypi",
+ "fullName": "Platypi Light Italic",
+ "postscriptName": "Platypi-LightItalic",
+ "category": "serif",
+ "capHeight": 690,
+ "ascent": 1125,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 740
+ }
+ }
+ }
+ }
+ },
+ "play": {
+ "familyName": "Play",
+ "fullName": "Play Regular",
+ "postscriptName": "Play-Regular",
+ "category": "sans-serif",
+ "capHeight": 649,
+ "ascent": 937,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Play",
+ "fullName": "Play Bold",
+ "postscriptName": "Play-Bold",
+ "category": "sans-serif",
+ "capHeight": 649,
+ "ascent": 937,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Play",
+ "fullName": "Play Regular",
+ "postscriptName": "Play-Regular",
+ "category": "sans-serif",
+ "capHeight": 649,
+ "ascent": 937,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ }
+ }
+ },
+ "playball": {
+ "familyName": "Playball",
+ "fullName": "Playball Regular",
+ "postscriptName": "Playball-Regular",
+ "category": "display",
+ "capHeight": 706,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 403,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Playball",
+ "fullName": "Playball Regular",
+ "postscriptName": "Playball-Regular",
+ "category": "display",
+ "capHeight": 706,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 403,
+ "xWidthAvg": 382,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 382
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "playfair": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Regular",
+ "postscriptName": "Playfair-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 514,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Light",
+ "postscriptName": "Playfair-Light",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 514,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "500": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Medium",
+ "postscriptName": "Playfair-Medium",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 515,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "600": {
+ "familyName": "Playfair",
+ "fullName": "Playfair SemiBold",
+ "postscriptName": "Playfair-SemiBold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 516,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "700": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Bold",
+ "postscriptName": "Playfair-Bold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 517,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "800": {
+ "familyName": "Playfair",
+ "fullName": "Playfair ExtraBold",
+ "postscriptName": "Playfair-ExtraBold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 518,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "900": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Black",
+ "postscriptName": "Playfair-Black",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 519,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Regular",
+ "postscriptName": "Playfair-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 514,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Italic",
+ "postscriptName": "Playfair-Italic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 514,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Black Italic",
+ "postscriptName": "Playfair-BlackItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 519,
+ "xWidthAvg": 571,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 571
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair ExtraBold Italic",
+ "postscriptName": "Playfair-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 518,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Bold Italic",
+ "postscriptName": "Playfair-BoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 517,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair SemiBold Italic",
+ "postscriptName": "Playfair-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 516,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Medium Italic",
+ "postscriptName": "Playfair-MediumItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 515,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Playfair",
+ "fullName": "Playfair Light Italic",
+ "postscriptName": "Playfair-LightItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1098,
+ "descent": -390,
+ "lineGap": 0,
+ "unitsPerEm": 1240,
+ "xHeight": 514,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ }
+ }
+ },
+ "playfairDisplay": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Regular",
+ "postscriptName": "PlayfairDisplay-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Medium",
+ "postscriptName": "PlayfairDisplay-Medium",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "600": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display SemiBold",
+ "postscriptName": "PlayfairDisplay-SemiBold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "700": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Bold",
+ "postscriptName": "PlayfairDisplay-Bold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "800": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display ExtraBold",
+ "postscriptName": "PlayfairDisplay-ExtraBold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Black",
+ "postscriptName": "PlayfairDisplay-Black",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Regular",
+ "postscriptName": "PlayfairDisplay-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Italic",
+ "postscriptName": "PlayfairDisplay-Italic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Black Italic",
+ "postscriptName": "PlayfairDisplay-BlackItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display ExtraBold Italic",
+ "postscriptName": "PlayfairDisplay-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Bold Italic",
+ "postscriptName": "PlayfairDisplay-BoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display SemiBold Italic",
+ "postscriptName": "PlayfairDisplay-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Playfair Display",
+ "fullName": "Playfair Display Medium Italic",
+ "postscriptName": "PlayfairDisplay-MediumItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ }
+ }
+ },
+ "playfairDisplaySC": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Regular",
+ "postscriptName": "PlayfairDisplaySC-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 549,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 549
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Bold",
+ "postscriptName": "PlayfairDisplaySC-Bold",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 569,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 569
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Black",
+ "postscriptName": "PlayfairDisplaySC-Black",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 583,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 583
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Regular",
+ "postscriptName": "PlayfairDisplaySC-Regular",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 549,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 549
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Italic",
+ "postscriptName": "PlayfairDisplaySC-Italic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 570,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 570
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Black Italic",
+ "postscriptName": "PlayfairDisplaySC-BlackItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 625,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 625
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Playfair Display SC",
+ "fullName": "Playfair Display SC Bold Italic",
+ "postscriptName": "PlayfairDisplaySC-BoldItalic",
+ "category": "serif",
+ "capHeight": 708,
+ "ascent": 1082,
+ "descent": -251,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 603,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 603
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ }
+ }
+ },
+ "playpenSans": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Regular",
+ "postscriptName": "PlaypenSans-Regular",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Thin",
+ "postscriptName": "PlaypenSans-Thin",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 694
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans ExtraLight",
+ "postscriptName": "PlaypenSans-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Light",
+ "postscriptName": "PlaypenSans-Light",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 533,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 687
+ }
+ }
+ },
+ "500": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Medium",
+ "postscriptName": "PlaypenSans-Medium",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 682
+ }
+ }
+ },
+ "600": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans SemiBold",
+ "postscriptName": "PlaypenSans-SemiBold",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 681
+ }
+ }
+ },
+ "700": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Bold",
+ "postscriptName": "PlaypenSans-Bold",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ },
+ "800": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans ExtraBold",
+ "postscriptName": "PlaypenSans-ExtraBold",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 678
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playpen Sans",
+ "fullName": "Playpen Sans Regular",
+ "postscriptName": "PlaypenSans-Regular",
+ "category": "handwriting",
+ "capHeight": 764,
+ "ascent": 1170,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 537,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ }
+ }
+ },
+ "playwriteAR": {
+ "familyName": "Playwrite AR",
+ "fullName": "Playwrite AR Regular",
+ "postscriptName": "PlaywriteAR-Regular",
+ "category": "handwriting",
+ "capHeight": 1065,
+ "ascent": 1508,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 983
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AR",
+ "fullName": "Playwrite AR Thin",
+ "postscriptName": "PlaywriteAR-Thin",
+ "category": "handwriting",
+ "capHeight": 1065,
+ "ascent": 1508,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 983
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AR",
+ "fullName": "Playwrite AR ExtraLight",
+ "postscriptName": "PlaywriteAR-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1065,
+ "ascent": 1508,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 983
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AR",
+ "fullName": "Playwrite AR Light",
+ "postscriptName": "PlaywriteAR-Light",
+ "category": "handwriting",
+ "capHeight": 1065,
+ "ascent": 1508,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 983
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AR",
+ "fullName": "Playwrite AR Regular",
+ "postscriptName": "PlaywriteAR-Regular",
+ "category": "handwriting",
+ "capHeight": 1065,
+ "ascent": 1508,
+ "descent": -571,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 983
+ }
+ }
+ }
+ }
+ },
+ "playwriteAT": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Regular",
+ "postscriptName": "PlaywriteAT-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Thin",
+ "postscriptName": "PlaywriteAT-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT ExtraLight",
+ "postscriptName": "PlaywriteAT-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Light",
+ "postscriptName": "PlaywriteAT-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Regular",
+ "postscriptName": "PlaywriteAT-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Italic",
+ "postscriptName": "PlaywriteAT-Italic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Light Italic",
+ "postscriptName": "PlaywriteAT-LightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT ExtraLight Italic",
+ "postscriptName": "PlaywriteAT-ExtraLightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Playwrite AT",
+ "fullName": "Playwrite AT Thin Italic",
+ "postscriptName": "PlaywriteAT-ThinItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ }
+ }
+ },
+ "playwriteAUNSW": {
+ "familyName": "Playwrite AU NSW",
+ "fullName": "Playwrite AU NSW Regular",
+ "postscriptName": "PlaywriteAUNSW-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AU NSW",
+ "fullName": "Playwrite AU NSW Thin",
+ "postscriptName": "PlaywriteAUNSW-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AU NSW",
+ "fullName": "Playwrite AU NSW ExtraLight",
+ "postscriptName": "PlaywriteAUNSW-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AU NSW",
+ "fullName": "Playwrite AU NSW Light",
+ "postscriptName": "PlaywriteAUNSW-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AU NSW",
+ "fullName": "Playwrite AU NSW Regular",
+ "postscriptName": "PlaywriteAUNSW-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteAUQLD": {
+ "familyName": "Playwrite AU QLD",
+ "fullName": "Playwrite AU QLD Regular",
+ "postscriptName": "PlaywriteAUQLD-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AU QLD",
+ "fullName": "Playwrite AU QLD Thin",
+ "postscriptName": "PlaywriteAUQLD-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AU QLD",
+ "fullName": "Playwrite AU QLD ExtraLight",
+ "postscriptName": "PlaywriteAUQLD-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AU QLD",
+ "fullName": "Playwrite AU QLD Light",
+ "postscriptName": "PlaywriteAUQLD-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AU QLD",
+ "fullName": "Playwrite AU QLD Regular",
+ "postscriptName": "PlaywriteAUQLD-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteAUSA": {
+ "familyName": "Playwrite AU SA",
+ "fullName": "Playwrite AU SA Regular",
+ "postscriptName": "PlaywriteAUSA-Regular",
+ "category": "handwriting",
+ "capHeight": 988,
+ "ascent": 1413,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 927
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AU SA",
+ "fullName": "Playwrite AU SA Thin",
+ "postscriptName": "PlaywriteAUSA-Thin",
+ "category": "handwriting",
+ "capHeight": 988,
+ "ascent": 1413,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 928
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AU SA",
+ "fullName": "Playwrite AU SA ExtraLight",
+ "postscriptName": "PlaywriteAUSA-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 988,
+ "ascent": 1413,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 928
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AU SA",
+ "fullName": "Playwrite AU SA Light",
+ "postscriptName": "PlaywriteAUSA-Light",
+ "category": "handwriting",
+ "capHeight": 988,
+ "ascent": 1413,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 927
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AU SA",
+ "fullName": "Playwrite AU SA Regular",
+ "postscriptName": "PlaywriteAUSA-Regular",
+ "category": "handwriting",
+ "capHeight": 988,
+ "ascent": 1413,
+ "descent": -492,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 509,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 509
+ },
+ "thai": {
+ "xWidthAvg": 927
+ }
+ }
+ }
+ }
+ },
+ "playwriteAUTAS": {
+ "familyName": "Playwrite AU TAS",
+ "fullName": "Playwrite AU TAS Regular",
+ "postscriptName": "PlaywriteAUTAS-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AU TAS",
+ "fullName": "Playwrite AU TAS Thin",
+ "postscriptName": "PlaywriteAUTAS-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AU TAS",
+ "fullName": "Playwrite AU TAS ExtraLight",
+ "postscriptName": "PlaywriteAUTAS-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AU TAS",
+ "fullName": "Playwrite AU TAS Light",
+ "postscriptName": "PlaywriteAUTAS-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AU TAS",
+ "fullName": "Playwrite AU TAS Regular",
+ "postscriptName": "PlaywriteAUTAS-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteAUVIC": {
+ "familyName": "Playwrite AU VIC",
+ "fullName": "Playwrite AU VIC Regular",
+ "postscriptName": "PlaywriteAUVIC-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite AU VIC",
+ "fullName": "Playwrite AU VIC Thin",
+ "postscriptName": "PlaywriteAUVIC-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite AU VIC",
+ "fullName": "Playwrite AU VIC ExtraLight",
+ "postscriptName": "PlaywriteAUVIC-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite AU VIC",
+ "fullName": "Playwrite AU VIC Light",
+ "postscriptName": "PlaywriteAUVIC-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite AU VIC",
+ "fullName": "Playwrite AU VIC Regular",
+ "postscriptName": "PlaywriteAUVIC-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteBEVLG": {
+ "familyName": "Playwrite BE VLG",
+ "fullName": "Playwrite BE VLG Regular",
+ "postscriptName": "PlaywriteBEVLG-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite BE VLG",
+ "fullName": "Playwrite BE VLG Thin",
+ "postscriptName": "PlaywriteBEVLG-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite BE VLG",
+ "fullName": "Playwrite BE VLG ExtraLight",
+ "postscriptName": "PlaywriteBEVLG-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite BE VLG",
+ "fullName": "Playwrite BE VLG Light",
+ "postscriptName": "PlaywriteBEVLG-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite BE VLG",
+ "fullName": "Playwrite BE VLG Regular",
+ "postscriptName": "PlaywriteBEVLG-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteBEWAL": {
+ "familyName": "Playwrite BE WAL",
+ "fullName": "Playwrite BE WAL Regular",
+ "postscriptName": "PlaywriteBEWAL-Regular",
+ "category": "handwriting",
+ "capHeight": 1405,
+ "ascent": 1924,
+ "descent": -922,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite BE WAL",
+ "fullName": "Playwrite BE WAL Thin",
+ "postscriptName": "PlaywriteBEWAL-Thin",
+ "category": "handwriting",
+ "capHeight": 1405,
+ "ascent": 1924,
+ "descent": -922,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite BE WAL",
+ "fullName": "Playwrite BE WAL ExtraLight",
+ "postscriptName": "PlaywriteBEWAL-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1405,
+ "ascent": 1924,
+ "descent": -922,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite BE WAL",
+ "fullName": "Playwrite BE WAL Light",
+ "postscriptName": "PlaywriteBEWAL-Light",
+ "category": "handwriting",
+ "capHeight": 1405,
+ "ascent": 1924,
+ "descent": -922,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite BE WAL",
+ "fullName": "Playwrite BE WAL Regular",
+ "postscriptName": "PlaywriteBEWAL-Regular",
+ "category": "handwriting",
+ "capHeight": 1405,
+ "ascent": 1924,
+ "descent": -922,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 546,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 546
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ }
+ }
+ }
+ },
+ "playwriteBR": {
+ "familyName": "Playwrite BR",
+ "fullName": "Playwrite BR Regular",
+ "postscriptName": "PlaywriteBR-Regular",
+ "category": "handwriting",
+ "capHeight": 1131,
+ "ascent": 1588,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite BR",
+ "fullName": "Playwrite BR Thin",
+ "postscriptName": "PlaywriteBR-Thin",
+ "category": "handwriting",
+ "capHeight": 1131,
+ "ascent": 1588,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite BR",
+ "fullName": "Playwrite BR ExtraLight",
+ "postscriptName": "PlaywriteBR-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1131,
+ "ascent": 1588,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite BR",
+ "fullName": "Playwrite BR Light",
+ "postscriptName": "PlaywriteBR-Light",
+ "category": "handwriting",
+ "capHeight": 1131,
+ "ascent": 1588,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite BR",
+ "fullName": "Playwrite BR Regular",
+ "postscriptName": "PlaywriteBR-Regular",
+ "category": "handwriting",
+ "capHeight": 1131,
+ "ascent": 1588,
+ "descent": -639,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 1031
+ }
+ }
+ }
+ }
+ },
+ "playwriteCA": {
+ "familyName": "Playwrite CA",
+ "fullName": "Playwrite CA Regular",
+ "postscriptName": "PlaywriteCA-Regular",
+ "category": "handwriting",
+ "capHeight": 996,
+ "ascent": 1423,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 932
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite CA",
+ "fullName": "Playwrite CA Thin",
+ "postscriptName": "PlaywriteCA-Thin",
+ "category": "handwriting",
+ "capHeight": 996,
+ "ascent": 1423,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 933
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite CA",
+ "fullName": "Playwrite CA ExtraLight",
+ "postscriptName": "PlaywriteCA-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 996,
+ "ascent": 1423,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 933
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite CA",
+ "fullName": "Playwrite CA Light",
+ "postscriptName": "PlaywriteCA-Light",
+ "category": "handwriting",
+ "capHeight": 996,
+ "ascent": 1423,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 932
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite CA",
+ "fullName": "Playwrite CA Regular",
+ "postscriptName": "PlaywriteCA-Regular",
+ "category": "handwriting",
+ "capHeight": 996,
+ "ascent": 1423,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 932
+ }
+ }
+ }
+ }
+ },
+ "playwriteCL": {
+ "familyName": "Playwrite CL",
+ "fullName": "Playwrite CL Regular",
+ "postscriptName": "PlaywriteCL-Regular",
+ "category": "handwriting",
+ "capHeight": 1133,
+ "ascent": 1591,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite CL",
+ "fullName": "Playwrite CL Thin",
+ "postscriptName": "PlaywriteCL-Thin",
+ "category": "handwriting",
+ "capHeight": 1133,
+ "ascent": 1591,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite CL",
+ "fullName": "Playwrite CL ExtraLight",
+ "postscriptName": "PlaywriteCL-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1133,
+ "ascent": 1591,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite CL",
+ "fullName": "Playwrite CL Light",
+ "postscriptName": "PlaywriteCL-Light",
+ "category": "handwriting",
+ "capHeight": 1133,
+ "ascent": 1591,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite CL",
+ "fullName": "Playwrite CL Regular",
+ "postscriptName": "PlaywriteCL-Regular",
+ "category": "handwriting",
+ "capHeight": 1133,
+ "ascent": 1591,
+ "descent": -641,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ }
+ }
+ },
+ "playwriteCO": {
+ "familyName": "Playwrite CO",
+ "fullName": "Playwrite CO Regular",
+ "postscriptName": "PlaywriteCO-Regular",
+ "category": "handwriting",
+ "capHeight": 1020,
+ "ascent": 1452,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 950
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite CO",
+ "fullName": "Playwrite CO Thin",
+ "postscriptName": "PlaywriteCO-Thin",
+ "category": "handwriting",
+ "capHeight": 1020,
+ "ascent": 1452,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 951
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite CO",
+ "fullName": "Playwrite CO ExtraLight",
+ "postscriptName": "PlaywriteCO-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1020,
+ "ascent": 1452,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 951
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite CO",
+ "fullName": "Playwrite CO Light",
+ "postscriptName": "PlaywriteCO-Light",
+ "category": "handwriting",
+ "capHeight": 1020,
+ "ascent": 1452,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 950
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite CO",
+ "fullName": "Playwrite CO Regular",
+ "postscriptName": "PlaywriteCO-Regular",
+ "category": "handwriting",
+ "capHeight": 1020,
+ "ascent": 1452,
+ "descent": -525,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 950
+ }
+ }
+ }
+ }
+ },
+ "playwriteCU": {
+ "familyName": "Playwrite CU",
+ "fullName": "Playwrite CU Regular",
+ "postscriptName": "PlaywriteCU-Regular",
+ "category": "handwriting",
+ "capHeight": 1115,
+ "ascent": 1569,
+ "descent": -623,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1019
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite CU",
+ "fullName": "Playwrite CU Thin",
+ "postscriptName": "PlaywriteCU-Thin",
+ "category": "handwriting",
+ "capHeight": 1115,
+ "ascent": 1569,
+ "descent": -623,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1020
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite CU",
+ "fullName": "Playwrite CU ExtraLight",
+ "postscriptName": "PlaywriteCU-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1115,
+ "ascent": 1569,
+ "descent": -623,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1020
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite CU",
+ "fullName": "Playwrite CU Light",
+ "postscriptName": "PlaywriteCU-Light",
+ "category": "handwriting",
+ "capHeight": 1115,
+ "ascent": 1569,
+ "descent": -623,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1019
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite CU",
+ "fullName": "Playwrite CU Regular",
+ "postscriptName": "PlaywriteCU-Regular",
+ "category": "handwriting",
+ "capHeight": 1115,
+ "ascent": 1569,
+ "descent": -623,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 1019
+ }
+ }
+ }
+ }
+ },
+ "playwriteCZ": {
+ "familyName": "Playwrite CZ",
+ "fullName": "Playwrite CZ Regular",
+ "postscriptName": "PlaywriteCZ-Regular",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite CZ",
+ "fullName": "Playwrite CZ Thin",
+ "postscriptName": "PlaywriteCZ-Thin",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 925
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite CZ",
+ "fullName": "Playwrite CZ ExtraLight",
+ "postscriptName": "PlaywriteCZ-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 925
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite CZ",
+ "fullName": "Playwrite CZ Light",
+ "postscriptName": "PlaywriteCZ-Light",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite CZ",
+ "fullName": "Playwrite CZ Regular",
+ "postscriptName": "PlaywriteCZ-Regular",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ }
+ }
+ }
+ },
+ "playwriteDEGrund": {
+ "familyName": "Playwrite DE Grund",
+ "fullName": "Playwrite DE Grund Regular",
+ "postscriptName": "PlaywriteDEGrund-Regular",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DE Grund",
+ "fullName": "Playwrite DE Grund Thin",
+ "postscriptName": "PlaywriteDEGrund-Thin",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DE Grund",
+ "fullName": "Playwrite DE Grund ExtraLight",
+ "postscriptName": "PlaywriteDEGrund-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DE Grund",
+ "fullName": "Playwrite DE Grund Light",
+ "postscriptName": "PlaywriteDEGrund-Light",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DE Grund",
+ "fullName": "Playwrite DE Grund Regular",
+ "postscriptName": "PlaywriteDEGrund-Regular",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ }
+ }
+ },
+ "playwriteDELA": {
+ "familyName": "Playwrite DE LA",
+ "fullName": "Playwrite DE LA Regular",
+ "postscriptName": "PlaywriteDELA-Regular",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 877
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DE LA",
+ "fullName": "Playwrite DE LA Thin",
+ "postscriptName": "PlaywriteDELA-Thin",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DE LA",
+ "fullName": "Playwrite DE LA ExtraLight",
+ "postscriptName": "PlaywriteDELA-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DE LA",
+ "fullName": "Playwrite DE LA Light",
+ "postscriptName": "PlaywriteDELA-Light",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 877
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DE LA",
+ "fullName": "Playwrite DE LA Regular",
+ "postscriptName": "PlaywriteDELA-Regular",
+ "category": "handwriting",
+ "capHeight": 920,
+ "ascent": 1330,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 877
+ }
+ }
+ }
+ }
+ },
+ "playwriteDESAS": {
+ "familyName": "Playwrite DE SAS",
+ "fullName": "Playwrite DE SAS Regular",
+ "postscriptName": "PlaywriteDESAS-Regular",
+ "category": "handwriting",
+ "capHeight": 888,
+ "ascent": 1291,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 854
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DE SAS",
+ "fullName": "Playwrite DE SAS Thin",
+ "postscriptName": "PlaywriteDESAS-Thin",
+ "category": "handwriting",
+ "capHeight": 888,
+ "ascent": 1291,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 855
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DE SAS",
+ "fullName": "Playwrite DE SAS ExtraLight",
+ "postscriptName": "PlaywriteDESAS-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 888,
+ "ascent": 1291,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 855
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DE SAS",
+ "fullName": "Playwrite DE SAS Light",
+ "postscriptName": "PlaywriteDESAS-Light",
+ "category": "handwriting",
+ "capHeight": 888,
+ "ascent": 1291,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 854
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DE SAS",
+ "fullName": "Playwrite DE SAS Regular",
+ "postscriptName": "PlaywriteDESAS-Regular",
+ "category": "handwriting",
+ "capHeight": 888,
+ "ascent": 1291,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 532,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 532
+ },
+ "thai": {
+ "xWidthAvg": 854
+ }
+ }
+ }
+ }
+ },
+ "playwriteDEVA": {
+ "familyName": "Playwrite DE VA",
+ "fullName": "Playwrite DE VA Regular",
+ "postscriptName": "PlaywriteDEVA-Regular",
+ "category": "handwriting",
+ "capHeight": 979,
+ "ascent": 1402,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 920
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DE VA",
+ "fullName": "Playwrite DE VA Thin",
+ "postscriptName": "PlaywriteDEVA-Thin",
+ "category": "handwriting",
+ "capHeight": 979,
+ "ascent": 1402,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 920
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DE VA",
+ "fullName": "Playwrite DE VA ExtraLight",
+ "postscriptName": "PlaywriteDEVA-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 979,
+ "ascent": 1402,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 920
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DE VA",
+ "fullName": "Playwrite DE VA Light",
+ "postscriptName": "PlaywriteDEVA-Light",
+ "category": "handwriting",
+ "capHeight": 979,
+ "ascent": 1402,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 920
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DE VA",
+ "fullName": "Playwrite DE VA Regular",
+ "postscriptName": "PlaywriteDEVA-Regular",
+ "category": "handwriting",
+ "capHeight": 979,
+ "ascent": 1402,
+ "descent": -482,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 920
+ }
+ }
+ }
+ }
+ },
+ "playwriteDKLoopet": {
+ "familyName": "Playwrite DK Loopet",
+ "fullName": "Playwrite DK Loopet Regular",
+ "postscriptName": "PlaywriteDKLoopet-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DK Loopet",
+ "fullName": "Playwrite DK Loopet Thin",
+ "postscriptName": "PlaywriteDKLoopet-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DK Loopet",
+ "fullName": "Playwrite DK Loopet ExtraLight",
+ "postscriptName": "PlaywriteDKLoopet-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DK Loopet",
+ "fullName": "Playwrite DK Loopet Light",
+ "postscriptName": "PlaywriteDKLoopet-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DK Loopet",
+ "fullName": "Playwrite DK Loopet Regular",
+ "postscriptName": "PlaywriteDKLoopet-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ }
+ }
+ },
+ "playwriteDKUloopet": {
+ "familyName": "Playwrite DK Uloopet",
+ "fullName": "Playwrite DK Uloopet Regular",
+ "postscriptName": "PlaywriteDKUloopet-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite DK Uloopet",
+ "fullName": "Playwrite DK Uloopet Thin",
+ "postscriptName": "PlaywriteDKUloopet-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite DK Uloopet",
+ "fullName": "Playwrite DK Uloopet ExtraLight",
+ "postscriptName": "PlaywriteDKUloopet-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite DK Uloopet",
+ "fullName": "Playwrite DK Uloopet Light",
+ "postscriptName": "PlaywriteDKUloopet-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite DK Uloopet",
+ "fullName": "Playwrite DK Uloopet Regular",
+ "postscriptName": "PlaywriteDKUloopet-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ }
+ }
+ },
+ "playwriteES": {
+ "familyName": "Playwrite ES",
+ "fullName": "Playwrite ES Regular",
+ "postscriptName": "PlaywriteES-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite ES",
+ "fullName": "Playwrite ES Thin",
+ "postscriptName": "PlaywriteES-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite ES",
+ "fullName": "Playwrite ES ExtraLight",
+ "postscriptName": "PlaywriteES-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite ES",
+ "fullName": "Playwrite ES Light",
+ "postscriptName": "PlaywriteES-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite ES",
+ "fullName": "Playwrite ES Regular",
+ "postscriptName": "PlaywriteES-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ }
+ }
+ },
+ "playwriteESDeco": {
+ "familyName": "Playwrite ES Deco",
+ "fullName": "Playwrite ES Deco Regular",
+ "postscriptName": "PlaywriteESDeco-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite ES Deco",
+ "fullName": "Playwrite ES Deco Thin",
+ "postscriptName": "PlaywriteESDeco-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite ES Deco",
+ "fullName": "Playwrite ES Deco ExtraLight",
+ "postscriptName": "PlaywriteESDeco-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite ES Deco",
+ "fullName": "Playwrite ES Deco Light",
+ "postscriptName": "PlaywriteESDeco-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite ES Deco",
+ "fullName": "Playwrite ES Deco Regular",
+ "postscriptName": "PlaywriteESDeco-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ }
+ }
+ },
+ "playwriteFRModerne": {
+ "familyName": "Playwrite FR Moderne",
+ "fullName": "Playwrite FR Moderne Regular",
+ "postscriptName": "PlaywriteFRModerne-Regular",
+ "category": "handwriting",
+ "capHeight": 1100,
+ "ascent": 1550,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite FR Moderne",
+ "fullName": "Playwrite FR Moderne Thin",
+ "postscriptName": "PlaywriteFRModerne-Thin",
+ "category": "handwriting",
+ "capHeight": 1100,
+ "ascent": 1550,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite FR Moderne",
+ "fullName": "Playwrite FR Moderne ExtraLight",
+ "postscriptName": "PlaywriteFRModerne-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1100,
+ "ascent": 1550,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite FR Moderne",
+ "fullName": "Playwrite FR Moderne Light",
+ "postscriptName": "PlaywriteFRModerne-Light",
+ "category": "handwriting",
+ "capHeight": 1100,
+ "ascent": 1550,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite FR Moderne",
+ "fullName": "Playwrite FR Moderne Regular",
+ "postscriptName": "PlaywriteFRModerne-Regular",
+ "category": "handwriting",
+ "capHeight": 1100,
+ "ascent": 1550,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 1009
+ }
+ }
+ }
+ }
+ },
+ "playwriteFRTrad": {
+ "familyName": "Playwrite FR Trad",
+ "fullName": "Playwrite FR Trad Regular",
+ "postscriptName": "PlaywriteFRTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 1408,
+ "ascent": 1927,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite FR Trad",
+ "fullName": "Playwrite FR Trad Thin",
+ "postscriptName": "PlaywriteFRTrad-Thin",
+ "category": "handwriting",
+ "capHeight": 1408,
+ "ascent": 1927,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite FR Trad",
+ "fullName": "Playwrite FR Trad ExtraLight",
+ "postscriptName": "PlaywriteFRTrad-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1408,
+ "ascent": 1927,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite FR Trad",
+ "fullName": "Playwrite FR Trad Light",
+ "postscriptName": "PlaywriteFRTrad-Light",
+ "category": "handwriting",
+ "capHeight": 1408,
+ "ascent": 1927,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite FR Trad",
+ "fullName": "Playwrite FR Trad Regular",
+ "postscriptName": "PlaywriteFRTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 1408,
+ "ascent": 1927,
+ "descent": -925,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 545,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 545
+ },
+ "thai": {
+ "xWidthAvg": 1233
+ }
+ }
+ }
+ }
+ },
+ "playwriteGBJ": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Regular",
+ "postscriptName": "PlaywriteGBJ-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Thin",
+ "postscriptName": "PlaywriteGBJ-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J ExtraLight",
+ "postscriptName": "PlaywriteGBJ-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Light",
+ "postscriptName": "PlaywriteGBJ-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Regular",
+ "postscriptName": "PlaywriteGBJ-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Italic",
+ "postscriptName": "PlaywriteGBJ-Italic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Light Italic",
+ "postscriptName": "PlaywriteGBJ-LightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J ExtraLight Italic",
+ "postscriptName": "PlaywriteGBJ-ExtraLightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Playwrite GB J",
+ "fullName": "Playwrite GB J Thin Italic",
+ "postscriptName": "PlaywriteGBJ-ThinItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ }
+ }
+ },
+ "playwriteGBS": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Regular",
+ "postscriptName": "PlaywriteGBS-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Thin",
+ "postscriptName": "PlaywriteGBS-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S ExtraLight",
+ "postscriptName": "PlaywriteGBS-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Light",
+ "postscriptName": "PlaywriteGBS-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Regular",
+ "postscriptName": "PlaywriteGBS-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Italic",
+ "postscriptName": "PlaywriteGBS-Italic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Light Italic",
+ "postscriptName": "PlaywriteGBS-LightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S ExtraLight Italic",
+ "postscriptName": "PlaywriteGBS-ExtraLightItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Playwrite GB S",
+ "fullName": "Playwrite GB S Thin Italic",
+ "postscriptName": "PlaywriteGBS-ThinItalic",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ }
+ }
+ },
+ "playwriteHR": {
+ "familyName": "Playwrite HR",
+ "fullName": "Playwrite HR Regular",
+ "postscriptName": "PlaywriteHR-Regular",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 847
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite HR",
+ "fullName": "Playwrite HR Thin",
+ "postscriptName": "PlaywriteHR-Thin",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite HR",
+ "fullName": "Playwrite HR ExtraLight",
+ "postscriptName": "PlaywriteHR-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite HR",
+ "fullName": "Playwrite HR Light",
+ "postscriptName": "PlaywriteHR-Light",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 847
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite HR",
+ "fullName": "Playwrite HR Regular",
+ "postscriptName": "PlaywriteHR-Regular",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 847
+ }
+ }
+ }
+ }
+ },
+ "playwriteHRLijeva": {
+ "familyName": "Playwrite HR Lijeva",
+ "fullName": "Playwrite HR Lijeva Regular",
+ "postscriptName": "PlaywriteHRLijeva-Regular",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite HR Lijeva",
+ "fullName": "Playwrite HR Lijeva Thin",
+ "postscriptName": "PlaywriteHRLijeva-Thin",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite HR Lijeva",
+ "fullName": "Playwrite HR Lijeva ExtraLight",
+ "postscriptName": "PlaywriteHRLijeva-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite HR Lijeva",
+ "fullName": "Playwrite HR Lijeva Light",
+ "postscriptName": "PlaywriteHRLijeva-Light",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite HR Lijeva",
+ "fullName": "Playwrite HR Lijeva Regular",
+ "postscriptName": "PlaywriteHRLijeva-Regular",
+ "category": "handwriting",
+ "capHeight": 879,
+ "ascent": 1280,
+ "descent": -379,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ }
+ }
+ },
+ "playwriteHU": {
+ "familyName": "Playwrite HU",
+ "fullName": "Playwrite HU Regular",
+ "postscriptName": "PlaywriteHU-Regular",
+ "category": "handwriting",
+ "capHeight": 946,
+ "ascent": 1362,
+ "descent": -448,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 897
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite HU",
+ "fullName": "Playwrite HU Thin",
+ "postscriptName": "PlaywriteHU-Thin",
+ "category": "handwriting",
+ "capHeight": 946,
+ "ascent": 1362,
+ "descent": -448,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 897
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite HU",
+ "fullName": "Playwrite HU ExtraLight",
+ "postscriptName": "PlaywriteHU-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 946,
+ "ascent": 1362,
+ "descent": -448,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 897
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite HU",
+ "fullName": "Playwrite HU Light",
+ "postscriptName": "PlaywriteHU-Light",
+ "category": "handwriting",
+ "capHeight": 946,
+ "ascent": 1362,
+ "descent": -448,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 897
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite HU",
+ "fullName": "Playwrite HU Regular",
+ "postscriptName": "PlaywriteHU-Regular",
+ "category": "handwriting",
+ "capHeight": 946,
+ "ascent": 1362,
+ "descent": -448,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 897
+ }
+ }
+ }
+ }
+ },
+ "playwriteID": {
+ "familyName": "Playwrite ID",
+ "fullName": "Playwrite ID Regular",
+ "postscriptName": "PlaywriteID-Regular",
+ "category": "handwriting",
+ "capHeight": 1438,
+ "ascent": 1964,
+ "descent": -956,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 1255
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite ID",
+ "fullName": "Playwrite ID Thin",
+ "postscriptName": "PlaywriteID-Thin",
+ "category": "handwriting",
+ "capHeight": 1438,
+ "ascent": 1964,
+ "descent": -956,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 1255
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite ID",
+ "fullName": "Playwrite ID ExtraLight",
+ "postscriptName": "PlaywriteID-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1438,
+ "ascent": 1964,
+ "descent": -956,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 1255
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite ID",
+ "fullName": "Playwrite ID Light",
+ "postscriptName": "PlaywriteID-Light",
+ "category": "handwriting",
+ "capHeight": 1438,
+ "ascent": 1964,
+ "descent": -956,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 1255
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite ID",
+ "fullName": "Playwrite ID Regular",
+ "postscriptName": "PlaywriteID-Regular",
+ "category": "handwriting",
+ "capHeight": 1438,
+ "ascent": 1964,
+ "descent": -956,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 1255
+ }
+ }
+ }
+ }
+ },
+ "playwriteIE": {
+ "familyName": "Playwrite IE",
+ "fullName": "Playwrite IE Regular",
+ "postscriptName": "PlaywriteIE-Regular",
+ "category": "handwriting",
+ "capHeight": 981,
+ "ascent": 1405,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite IE",
+ "fullName": "Playwrite IE Thin",
+ "postscriptName": "PlaywriteIE-Thin",
+ "category": "handwriting",
+ "capHeight": 981,
+ "ascent": 1405,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 923
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite IE",
+ "fullName": "Playwrite IE ExtraLight",
+ "postscriptName": "PlaywriteIE-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 981,
+ "ascent": 1405,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 923
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite IE",
+ "fullName": "Playwrite IE Light",
+ "postscriptName": "PlaywriteIE-Light",
+ "category": "handwriting",
+ "capHeight": 981,
+ "ascent": 1405,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite IE",
+ "fullName": "Playwrite IE Regular",
+ "postscriptName": "PlaywriteIE-Regular",
+ "category": "handwriting",
+ "capHeight": 981,
+ "ascent": 1405,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 922
+ }
+ }
+ }
+ }
+ },
+ "playwriteIN": {
+ "familyName": "Playwrite IN",
+ "fullName": "Playwrite IN Regular",
+ "postscriptName": "PlaywriteIN-Regular",
+ "category": "handwriting",
+ "capHeight": 1023,
+ "ascent": 1456,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 952
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite IN",
+ "fullName": "Playwrite IN Thin",
+ "postscriptName": "PlaywriteIN-Thin",
+ "category": "handwriting",
+ "capHeight": 1023,
+ "ascent": 1456,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 953
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite IN",
+ "fullName": "Playwrite IN ExtraLight",
+ "postscriptName": "PlaywriteIN-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1023,
+ "ascent": 1456,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 953
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite IN",
+ "fullName": "Playwrite IN Light",
+ "postscriptName": "PlaywriteIN-Light",
+ "category": "handwriting",
+ "capHeight": 1023,
+ "ascent": 1456,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 952
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite IN",
+ "fullName": "Playwrite IN Regular",
+ "postscriptName": "PlaywriteIN-Regular",
+ "category": "handwriting",
+ "capHeight": 1023,
+ "ascent": 1456,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 952
+ }
+ }
+ }
+ }
+ },
+ "playwriteIS": {
+ "familyName": "Playwrite IS",
+ "fullName": "Playwrite IS Regular",
+ "postscriptName": "PlaywriteIS-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite IS",
+ "fullName": "Playwrite IS Thin",
+ "postscriptName": "PlaywriteIS-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite IS",
+ "fullName": "Playwrite IS ExtraLight",
+ "postscriptName": "PlaywriteIS-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite IS",
+ "fullName": "Playwrite IS Light",
+ "postscriptName": "PlaywriteIS-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite IS",
+ "fullName": "Playwrite IS Regular",
+ "postscriptName": "PlaywriteIS-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ }
+ }
+ },
+ "playwriteITModerna": {
+ "familyName": "Playwrite IT Moderna",
+ "fullName": "Playwrite IT Moderna Regular",
+ "postscriptName": "PlaywriteITModerna-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite IT Moderna",
+ "fullName": "Playwrite IT Moderna Thin",
+ "postscriptName": "PlaywriteITModerna-Thin",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite IT Moderna",
+ "fullName": "Playwrite IT Moderna ExtraLight",
+ "postscriptName": "PlaywriteITModerna-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite IT Moderna",
+ "fullName": "Playwrite IT Moderna Light",
+ "postscriptName": "PlaywriteITModerna-Light",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite IT Moderna",
+ "fullName": "Playwrite IT Moderna Regular",
+ "postscriptName": "PlaywriteITModerna-Regular",
+ "category": "handwriting",
+ "capHeight": 875,
+ "ascent": 1275,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 845
+ }
+ }
+ }
+ }
+ },
+ "playwriteITTrad": {
+ "familyName": "Playwrite IT Trad",
+ "fullName": "Playwrite IT Trad Regular",
+ "postscriptName": "PlaywriteITTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 959,
+ "ascent": 1378,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite IT Trad",
+ "fullName": "Playwrite IT Trad Thin",
+ "postscriptName": "PlaywriteITTrad-Thin",
+ "category": "handwriting",
+ "capHeight": 959,
+ "ascent": 1378,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite IT Trad",
+ "fullName": "Playwrite IT Trad ExtraLight",
+ "postscriptName": "PlaywriteITTrad-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 959,
+ "ascent": 1378,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite IT Trad",
+ "fullName": "Playwrite IT Trad Light",
+ "postscriptName": "PlaywriteITTrad-Light",
+ "category": "handwriting",
+ "capHeight": 959,
+ "ascent": 1378,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite IT Trad",
+ "fullName": "Playwrite IT Trad Regular",
+ "postscriptName": "PlaywriteITTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 959,
+ "ascent": 1378,
+ "descent": -462,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 906
+ }
+ }
+ }
+ }
+ },
+ "playwriteMX": {
+ "familyName": "Playwrite MX",
+ "fullName": "Playwrite MX Regular",
+ "postscriptName": "PlaywriteMX-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite MX",
+ "fullName": "Playwrite MX Thin",
+ "postscriptName": "PlaywriteMX-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite MX",
+ "fullName": "Playwrite MX ExtraLight",
+ "postscriptName": "PlaywriteMX-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite MX",
+ "fullName": "Playwrite MX Light",
+ "postscriptName": "PlaywriteMX-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite MX",
+ "fullName": "Playwrite MX Regular",
+ "postscriptName": "PlaywriteMX-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteNGModern": {
+ "familyName": "Playwrite NG Modern",
+ "fullName": "Playwrite NG Modern Regular",
+ "postscriptName": "PlaywriteNGModern-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite NG Modern",
+ "fullName": "Playwrite NG Modern Thin",
+ "postscriptName": "PlaywriteNGModern-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite NG Modern",
+ "fullName": "Playwrite NG Modern ExtraLight",
+ "postscriptName": "PlaywriteNGModern-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite NG Modern",
+ "fullName": "Playwrite NG Modern Light",
+ "postscriptName": "PlaywriteNGModern-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite NG Modern",
+ "fullName": "Playwrite NG Modern Regular",
+ "postscriptName": "PlaywriteNGModern-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ }
+ }
+ },
+ "playwriteNL": {
+ "familyName": "Playwrite NL",
+ "fullName": "Playwrite NL Regular",
+ "postscriptName": "PlaywriteNL-Regular",
+ "category": "handwriting",
+ "capHeight": 1273,
+ "ascent": 1762,
+ "descent": -786,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite NL",
+ "fullName": "Playwrite NL Thin",
+ "postscriptName": "PlaywriteNL-Thin",
+ "category": "handwriting",
+ "capHeight": 1273,
+ "ascent": 1762,
+ "descent": -786,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite NL",
+ "fullName": "Playwrite NL ExtraLight",
+ "postscriptName": "PlaywriteNL-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1273,
+ "ascent": 1762,
+ "descent": -786,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite NL",
+ "fullName": "Playwrite NL Light",
+ "postscriptName": "PlaywriteNL-Light",
+ "category": "handwriting",
+ "capHeight": 1273,
+ "ascent": 1762,
+ "descent": -786,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite NL",
+ "fullName": "Playwrite NL Regular",
+ "postscriptName": "PlaywriteNL-Regular",
+ "category": "handwriting",
+ "capHeight": 1273,
+ "ascent": 1762,
+ "descent": -786,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 537,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 537
+ },
+ "thai": {
+ "xWidthAvg": 1135
+ }
+ }
+ }
+ }
+ },
+ "playwriteNO": {
+ "familyName": "Playwrite NO",
+ "fullName": "Playwrite NO Regular",
+ "postscriptName": "PlaywriteNO-Regular",
+ "category": "handwriting",
+ "capHeight": 970,
+ "ascent": 1391,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 913
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite NO",
+ "fullName": "Playwrite NO Thin",
+ "postscriptName": "PlaywriteNO-Thin",
+ "category": "handwriting",
+ "capHeight": 970,
+ "ascent": 1391,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite NO",
+ "fullName": "Playwrite NO ExtraLight",
+ "postscriptName": "PlaywriteNO-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 970,
+ "ascent": 1391,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 914
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite NO",
+ "fullName": "Playwrite NO Light",
+ "postscriptName": "PlaywriteNO-Light",
+ "category": "handwriting",
+ "capHeight": 970,
+ "ascent": 1391,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 913
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite NO",
+ "fullName": "Playwrite NO Regular",
+ "postscriptName": "PlaywriteNO-Regular",
+ "category": "handwriting",
+ "capHeight": 970,
+ "ascent": 1391,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 913
+ }
+ }
+ }
+ }
+ },
+ "playwriteNZ": {
+ "familyName": "Playwrite NZ",
+ "fullName": "Playwrite NZ Regular",
+ "postscriptName": "PlaywriteNZ-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite NZ",
+ "fullName": "Playwrite NZ Thin",
+ "postscriptName": "PlaywriteNZ-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite NZ",
+ "fullName": "Playwrite NZ ExtraLight",
+ "postscriptName": "PlaywriteNZ-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite NZ",
+ "fullName": "Playwrite NZ Light",
+ "postscriptName": "PlaywriteNZ-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite NZ",
+ "fullName": "Playwrite NZ Regular",
+ "postscriptName": "PlaywriteNZ-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwritePE": {
+ "familyName": "Playwrite PE",
+ "fullName": "Playwrite PE Regular",
+ "postscriptName": "PlaywritePE-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite PE",
+ "fullName": "Playwrite PE Thin",
+ "postscriptName": "PlaywritePE-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite PE",
+ "fullName": "Playwrite PE ExtraLight",
+ "postscriptName": "PlaywritePE-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite PE",
+ "fullName": "Playwrite PE Light",
+ "postscriptName": "PlaywritePE-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite PE",
+ "fullName": "Playwrite PE Regular",
+ "postscriptName": "PlaywritePE-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ }
+ }
+ },
+ "playwritePL": {
+ "familyName": "Playwrite PL",
+ "fullName": "Playwrite PL Regular",
+ "postscriptName": "PlaywritePL-Regular",
+ "category": "handwriting",
+ "capHeight": 986,
+ "ascent": 1411,
+ "descent": -490,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 926
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite PL",
+ "fullName": "Playwrite PL Thin",
+ "postscriptName": "PlaywritePL-Thin",
+ "category": "handwriting",
+ "capHeight": 986,
+ "ascent": 1411,
+ "descent": -490,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 926
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite PL",
+ "fullName": "Playwrite PL ExtraLight",
+ "postscriptName": "PlaywritePL-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 986,
+ "ascent": 1411,
+ "descent": -490,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 926
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite PL",
+ "fullName": "Playwrite PL Light",
+ "postscriptName": "PlaywritePL-Light",
+ "category": "handwriting",
+ "capHeight": 986,
+ "ascent": 1411,
+ "descent": -490,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 926
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite PL",
+ "fullName": "Playwrite PL Regular",
+ "postscriptName": "PlaywritePL-Regular",
+ "category": "handwriting",
+ "capHeight": 986,
+ "ascent": 1411,
+ "descent": -490,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 926
+ }
+ }
+ }
+ }
+ },
+ "playwritePT": {
+ "familyName": "Playwrite PT",
+ "fullName": "Playwrite PT Regular",
+ "postscriptName": "PlaywritePT-Regular",
+ "category": "handwriting",
+ "capHeight": 1081,
+ "ascent": 1527,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 995
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite PT",
+ "fullName": "Playwrite PT Thin",
+ "postscriptName": "PlaywritePT-Thin",
+ "category": "handwriting",
+ "capHeight": 1081,
+ "ascent": 1527,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 995
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite PT",
+ "fullName": "Playwrite PT ExtraLight",
+ "postscriptName": "PlaywritePT-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1081,
+ "ascent": 1527,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 995
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite PT",
+ "fullName": "Playwrite PT Light",
+ "postscriptName": "PlaywritePT-Light",
+ "category": "handwriting",
+ "capHeight": 1081,
+ "ascent": 1527,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 995
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite PT",
+ "fullName": "Playwrite PT Regular",
+ "postscriptName": "PlaywritePT-Regular",
+ "category": "handwriting",
+ "capHeight": 1081,
+ "ascent": 1527,
+ "descent": -588,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 995
+ }
+ }
+ }
+ }
+ },
+ "playwriteRO": {
+ "familyName": "Playwrite RO",
+ "fullName": "Playwrite RO Regular",
+ "postscriptName": "PlaywriteRO-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite RO",
+ "fullName": "Playwrite RO Thin",
+ "postscriptName": "PlaywriteRO-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite RO",
+ "fullName": "Playwrite RO ExtraLight",
+ "postscriptName": "PlaywriteRO-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite RO",
+ "fullName": "Playwrite RO Light",
+ "postscriptName": "PlaywriteRO-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite RO",
+ "fullName": "Playwrite RO Regular",
+ "postscriptName": "PlaywriteRO-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteSK": {
+ "familyName": "Playwrite SK",
+ "fullName": "Playwrite SK Regular",
+ "postscriptName": "PlaywriteSK-Regular",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite SK",
+ "fullName": "Playwrite SK Thin",
+ "postscriptName": "PlaywriteSK-Thin",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 925
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite SK",
+ "fullName": "Playwrite SK ExtraLight",
+ "postscriptName": "PlaywriteSK-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 925
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite SK",
+ "fullName": "Playwrite SK Light",
+ "postscriptName": "PlaywriteSK-Light",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite SK",
+ "fullName": "Playwrite SK Regular",
+ "postscriptName": "PlaywriteSK-Regular",
+ "category": "handwriting",
+ "capHeight": 985,
+ "ascent": 1410,
+ "descent": -489,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 924
+ }
+ }
+ }
+ }
+ },
+ "playwriteTZ": {
+ "familyName": "Playwrite TZ",
+ "fullName": "Playwrite TZ Regular",
+ "postscriptName": "PlaywriteTZ-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite TZ",
+ "fullName": "Playwrite TZ Thin",
+ "postscriptName": "PlaywriteTZ-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite TZ",
+ "fullName": "Playwrite TZ ExtraLight",
+ "postscriptName": "PlaywriteTZ-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite TZ",
+ "fullName": "Playwrite TZ Light",
+ "postscriptName": "PlaywriteTZ-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite TZ",
+ "fullName": "Playwrite TZ Regular",
+ "postscriptName": "PlaywriteTZ-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteUSModern": {
+ "familyName": "Playwrite US Modern",
+ "fullName": "Playwrite US Modern Regular",
+ "postscriptName": "PlaywriteUSModern-Regular",
+ "category": "handwriting",
+ "capHeight": 938,
+ "ascent": 1352,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite US Modern",
+ "fullName": "Playwrite US Modern Thin",
+ "postscriptName": "PlaywriteUSModern-Thin",
+ "category": "handwriting",
+ "capHeight": 938,
+ "ascent": 1352,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite US Modern",
+ "fullName": "Playwrite US Modern ExtraLight",
+ "postscriptName": "PlaywriteUSModern-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 938,
+ "ascent": 1352,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite US Modern",
+ "fullName": "Playwrite US Modern Light",
+ "postscriptName": "PlaywriteUSModern-Light",
+ "category": "handwriting",
+ "capHeight": 938,
+ "ascent": 1352,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite US Modern",
+ "fullName": "Playwrite US Modern Regular",
+ "postscriptName": "PlaywriteUSModern-Regular",
+ "category": "handwriting",
+ "capHeight": 938,
+ "ascent": 1352,
+ "descent": -440,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 891
+ }
+ }
+ }
+ }
+ },
+ "playwriteUSTrad": {
+ "familyName": "Playwrite US Trad",
+ "fullName": "Playwrite US Trad Regular",
+ "postscriptName": "PlaywriteUSTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite US Trad",
+ "fullName": "Playwrite US Trad Thin",
+ "postscriptName": "PlaywriteUSTrad-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite US Trad",
+ "fullName": "Playwrite US Trad ExtraLight",
+ "postscriptName": "PlaywriteUSTrad-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite US Trad",
+ "fullName": "Playwrite US Trad Light",
+ "postscriptName": "PlaywriteUSTrad-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite US Trad",
+ "fullName": "Playwrite US Trad Regular",
+ "postscriptName": "PlaywriteUSTrad-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 527,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 527
+ },
+ "thai": {
+ "xWidthAvg": 935
+ }
+ }
+ }
+ }
+ },
+ "playwriteVN": {
+ "familyName": "Playwrite VN",
+ "fullName": "Playwrite VN Regular",
+ "postscriptName": "PlaywriteVN-Regular",
+ "category": "handwriting",
+ "capHeight": 1257,
+ "ascent": 1743,
+ "descent": -769,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite VN",
+ "fullName": "Playwrite VN Thin",
+ "postscriptName": "PlaywriteVN-Thin",
+ "category": "handwriting",
+ "capHeight": 1257,
+ "ascent": 1743,
+ "descent": -769,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite VN",
+ "fullName": "Playwrite VN ExtraLight",
+ "postscriptName": "PlaywriteVN-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1257,
+ "ascent": 1743,
+ "descent": -769,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite VN",
+ "fullName": "Playwrite VN Light",
+ "postscriptName": "PlaywriteVN-Light",
+ "category": "handwriting",
+ "capHeight": 1257,
+ "ascent": 1743,
+ "descent": -769,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite VN",
+ "fullName": "Playwrite VN Regular",
+ "postscriptName": "PlaywriteVN-Regular",
+ "category": "handwriting",
+ "capHeight": 1257,
+ "ascent": 1743,
+ "descent": -769,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 1123
+ }
+ }
+ }
+ }
+ },
+ "playwriteZA": {
+ "familyName": "Playwrite ZA",
+ "fullName": "Playwrite ZA Regular",
+ "postscriptName": "PlaywriteZA-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Playwrite ZA",
+ "fullName": "Playwrite ZA Thin",
+ "postscriptName": "PlaywriteZA-Thin",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "200": {
+ "familyName": "Playwrite ZA",
+ "fullName": "Playwrite ZA ExtraLight",
+ "postscriptName": "PlaywriteZA-ExtraLight",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "300": {
+ "familyName": "Playwrite ZA",
+ "fullName": "Playwrite ZA Light",
+ "postscriptName": "PlaywriteZA-Light",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Playwrite ZA",
+ "fullName": "Playwrite ZA Regular",
+ "postscriptName": "PlaywriteZA-Regular",
+ "category": "handwriting",
+ "capHeight": 1000,
+ "ascent": 1428,
+ "descent": -504,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 936
+ }
+ }
+ }
+ }
+ },
+ "plusJakartaSans": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Regular",
+ "postscriptName": "PlusJakartaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans ExtraLight",
+ "postscriptName": "PlusJakartaSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "300": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Light",
+ "postscriptName": "PlusJakartaSans-Light",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "500": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Medium",
+ "postscriptName": "PlusJakartaSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans SemiBold",
+ "postscriptName": "PlusJakartaSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Bold",
+ "postscriptName": "PlusJakartaSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "800": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans ExtraBold",
+ "postscriptName": "PlusJakartaSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Regular",
+ "postscriptName": "PlusJakartaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Italic",
+ "postscriptName": "PlusJakartaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 745
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans ExtraBold Italic",
+ "postscriptName": "PlusJakartaSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 744
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Bold Italic",
+ "postscriptName": "PlusJakartaSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 544,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 744
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans SemiBold Italic",
+ "postscriptName": "PlusJakartaSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 541,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 745
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Medium Italic",
+ "postscriptName": "PlusJakartaSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 539,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 745
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans Light Italic",
+ "postscriptName": "PlusJakartaSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 531,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 745
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Plus Jakarta Sans",
+ "fullName": "Plus Jakarta Sans ExtraLight Italic",
+ "postscriptName": "PlusJakartaSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 745,
+ "ascent": 1038,
+ "descent": -222,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 745
+ }
+ }
+ }
+ }
+ },
+ "podkova": {
+ "familyName": "Podkova",
+ "fullName": "Podkova Regular",
+ "postscriptName": "Podkova-Regular",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Podkova",
+ "fullName": "Podkova Medium",
+ "postscriptName": "Podkova-Medium",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 966
+ }
+ }
+ },
+ "600": {
+ "familyName": "Podkova",
+ "fullName": "Podkova SemiBold",
+ "postscriptName": "Podkova-SemiBold",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 966
+ }
+ }
+ },
+ "700": {
+ "familyName": "Podkova",
+ "fullName": "Podkova Bold",
+ "postscriptName": "Podkova-Bold",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 967
+ }
+ }
+ },
+ "800": {
+ "familyName": "Podkova",
+ "fullName": "Podkova ExtraBold",
+ "postscriptName": "Podkova-ExtraBold",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 968
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Podkova",
+ "fullName": "Podkova Regular",
+ "postscriptName": "Podkova-Regular",
+ "category": "serif",
+ "capHeight": 589,
+ "ascent": 859,
+ "descent": -249,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 429,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 965
+ }
+ }
+ }
+ }
+ },
+ "poetsenOne": {
+ "familyName": "Poetsen One",
+ "fullName": "PoetsenOne",
+ "postscriptName": "PoetsenOne-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Poetsen One",
+ "fullName": "PoetsenOne",
+ "postscriptName": "PoetsenOne-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 648
+ }
+ }
+ }
+ }
+ },
+ "poiretOne": {
+ "familyName": "Poiret One",
+ "fullName": "Poiret One",
+ "postscriptName": "PoiretOne-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 962,
+ "descent": -208,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 470
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Poiret One",
+ "fullName": "Poiret One",
+ "postscriptName": "PoiretOne-Regular",
+ "category": "display",
+ "capHeight": 750,
+ "ascent": 962,
+ "descent": -208,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 470
+ }
+ }
+ }
+ }
+ },
+ "pollerOne": {
+ "familyName": "Poller One",
+ "fullName": "Poller One",
+ "postscriptName": "PollerOne-Regular",
+ "category": "display",
+ "capHeight": 1486,
+ "ascent": 1920,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 991,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 741
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Poller One",
+ "fullName": "Poller One",
+ "postscriptName": "PollerOne-Regular",
+ "category": "display",
+ "capHeight": 1486,
+ "ascent": 1920,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 991,
+ "xWidthAvg": 1272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1272
+ },
+ "thai": {
+ "xWidthAvg": 741
+ }
+ }
+ }
+ }
+ },
+ "poltawskiNowy": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Regular",
+ "postscriptName": "PoltawskiNowy-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Medium",
+ "postscriptName": "PoltawskiNowy-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy SemiBold",
+ "postscriptName": "PoltawskiNowy-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Bold",
+ "postscriptName": "PoltawskiNowy-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Regular",
+ "postscriptName": "PoltawskiNowy-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Italic",
+ "postscriptName": "PoltawskiNowy-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Bold Italic",
+ "postscriptName": "PoltawskiNowy-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy SemiBold Italic",
+ "postscriptName": "PoltawskiNowy-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 455,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Poltawski Nowy",
+ "fullName": "Poltawski Nowy Medium Italic",
+ "postscriptName": "PoltawskiNowy-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 448,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "poly": {
+ "familyName": "Poly",
+ "fullName": "Poly-Regular",
+ "postscriptName": "Poly-Regular",
+ "category": "serif",
+ "capHeight": 693,
+ "ascent": 964,
+ "descent": -224,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Poly",
+ "fullName": "Poly-Regular",
+ "postscriptName": "Poly-Regular",
+ "category": "serif",
+ "capHeight": 693,
+ "ascent": 964,
+ "descent": -224,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Poly",
+ "fullName": "Poly-Italic",
+ "postscriptName": "Poly-Italic",
+ "category": "serif",
+ "capHeight": 693,
+ "ascent": 964,
+ "descent": -224,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 80,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ }
+ }
+ },
+ "pompiere": {
+ "familyName": "Pompiere",
+ "fullName": "Pompiere ",
+ "postscriptName": "Pompiere-Regular",
+ "category": "display",
+ "capHeight": 1315,
+ "ascent": 1918,
+ "descent": -543,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 616,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1146
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Pompiere",
+ "fullName": "Pompiere ",
+ "postscriptName": "Pompiere-Regular",
+ "category": "display",
+ "capHeight": 1315,
+ "ascent": 1918,
+ "descent": -543,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 616,
+ "xWidthAvg": 618,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 618
+ },
+ "thai": {
+ "xWidthAvg": 1146
+ }
+ }
+ }
+ }
+ },
+ "pontanoSans": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans Regular",
+ "postscriptName": "PontanoSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 860,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 860
+ },
+ "thai": {
+ "xWidthAvg": 1241
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans Light",
+ "postscriptName": "PontanoSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1151
+ }
+ }
+ },
+ "500": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans Medium",
+ "postscriptName": "PontanoSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 1271
+ }
+ }
+ },
+ "600": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans SemiBold",
+ "postscriptName": "PontanoSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 876,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 876
+ },
+ "thai": {
+ "xWidthAvg": 1301
+ }
+ }
+ },
+ "700": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans Bold",
+ "postscriptName": "PontanoSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 885,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 885
+ },
+ "thai": {
+ "xWidthAvg": 1331
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Pontano Sans",
+ "fullName": "Pontano Sans Regular",
+ "postscriptName": "PontanoSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1464,
+ "ascent": 2025,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1023,
+ "xWidthAvg": 860,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 860
+ },
+ "thai": {
+ "xWidthAvg": 1241
+ }
+ }
+ }
+ }
+ },
+ "poorStory": {
+ "familyName": "Poor Story",
+ "fullName": "Poor Story Regular",
+ "postscriptName": "PoorStory-Regular",
+ "category": "display",
+ "capHeight": 641,
+ "ascent": 819,
+ "descent": -205,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 389,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Poor Story",
+ "fullName": "Poor Story Regular",
+ "postscriptName": "PoorStory-Regular",
+ "category": "display",
+ "capHeight": 641,
+ "ascent": 819,
+ "descent": -205,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 389,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "poppins": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Regular",
+ "postscriptName": "Poppins-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Thin",
+ "postscriptName": "Poppins-Thin",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Poppins",
+ "fullName": "Poppins ExtraLight",
+ "postscriptName": "Poppins-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Light",
+ "postscriptName": "Poppins-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Medium",
+ "postscriptName": "Poppins-Medium",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Poppins",
+ "fullName": "Poppins SemiBold",
+ "postscriptName": "Poppins-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 701,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Bold",
+ "postscriptName": "Poppins-Bold",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Poppins",
+ "fullName": "Poppins ExtraBold",
+ "postscriptName": "Poppins-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Black",
+ "postscriptName": "Poppins-Black",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 564,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Regular",
+ "postscriptName": "Poppins-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Italic",
+ "postscriptName": "Poppins-Italic",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 548,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Black Italic",
+ "postscriptName": "Poppins-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 713,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 564,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins ExtraBold Italic",
+ "postscriptName": "Poppins-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 561,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Bold Italic",
+ "postscriptName": "Poppins-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 705,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins SemiBold Italic",
+ "postscriptName": "Poppins-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 701,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 554,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Medium Italic",
+ "postscriptName": "Poppins-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 697,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 551,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Light Italic",
+ "postscriptName": "Poppins-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins ExtraLight Italic",
+ "postscriptName": "Poppins-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 542,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Poppins",
+ "fullName": "Poppins Thin Italic",
+ "postscriptName": "Poppins-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 702,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 100,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "portLligatSans": {
+ "familyName": "Port Lligat Sans",
+ "fullName": "Port Lligat Sans",
+ "postscriptName": "PortLligatSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 125,
+ "ascent": 860,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 178,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Port Lligat Sans",
+ "fullName": "Port Lligat Sans",
+ "postscriptName": "PortLligatSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 125,
+ "ascent": 860,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 178,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "portLligatSlab": {
+ "familyName": "Port Lligat Slab",
+ "fullName": "Port Lligat Slab",
+ "postscriptName": "PortLligatSlab-Regular",
+ "category": "serif",
+ "capHeight": 99,
+ "ascent": 860,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 155,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Port Lligat Slab",
+ "fullName": "Port Lligat Slab",
+ "postscriptName": "PortLligatSlab-Regular",
+ "category": "serif",
+ "capHeight": 99,
+ "ascent": 860,
+ "descent": -211,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 155,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "pottaOne": {
+ "familyName": "Potta One",
+ "fullName": "Potta One Regular",
+ "postscriptName": "PottaOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Potta One",
+ "fullName": "Potta One Regular",
+ "postscriptName": "PottaOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 565,
+ "xWidthAvg": 559,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 559
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "pragatiNarrow": {
+ "familyName": "Pragati Narrow",
+ "fullName": "Pragati Narrow",
+ "postscriptName": "PragatiNarrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1158,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 336
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Pragati Narrow",
+ "fullName": "Pragati Narrow Bold",
+ "postscriptName": "PragatiNarrow-Bold",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1158,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Pragati Narrow",
+ "fullName": "Pragati Narrow",
+ "postscriptName": "PragatiNarrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 630,
+ "ascent": 1158,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 336,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 336
+ },
+ "thai": {
+ "xWidthAvg": 460
+ }
+ }
+ }
+ }
+ },
+ "praise": {
+ "familyName": "Praise",
+ "fullName": "Praise Regular",
+ "postscriptName": "Praise-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Praise",
+ "fullName": "Praise Regular",
+ "postscriptName": "Praise-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 327,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 327
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "prata": {
+ "familyName": "Prata",
+ "fullName": "Prata Regular",
+ "postscriptName": "Prata-Regular",
+ "category": "serif",
+ "capHeight": 800,
+ "ascent": 993,
+ "descent": -362,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Prata",
+ "fullName": "Prata Regular",
+ "postscriptName": "Prata-Regular",
+ "category": "serif",
+ "capHeight": 800,
+ "ascent": 993,
+ "descent": -362,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ }
+ }
+ }
+ },
+ "preahvihear": {
+ "familyName": "Preahvihear",
+ "fullName": "Preahvihear Regular",
+ "postscriptName": "Preahvihear-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1067,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1067
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Preahvihear",
+ "fullName": "Preahvihear Regular",
+ "postscriptName": "Preahvihear-Regular",
+ "category": "sans-serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1067,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1067
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "pressStart2P": {
+ "familyName": "Press Start 2P",
+ "fullName": "Press Start 2P Regular",
+ "postscriptName": "PressStart2P-Regular",
+ "category": "display",
+ "capHeight": 1000,
+ "ascent": 1000,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 750,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Press Start 2P",
+ "fullName": "Press Start 2P Regular",
+ "postscriptName": "PressStart2P-Regular",
+ "category": "display",
+ "capHeight": 1000,
+ "ascent": 1000,
+ "descent": 0,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 750,
+ "xWidthAvg": 1000,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1000
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "pridi": {
+ "familyName": "Pridi",
+ "fullName": "Pridi Regular",
+ "postscriptName": "Pridi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Pridi",
+ "fullName": "Pridi ExtraLight",
+ "postscriptName": "Pridi-ExtraLight",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1150,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "300": {
+ "familyName": "Pridi",
+ "fullName": "Pridi Light",
+ "postscriptName": "Pridi-Light",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 515
+ }
+ }
+ },
+ "500": {
+ "familyName": "Pridi",
+ "fullName": "Pridi Medium",
+ "postscriptName": "Pridi-Medium",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 526
+ }
+ }
+ },
+ "600": {
+ "familyName": "Pridi",
+ "fullName": "Pridi SemiBold",
+ "postscriptName": "Pridi-SemiBold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "700": {
+ "familyName": "Pridi",
+ "fullName": "Pridi Bold",
+ "postscriptName": "Pridi-Bold",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Pridi",
+ "fullName": "Pridi Regular",
+ "postscriptName": "Pridi-Regular",
+ "category": "serif",
+ "capHeight": 714,
+ "ascent": 1100,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ }
+ }
+ },
+ "princessSofia": {
+ "familyName": "Princess Sofia",
+ "fullName": "Princess Sofia",
+ "postscriptName": "PrincessSofia",
+ "category": "handwriting",
+ "capHeight": 858,
+ "ascent": 1010,
+ "descent": -574,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 670,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Princess Sofia",
+ "fullName": "Princess Sofia",
+ "postscriptName": "PrincessSofia",
+ "category": "handwriting",
+ "capHeight": 858,
+ "ascent": 1010,
+ "descent": -574,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 670,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ }
+ }
+ }
+ },
+ "prociono": {
+ "familyName": "Prociono",
+ "fullName": "Prociono",
+ "postscriptName": "Prociono-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1008,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 203,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Prociono",
+ "fullName": "Prociono",
+ "postscriptName": "Prociono-Regular",
+ "category": "serif",
+ "capHeight": 738,
+ "ascent": 1008,
+ "descent": -212,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 203,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "prompt": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Regular",
+ "postscriptName": "Prompt-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Thin",
+ "postscriptName": "Prompt-Thin",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ },
+ "200": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-ExtraLight",
+ "postscriptName": "Prompt-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "300": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Light",
+ "postscriptName": "Prompt-Light",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ },
+ "500": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Medium",
+ "postscriptName": "Prompt-Medium",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "600": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-SemiBold",
+ "postscriptName": "Prompt-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "700": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Bold",
+ "postscriptName": "Prompt-Bold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "800": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-ExtraBold",
+ "postscriptName": "Prompt-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "900": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Black",
+ "postscriptName": "Prompt-Black",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Prompt",
+ "fullName": "Prompt-Regular",
+ "postscriptName": "Prompt-Regular",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Italic",
+ "postscriptName": "Prompt-Italic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 568
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Black Italic",
+ "postscriptName": "Prompt-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt ExtraBold Italic",
+ "postscriptName": "Prompt-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Bold Bold Italic",
+ "postscriptName": "Prompt-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Semibold Italic",
+ "postscriptName": "Prompt-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 578
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Medium Italic",
+ "postscriptName": "Prompt-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Light Italic",
+ "postscriptName": "Prompt-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt ExtraLight Italic",
+ "postscriptName": "Prompt-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 553
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Prompt",
+ "fullName": "Prompt Thin Italic",
+ "postscriptName": "Prompt-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 714,
+ "ascent": 1090,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ }
+ }
+ },
+ "prostoOne": {
+ "familyName": "Prosto One",
+ "fullName": "Prosto One",
+ "postscriptName": "ProstoOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Prosto One",
+ "fullName": "Prosto One",
+ "postscriptName": "ProstoOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ }
+ }
+ }
+ },
+ "protestGuerrilla": {
+ "familyName": "Protest Guerrilla",
+ "fullName": "Protest Guerrilla Regular",
+ "postscriptName": "ProtestGuerrilla-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Protest Guerrilla",
+ "fullName": "Protest Guerrilla Regular",
+ "postscriptName": "ProtestGuerrilla-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ }
+ }
+ },
+ "protestRevolution": {
+ "familyName": "Protest Revolution",
+ "fullName": "Protest Revolution Regular",
+ "postscriptName": "ProtestRevolution-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Protest Revolution",
+ "fullName": "Protest Revolution Regular",
+ "postscriptName": "ProtestRevolution-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "protestRiot": {
+ "familyName": "Protest Riot",
+ "fullName": "Protest Riot Regular",
+ "postscriptName": "ProtestRiot-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Protest Riot",
+ "fullName": "Protest Riot Regular",
+ "postscriptName": "ProtestRiot-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ }
+ }
+ },
+ "protestStrike": {
+ "familyName": "Protest Strike",
+ "fullName": "Protest Strike Regular",
+ "postscriptName": "ProtestStrike-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Protest Strike",
+ "fullName": "Protest Strike Regular",
+ "postscriptName": "ProtestStrike-Regular",
+ "category": "display",
+ "capHeight": 720,
+ "ascent": 960,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 622
+ }
+ }
+ }
+ }
+ },
+ "prozaLibre": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre",
+ "postscriptName": "ProzaLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1996,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre Medium",
+ "postscriptName": "ProzaLibre-Medium",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1011,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1011
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "600": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre SemiBold",
+ "postscriptName": "ProzaLibre-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1031,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1031
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "700": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre Bold",
+ "postscriptName": "ProzaLibre-Bold",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1050,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1050
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "800": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre ExtraBold",
+ "postscriptName": "ProzaLibre-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1996,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1069,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1069
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre",
+ "postscriptName": "ProzaLibre-Regular",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1996,
+ "descent": -800,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 992,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 992
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre Italic",
+ "postscriptName": "ProzaLibre-Italic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre ExtraBold Italic",
+ "postscriptName": "ProzaLibre-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1066,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1066
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre Bold Italic",
+ "postscriptName": "ProzaLibre-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1042,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1042
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre SemiBold Italic",
+ "postscriptName": "ProzaLibre-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1019,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1019
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Proza Libre",
+ "fullName": "Proza Libre Medium Italic",
+ "postscriptName": "ProzaLibre-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2030,
+ "descent": -750,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 996,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 996
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ }
+ }
+ },
+ "publicSans": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Regular",
+ "postscriptName": "PublicSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1372
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Thin",
+ "postscriptName": "PublicSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 911,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 911
+ },
+ "thai": {
+ "xWidthAvg": 1430
+ }
+ }
+ },
+ "200": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans ExtraLight",
+ "postscriptName": "PublicSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 921,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 921
+ },
+ "thai": {
+ "xWidthAvg": 1405
+ }
+ }
+ },
+ "300": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Light",
+ "postscriptName": "PublicSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 1388
+ }
+ }
+ },
+ "500": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Medium",
+ "postscriptName": "PublicSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 941,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 941
+ },
+ "thai": {
+ "xWidthAvg": 1357
+ }
+ }
+ },
+ "600": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans SemiBold",
+ "postscriptName": "PublicSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 948,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 948
+ },
+ "thai": {
+ "xWidthAvg": 1341
+ }
+ }
+ },
+ "700": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Bold",
+ "postscriptName": "PublicSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 959,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 959
+ },
+ "thai": {
+ "xWidthAvg": 1315
+ }
+ }
+ },
+ "800": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans ExtraBold",
+ "postscriptName": "PublicSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1288
+ }
+ }
+ },
+ "900": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Black",
+ "postscriptName": "PublicSans-Black",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 980,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 980
+ },
+ "thai": {
+ "xWidthAvg": 1262
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Regular",
+ "postscriptName": "PublicSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1372
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Italic",
+ "postscriptName": "PublicSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 1639
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Black Italic",
+ "postscriptName": "PublicSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1527
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans ExtraBold Italic",
+ "postscriptName": "PublicSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 961,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 961
+ },
+ "thai": {
+ "xWidthAvg": 1554
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Bold Italic",
+ "postscriptName": "PublicSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1580
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans SemiBold Italic",
+ "postscriptName": "PublicSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 1607
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Medium Italic",
+ "postscriptName": "PublicSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 1623
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Light Italic",
+ "postscriptName": "PublicSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 1655
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans ExtraLight Italic",
+ "postscriptName": "PublicSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 1671
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Public Sans",
+ "fullName": "Public Sans Thin Italic",
+ "postscriptName": "PublicSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1446,
+ "ascent": 1900,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1034,
+ "xWidthAvg": 866,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 866
+ },
+ "thai": {
+ "xWidthAvg": 1697
+ }
+ }
+ }
+ }
+ },
+ "puppiesPlay": {
+ "familyName": "Puppies Play",
+ "fullName": "Puppies Play Regular",
+ "postscriptName": "PuppiesPlay-Regular",
+ "category": "handwriting",
+ "capHeight": 530,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 260,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Puppies Play",
+ "fullName": "Puppies Play Regular",
+ "postscriptName": "PuppiesPlay-Regular",
+ "category": "handwriting",
+ "capHeight": 530,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 260,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "puritan": {
+ "familyName": "Puritan",
+ "fullName": "Puritan Regular",
+ "postscriptName": "Puritan-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 881,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 507,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Puritan",
+ "fullName": "Puritan Bold",
+ "postscriptName": "Puritan-Bold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 896,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 507,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Puritan",
+ "fullName": "Puritan Regular",
+ "postscriptName": "Puritan-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 881,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 507,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Puritan",
+ "fullName": "Puritan Italic",
+ "postscriptName": "Puritan-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 880,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 507,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Puritan",
+ "fullName": "Puritan Bold Italic",
+ "postscriptName": "Puritan-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 896,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 507,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "purplePurse": {
+ "familyName": "Purple Purse",
+ "fullName": "Purple Purse",
+ "postscriptName": "PurplePurse-Regular",
+ "category": "display",
+ "capHeight": 1419,
+ "ascent": 1870,
+ "descent": -690,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 856,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Purple Purse",
+ "fullName": "Purple Purse",
+ "postscriptName": "PurplePurse-Regular",
+ "category": "display",
+ "capHeight": 1419,
+ "ascent": 1870,
+ "descent": -690,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 856,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "qahiri": {
+ "familyName": "Qahiri",
+ "fullName": "Qahiri Regular",
+ "postscriptName": "Qahiri-Regular",
+ "category": "sans-serif",
+ "capHeight": 560,
+ "ascent": 600,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 230,
+ "xWidthAvg": 192,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 192
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Qahiri",
+ "fullName": "Qahiri Regular",
+ "postscriptName": "Qahiri-Regular",
+ "category": "sans-serif",
+ "capHeight": 560,
+ "ascent": 600,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 230,
+ "xWidthAvg": 192,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 192
+ },
+ "thai": {
+ "xWidthAvg": 330
+ }
+ }
+ }
+ }
+ },
+ "quando": {
+ "familyName": "Quando",
+ "fullName": "Quando-Regular",
+ "postscriptName": "Quando-Regular",
+ "category": "serif",
+ "capHeight": 1533,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1200,
+ "xWidthAvg": 1120,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1120
+ },
+ "thai": {
+ "xWidthAvg": 1699
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Quando",
+ "fullName": "Quando-Regular",
+ "postscriptName": "Quando-Regular",
+ "category": "serif",
+ "capHeight": 1533,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1200,
+ "xWidthAvg": 1120,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1120
+ },
+ "thai": {
+ "xWidthAvg": 1699
+ }
+ }
+ }
+ }
+ },
+ "quantico": {
+ "familyName": "Quantico",
+ "fullName": "Quantico",
+ "postscriptName": "Quantico-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1063,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Quantico",
+ "fullName": "Quantico-Bold",
+ "postscriptName": "Quantico-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1063,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Quantico",
+ "fullName": "Quantico",
+ "postscriptName": "Quantico-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1063,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Quantico",
+ "fullName": "Quantico-Italic",
+ "postscriptName": "Quantico-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1063,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Quantico",
+ "fullName": "Quantico-BoldItalic",
+ "postscriptName": "Quantico-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1063,
+ "descent": -367,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 260
+ }
+ }
+ }
+ }
+ },
+ "quattrocento": {
+ "familyName": "Quattrocento",
+ "fullName": "Quattrocento",
+ "postscriptName": "Quattrocento",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Quattrocento",
+ "fullName": "Quattrocento Bold",
+ "postscriptName": "Quattrocento-Bold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Quattrocento",
+ "fullName": "Quattrocento",
+ "postscriptName": "Quattrocento",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 459,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ }
+ }
+ },
+ "quattrocentoSans": {
+ "familyName": "Quattrocento Sans",
+ "fullName": "Quattrocento Sans",
+ "postscriptName": "QuattrocentoSans",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Quattrocento Sans",
+ "fullName": "Quattrocento Sans Bold",
+ "postscriptName": "QuattrocentoSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Quattrocento Sans",
+ "fullName": "Quattrocento Sans",
+ "postscriptName": "QuattrocentoSans",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Quattrocento Sans",
+ "fullName": "Quattrocento Sans Italic",
+ "postscriptName": "QuattrocentoSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Quattrocento Sans",
+ "fullName": "Quattrocento Sans Bold Italic",
+ "postscriptName": "QuattrocentoSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 848,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ }
+ }
+ },
+ "questrial": {
+ "familyName": "Questrial",
+ "fullName": "Questrial Regular",
+ "postscriptName": "Questrial-Regular",
+ "category": "sans-serif",
+ "capHeight": 662,
+ "ascent": 820,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Questrial",
+ "fullName": "Questrial Regular",
+ "postscriptName": "Questrial-Regular",
+ "category": "sans-serif",
+ "capHeight": 662,
+ "ascent": 820,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ }
+ }
+ },
+ "quicksand": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand Regular",
+ "postscriptName": "Quicksand-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand Light",
+ "postscriptName": "Quicksand-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand Medium",
+ "postscriptName": "Quicksand-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand SemiBold",
+ "postscriptName": "Quicksand-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand Bold",
+ "postscriptName": "Quicksand-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Quicksand",
+ "fullName": "Quicksand Regular",
+ "postscriptName": "Quicksand-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "quintessential": {
+ "familyName": "Quintessential",
+ "fullName": "Quintessential",
+ "postscriptName": "Quintessential-Regular",
+ "category": "handwriting",
+ "capHeight": 1489,
+ "ascent": 2341,
+ "descent": -799,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1057,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Quintessential",
+ "fullName": "Quintessential",
+ "postscriptName": "Quintessential-Regular",
+ "category": "handwriting",
+ "capHeight": 1489,
+ "ascent": 2341,
+ "descent": -799,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1057,
+ "xWidthAvg": 809,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 809
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "qwigley": {
+ "familyName": "Qwigley",
+ "fullName": "Qwigley Regular",
+ "postscriptName": "Qwigley-Regular",
+ "category": "handwriting",
+ "capHeight": 460,
+ "ascent": 750,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 252,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 252
+ },
+ "thai": {
+ "xWidthAvg": 185
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Qwigley",
+ "fullName": "Qwigley Regular",
+ "postscriptName": "Qwigley-Regular",
+ "category": "handwriting",
+ "capHeight": 460,
+ "ascent": 750,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 252,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 252
+ },
+ "thai": {
+ "xWidthAvg": 185
+ }
+ }
+ }
+ }
+ },
+ "qwitcherGrypen": {
+ "familyName": "Qwitcher Grypen",
+ "fullName": "Qwitcher Grypen Regular",
+ "postscriptName": "QwitcherGrypen-Regular",
+ "category": "handwriting",
+ "capHeight": 500,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 242,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 242
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Qwitcher Grypen",
+ "fullName": "Qwitcher Grypen Bold",
+ "postscriptName": "QwitcherGrypen-Bold",
+ "category": "handwriting",
+ "capHeight": 500,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 230,
+ "xWidthAvg": 267,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 267
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Qwitcher Grypen",
+ "fullName": "Qwitcher Grypen Regular",
+ "postscriptName": "QwitcherGrypen-Regular",
+ "category": "handwriting",
+ "capHeight": 500,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 242,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 242
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "rEM": {
+ "familyName": "REM",
+ "fullName": "REM Regular",
+ "postscriptName": "REM-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "REM",
+ "fullName": "REM Thin",
+ "postscriptName": "REM-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "200": {
+ "familyName": "REM",
+ "fullName": "REM ExtraLight",
+ "postscriptName": "REM-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "300": {
+ "familyName": "REM",
+ "fullName": "REM Light",
+ "postscriptName": "REM-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "500": {
+ "familyName": "REM",
+ "fullName": "REM Medium",
+ "postscriptName": "REM-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "600": {
+ "familyName": "REM",
+ "fullName": "REM SemiBold",
+ "postscriptName": "REM-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "700": {
+ "familyName": "REM",
+ "fullName": "REM Bold",
+ "postscriptName": "REM-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "800": {
+ "familyName": "REM",
+ "fullName": "REM ExtraBold",
+ "postscriptName": "REM-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 521,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "900": {
+ "familyName": "REM",
+ "fullName": "REM Black",
+ "postscriptName": "REM-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "regular": {
+ "familyName": "REM",
+ "fullName": "REM Regular",
+ "postscriptName": "REM-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "italic": {
+ "familyName": "REM",
+ "fullName": "REM Italic",
+ "postscriptName": "REM-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "REM",
+ "fullName": "REM Black Italic",
+ "postscriptName": "REM-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 668
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "REM",
+ "fullName": "REM ExtraBold Italic",
+ "postscriptName": "REM-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 521,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 668
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "REM",
+ "fullName": "REM Bold Italic",
+ "postscriptName": "REM-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 516,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "REM",
+ "fullName": "REM SemiBold Italic",
+ "postscriptName": "REM-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 513,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "REM",
+ "fullName": "REM Medium Italic",
+ "postscriptName": "REM-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "REM",
+ "fullName": "REM Light Italic",
+ "postscriptName": "REM-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 499,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "REM",
+ "fullName": "REM ExtraLight Italic",
+ "postscriptName": "REM-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 495,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "REM",
+ "fullName": "REM Thin Italic",
+ "postscriptName": "REM-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ }
+ }
+ },
+ "racingSansOne": {
+ "familyName": "Racing Sans One",
+ "fullName": "Racing Sans One",
+ "postscriptName": "RacingSansOne-Regular",
+ "category": "display",
+ "capHeight": 635,
+ "ascent": 976,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 227
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Racing Sans One",
+ "fullName": "Racing Sans One",
+ "postscriptName": "RacingSansOne-Regular",
+ "category": "display",
+ "capHeight": 635,
+ "ascent": 976,
+ "descent": -284,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 227
+ }
+ }
+ }
+ }
+ },
+ "radioCanada": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Regular",
+ "postscriptName": "RadioCanada-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Light",
+ "postscriptName": "RadioCanada-Light",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Medium",
+ "postscriptName": "RadioCanada-Medium",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada SemiBold",
+ "postscriptName": "RadioCanada-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Bold",
+ "postscriptName": "RadioCanada-Bold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Regular",
+ "postscriptName": "RadioCanada-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Italic",
+ "postscriptName": "RadioCanada-Italic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Bold Italic",
+ "postscriptName": "RadioCanada-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada SemiBold Italic",
+ "postscriptName": "RadioCanada-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 522,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Medium Italic",
+ "postscriptName": "RadioCanada-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Radio Canada",
+ "fullName": "Radio Canada Light Italic",
+ "postscriptName": "RadioCanada-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 945,
+ "descent": -255,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "radioCanadaBig": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Regular",
+ "postscriptName": "RadioCanadaBig-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Medium",
+ "postscriptName": "RadioCanadaBig-Medium",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "600": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big SemiBold",
+ "postscriptName": "RadioCanadaBig-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 651
+ }
+ }
+ },
+ "700": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Bold",
+ "postscriptName": "RadioCanadaBig-Bold",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Regular",
+ "postscriptName": "RadioCanadaBig-Regular",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Italic",
+ "postscriptName": "RadioCanadaBig-Italic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 597
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Bold Italic",
+ "postscriptName": "RadioCanadaBig-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big SemiBold Italic",
+ "postscriptName": "RadioCanadaBig-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Radio Canada Big",
+ "fullName": "Radio Canada Big Medium Italic",
+ "postscriptName": "RadioCanadaBig-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 995,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 598
+ }
+ }
+ }
+ }
+ },
+ "radley": {
+ "familyName": "Radley",
+ "fullName": "Radley Regular",
+ "postscriptName": "Radley-Regular",
+ "category": "serif",
+ "capHeight": 1302,
+ "ascent": 1973,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 899,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1226
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Radley",
+ "fullName": "Radley Regular",
+ "postscriptName": "Radley-Regular",
+ "category": "serif",
+ "capHeight": 1302,
+ "ascent": 1973,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 899,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 1226
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Radley",
+ "fullName": "Radley Italic",
+ "postscriptName": "Radley-Italic",
+ "category": "serif",
+ "capHeight": 1264,
+ "ascent": 1973,
+ "descent": -615,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 891,
+ "xWidthAvg": 881,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 881
+ },
+ "thai": {
+ "xWidthAvg": 451
+ }
+ }
+ }
+ }
+ },
+ "rajdhani": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani Regular",
+ "postscriptName": "Rajdhani-Regular",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani Light",
+ "postscriptName": "Rajdhani-Light",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani Medium",
+ "postscriptName": "Rajdhani-Medium",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani SemiBold",
+ "postscriptName": "Rajdhani-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani Bold",
+ "postscriptName": "Rajdhani-Bold",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rajdhani",
+ "fullName": "Rajdhani Regular",
+ "postscriptName": "Rajdhani-Regular",
+ "category": "sans-serif",
+ "capHeight": 643,
+ "ascent": 930,
+ "descent": -346,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "rakkas": {
+ "familyName": "Rakkas",
+ "fullName": "Rakkas Regular",
+ "postscriptName": "Rakkas-Regular",
+ "category": "display",
+ "capHeight": 670,
+ "ascent": 1046,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rakkas",
+ "fullName": "Rakkas Regular",
+ "postscriptName": "Rakkas-Regular",
+ "category": "display",
+ "capHeight": 670,
+ "ascent": 1046,
+ "descent": -445,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "raleway": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Regular",
+ "postscriptName": "Raleway-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Thin",
+ "postscriptName": "Raleway-Thin",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "200": {
+ "familyName": "Raleway",
+ "fullName": "Raleway ExtraLight",
+ "postscriptName": "Raleway-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "300": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Light",
+ "postscriptName": "Raleway-Light",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "500": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Medium",
+ "postscriptName": "Raleway-Medium",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "600": {
+ "familyName": "Raleway",
+ "fullName": "Raleway SemiBold",
+ "postscriptName": "Raleway-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "700": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Bold",
+ "postscriptName": "Raleway-Bold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "800": {
+ "familyName": "Raleway",
+ "fullName": "Raleway ExtraBold",
+ "postscriptName": "Raleway-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "900": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Black",
+ "postscriptName": "Raleway-Black",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Regular",
+ "postscriptName": "Raleway-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Italic",
+ "postscriptName": "Raleway-Italic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Black Italic",
+ "postscriptName": "Raleway-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway ExtraBold Italic",
+ "postscriptName": "Raleway-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Bold Italic",
+ "postscriptName": "Raleway-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway SemiBold Italic",
+ "postscriptName": "Raleway-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Medium Italic",
+ "postscriptName": "Raleway-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Light Italic",
+ "postscriptName": "Raleway-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway ExtraLight Italic",
+ "postscriptName": "Raleway-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Raleway",
+ "fullName": "Raleway Thin Italic",
+ "postscriptName": "Raleway-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 940,
+ "descent": -234,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 519,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ }
+ }
+ },
+ "ralewayDots": {
+ "familyName": "Raleway Dots",
+ "fullName": "Raleway Dots",
+ "postscriptName": "RalewayDots-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 918,
+ "descent": -213,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Raleway Dots",
+ "fullName": "Raleway Dots",
+ "postscriptName": "RalewayDots-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 918,
+ "descent": -213,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "ramabhadra": {
+ "familyName": "Ramabhadra",
+ "fullName": "Ramabhadra",
+ "postscriptName": "Ramabhadra",
+ "category": "sans-serif",
+ "capHeight": 571,
+ "ascent": 1101,
+ "descent": -474,
+ "lineGap": 0,
+ "unitsPerEm": 830,
+ "xHeight": 439,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ramabhadra",
+ "fullName": "Ramabhadra",
+ "postscriptName": "Ramabhadra",
+ "category": "sans-serif",
+ "capHeight": 571,
+ "ascent": 1101,
+ "descent": -474,
+ "lineGap": 0,
+ "unitsPerEm": 830,
+ "xHeight": 439,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 299
+ }
+ }
+ }
+ }
+ },
+ "ramaraja": {
+ "familyName": "Ramaraja",
+ "fullName": "Ramaraja",
+ "postscriptName": "Ramaraja",
+ "category": "serif",
+ "capHeight": 439,
+ "ascent": 741,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 293,
+ "xWidthAvg": 276,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 276
+ },
+ "thai": {
+ "xWidthAvg": 438
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ramaraja",
+ "fullName": "Ramaraja",
+ "postscriptName": "Ramaraja",
+ "category": "serif",
+ "capHeight": 439,
+ "ascent": 741,
+ "descent": -544,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 293,
+ "xWidthAvg": 276,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 276
+ },
+ "thai": {
+ "xWidthAvg": 438
+ }
+ }
+ }
+ }
+ },
+ "rambla": {
+ "familyName": "Rambla",
+ "fullName": "Rambla",
+ "postscriptName": "Rambla-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 929,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Rambla",
+ "fullName": "Rambla Bold",
+ "postscriptName": "Rambla-Bold",
+ "category": "sans-serif",
+ "capHeight": 669,
+ "ascent": 929,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rambla",
+ "fullName": "Rambla",
+ "postscriptName": "Rambla-Regular",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 929,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rambla",
+ "fullName": "Rambla Italic",
+ "postscriptName": "Rambla-Italic",
+ "category": "sans-serif",
+ "capHeight": 668,
+ "ascent": 929,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 506,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rambla",
+ "fullName": "Rambla Bold Italic",
+ "postscriptName": "Rambla-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 669,
+ "ascent": 929,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "rammettoOne": {
+ "familyName": "Rammetto One",
+ "fullName": "Rammetto One Regular",
+ "postscriptName": "RammettoOne-Regular",
+ "category": "display",
+ "capHeight": 1622,
+ "ascent": 2437,
+ "descent": -1022,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1243,
+ "xWidthAvg": 1289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1289
+ },
+ "thai": {
+ "xWidthAvg": 1963
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rammetto One",
+ "fullName": "Rammetto One Regular",
+ "postscriptName": "RammettoOne-Regular",
+ "category": "display",
+ "capHeight": 1622,
+ "ascent": 2437,
+ "descent": -1022,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1243,
+ "xWidthAvg": 1289,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1289
+ },
+ "thai": {
+ "xWidthAvg": 1963
+ }
+ }
+ }
+ }
+ },
+ "rampartOne": {
+ "familyName": "Rampart One",
+ "fullName": "Rampart One Regular",
+ "postscriptName": "RampartOne-Regular",
+ "category": "display",
+ "capHeight": 764,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rampart One",
+ "fullName": "Rampart One Regular",
+ "postscriptName": "RampartOne-Regular",
+ "category": "display",
+ "capHeight": 764,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 555,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "ranchers": {
+ "familyName": "Ranchers",
+ "fullName": "Ranchers",
+ "postscriptName": "Ranchers-Regular",
+ "category": "display",
+ "capHeight": 818,
+ "ascent": 1045,
+ "descent": -205,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 598,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 626
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ranchers",
+ "fullName": "Ranchers",
+ "postscriptName": "Ranchers-Regular",
+ "category": "display",
+ "capHeight": 818,
+ "ascent": 1045,
+ "descent": -205,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 598,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 626
+ }
+ }
+ }
+ }
+ },
+ "rancho": {
+ "familyName": "Rancho",
+ "fullName": "Rancho Regular",
+ "postscriptName": "Rancho-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 919,
+ "descent": -329,
+ "lineGap": 24,
+ "unitsPerEm": 1024,
+ "xHeight": 407,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 215
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rancho",
+ "fullName": "Rancho Regular",
+ "postscriptName": "Rancho-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 919,
+ "descent": -329,
+ "lineGap": 24,
+ "unitsPerEm": 1024,
+ "xHeight": 407,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 215
+ }
+ }
+ }
+ }
+ },
+ "ranga": {
+ "familyName": "Ranga",
+ "fullName": "Ranga Regular",
+ "postscriptName": "Ranga-Regular",
+ "category": "display",
+ "capHeight": 1483,
+ "ascent": 2218,
+ "descent": -1027,
+ "lineGap": 0,
+ "unitsPerEm": 2218,
+ "xHeight": 1040,
+ "xWidthAvg": 663,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 663
+ },
+ "thai": {
+ "xWidthAvg": 1495
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Ranga",
+ "fullName": "Ranga Bold",
+ "postscriptName": "Ranga-Bold",
+ "category": "display",
+ "capHeight": 1483,
+ "ascent": 2218,
+ "descent": -1027,
+ "lineGap": 0,
+ "unitsPerEm": 2218,
+ "xHeight": 1116,
+ "xWidthAvg": 703,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 703
+ },
+ "thai": {
+ "xWidthAvg": 1495
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ranga",
+ "fullName": "Ranga Regular",
+ "postscriptName": "Ranga-Regular",
+ "category": "display",
+ "capHeight": 1483,
+ "ascent": 2218,
+ "descent": -1027,
+ "lineGap": 0,
+ "unitsPerEm": 2218,
+ "xHeight": 1040,
+ "xWidthAvg": 663,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 663
+ },
+ "thai": {
+ "xWidthAvg": 1495
+ }
+ }
+ }
+ }
+ },
+ "rasa": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Regular",
+ "postscriptName": "Rasa-Regular",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Light",
+ "postscriptName": "Rasa-Light",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "500": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Medium",
+ "postscriptName": "Rasa-Medium",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rasa",
+ "fullName": "Rasa SemiBold",
+ "postscriptName": "Rasa-SemiBold",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Bold",
+ "postscriptName": "Rasa-Bold",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Regular",
+ "postscriptName": "Rasa-Regular",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Italic",
+ "postscriptName": "Rasa-Italic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Bold Italic",
+ "postscriptName": "Rasa-BoldItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Rasa",
+ "fullName": "Rasa SemiBold Italic",
+ "postscriptName": "Rasa-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Medium Italic",
+ "postscriptName": "Rasa-MediumItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Rasa",
+ "fullName": "Rasa Light Italic",
+ "postscriptName": "Rasa-LightItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "rationale": {
+ "familyName": "Rationale",
+ "fullName": "Rationale",
+ "postscriptName": "Rationale-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 903,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rationale",
+ "fullName": "Rationale",
+ "postscriptName": "Rationale-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 903,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 508,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ }
+ }
+ },
+ "raviPrakash": {
+ "familyName": "Ravi Prakash",
+ "fullName": "Ravi Prakash",
+ "postscriptName": "RaviPrakash-Regular",
+ "category": "display",
+ "capHeight": 552,
+ "ascent": 938,
+ "descent": -684,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 410,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ravi Prakash",
+ "fullName": "Ravi Prakash",
+ "postscriptName": "RaviPrakash-Regular",
+ "category": "display",
+ "capHeight": 552,
+ "ascent": 938,
+ "descent": -684,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 410,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 374
+ }
+ }
+ }
+ }
+ },
+ "readexPro": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro Regular",
+ "postscriptName": "ReadexPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro ExtraLight",
+ "postscriptName": "ReadexPro-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "300": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro Light",
+ "postscriptName": "ReadexPro-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "500": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro Medium",
+ "postscriptName": "ReadexPro-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "600": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro SemiBold",
+ "postscriptName": "ReadexPro-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "700": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro Bold",
+ "postscriptName": "ReadexPro-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Readex Pro",
+ "fullName": "Readex Pro Regular",
+ "postscriptName": "ReadexPro-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 525,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 584
+ }
+ }
+ }
+ }
+ },
+ "recursive": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Regular",
+ "postscriptName": "Recursive-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Light",
+ "postscriptName": "Recursive-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Medium",
+ "postscriptName": "Recursive-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Recursive",
+ "fullName": "Recursive SemiBold",
+ "postscriptName": "Recursive-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 536,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Bold",
+ "postscriptName": "Recursive-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 538,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Recursive",
+ "fullName": "Recursive ExtraBold",
+ "postscriptName": "Recursive-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Black",
+ "postscriptName": "Recursive-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 547,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Recursive",
+ "fullName": "Recursive Regular",
+ "postscriptName": "Recursive-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 532,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "redHatDisplay": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Regular",
+ "postscriptName": "RedHatDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Light",
+ "postscriptName": "RedHatDisplay-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "500": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Medium",
+ "postscriptName": "RedHatDisplay-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "600": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display SemiBold",
+ "postscriptName": "RedHatDisplay-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Bold",
+ "postscriptName": "RedHatDisplay-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "800": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display ExtraBold",
+ "postscriptName": "RedHatDisplay-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "900": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Black",
+ "postscriptName": "RedHatDisplay-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Regular",
+ "postscriptName": "RedHatDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Italic",
+ "postscriptName": "RedHatDisplay-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Black Italic",
+ "postscriptName": "RedHatDisplay-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display ExtraBold Italic",
+ "postscriptName": "RedHatDisplay-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Bold Italic",
+ "postscriptName": "RedHatDisplay-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display SemiBold Italic",
+ "postscriptName": "RedHatDisplay-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Medium Italic",
+ "postscriptName": "RedHatDisplay-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Red Hat Display",
+ "fullName": "Red Hat Display Light Italic",
+ "postscriptName": "RedHatDisplay-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "redHatMono": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Regular",
+ "postscriptName": "RedHatMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Light",
+ "postscriptName": "RedHatMono-Light",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Medium",
+ "postscriptName": "RedHatMono-Medium",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono SemiBold",
+ "postscriptName": "RedHatMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Bold",
+ "postscriptName": "RedHatMono-Bold",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Regular",
+ "postscriptName": "RedHatMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Italic",
+ "postscriptName": "RedHatMono-Italic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Bold Italic",
+ "postscriptName": "RedHatMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono SemiBold Italic",
+ "postscriptName": "RedHatMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Medium Italic",
+ "postscriptName": "RedHatMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Red Hat Mono",
+ "fullName": "Red Hat Mono Light Italic",
+ "postscriptName": "RedHatMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "redHatText": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Regular",
+ "postscriptName": "RedHatText-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Light",
+ "postscriptName": "RedHatText-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "500": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Medium",
+ "postscriptName": "RedHatText-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "600": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text SemiBold",
+ "postscriptName": "RedHatText-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Bold",
+ "postscriptName": "RedHatText-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Regular",
+ "postscriptName": "RedHatText-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Italic",
+ "postscriptName": "RedHatText-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Bold Italic",
+ "postscriptName": "RedHatText-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text SemiBold Italic",
+ "postscriptName": "RedHatText-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Medium Italic",
+ "postscriptName": "RedHatText-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Red Hat Text",
+ "fullName": "Red Hat Text Light Italic",
+ "postscriptName": "RedHatText-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1018,
+ "descent": -305,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "redRose": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose Regular",
+ "postscriptName": "RedRose-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose Light",
+ "postscriptName": "RedRose-Light",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "500": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose Medium",
+ "postscriptName": "RedRose-Medium",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "600": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose SemiBold",
+ "postscriptName": "RedRose-SemiBold",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "700": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose Bold",
+ "postscriptName": "RedRose-Bold",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Red Rose",
+ "fullName": "Red Rose Regular",
+ "postscriptName": "RedRose-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 468,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "redacted": {
+ "familyName": "Redacted",
+ "fullName": "Redacted Regular",
+ "postscriptName": "Redacted-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 317,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 317
+ },
+ "thai": {
+ "xWidthAvg": 375
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Redacted",
+ "fullName": "Redacted Regular",
+ "postscriptName": "Redacted-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 317,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 317
+ },
+ "thai": {
+ "xWidthAvg": 375
+ }
+ }
+ }
+ }
+ },
+ "redactedScript": {
+ "familyName": "Redacted Script",
+ "fullName": "Redacted Script Regular",
+ "postscriptName": "RedactedScript-Regular",
+ "category": "display",
+ "capHeight": 702,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Redacted Script",
+ "fullName": "Redacted Script Light",
+ "postscriptName": "RedactedScript-Light",
+ "category": "display",
+ "capHeight": 702,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ }
+ },
+ "700": {
+ "familyName": "Redacted Script",
+ "fullName": "Redacted Script Bold",
+ "postscriptName": "RedactedScript-Bold",
+ "category": "display",
+ "capHeight": 702,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Redacted Script",
+ "fullName": "Redacted Script Regular",
+ "postscriptName": "RedactedScript-Regular",
+ "category": "display",
+ "capHeight": 702,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 439,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ }
+ }
+ }
+ },
+ "redditMono": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Regular",
+ "postscriptName": "RedditMono-Regular",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono ExtraLight",
+ "postscriptName": "RedditMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1048,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "300": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Light",
+ "postscriptName": "RedditMono-Light",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "500": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Medium",
+ "postscriptName": "RedditMono-Medium",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1063,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "600": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono SemiBold",
+ "postscriptName": "RedditMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1067,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "700": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Bold",
+ "postscriptName": "RedditMono-Bold",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "800": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono ExtraBold",
+ "postscriptName": "RedditMono-ExtraBold",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1076,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "900": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Black",
+ "postscriptName": "RedditMono-Black",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Reddit Mono",
+ "fullName": "Reddit Mono Regular",
+ "postscriptName": "RedditMono-Regular",
+ "category": "monospace",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 1152,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1152
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ }
+ }
+ },
+ "redditSans": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Regular",
+ "postscriptName": "RedditSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1336
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans ExtraLight",
+ "postscriptName": "RedditSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1048,
+ "xWidthAvg": 899,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 899
+ },
+ "thai": {
+ "xWidthAvg": 1308
+ }
+ }
+ },
+ "300": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Light",
+ "postscriptName": "RedditSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 910,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 910
+ },
+ "thai": {
+ "xWidthAvg": 1324
+ }
+ }
+ },
+ "500": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Medium",
+ "postscriptName": "RedditSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1063,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1357
+ }
+ }
+ },
+ "600": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans SemiBold",
+ "postscriptName": "RedditSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1067,
+ "xWidthAvg": 939,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 939
+ },
+ "thai": {
+ "xWidthAvg": 1378
+ }
+ }
+ },
+ "700": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Bold",
+ "postscriptName": "RedditSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1405
+ }
+ }
+ },
+ "800": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans ExtraBold",
+ "postscriptName": "RedditSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1076,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1431
+ }
+ }
+ },
+ "900": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Black",
+ "postscriptName": "RedditSans-Black",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 985,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 985
+ },
+ "thai": {
+ "xWidthAvg": 1458
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Regular",
+ "postscriptName": "RedditSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1336
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Italic",
+ "postscriptName": "RedditSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1060,
+ "xWidthAvg": 916,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 916
+ },
+ "thai": {
+ "xWidthAvg": 1317
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Black Italic",
+ "postscriptName": "RedditSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1007,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1007
+ },
+ "thai": {
+ "xWidthAvg": 1419
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans ExtraBold Italic",
+ "postscriptName": "RedditSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1076,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1397
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Bold Italic",
+ "postscriptName": "RedditSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 1375
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans SemiBold Italic",
+ "postscriptName": "RedditSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1067,
+ "xWidthAvg": 945,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 945
+ },
+ "thai": {
+ "xWidthAvg": 1352
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Medium Italic",
+ "postscriptName": "RedditSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1063,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 1335
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans Light Italic",
+ "postscriptName": "RedditSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 897,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 897
+ },
+ "thai": {
+ "xWidthAvg": 1293
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Reddit Sans",
+ "fullName": "Reddit Sans ExtraLight Italic",
+ "postscriptName": "RedditSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1048,
+ "xWidthAvg": 873,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 873
+ },
+ "thai": {
+ "xWidthAvg": 1262
+ }
+ }
+ }
+ }
+ },
+ "redditSansCondensed": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Regular",
+ "postscriptName": "RedditSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 816,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 816
+ },
+ "thai": {
+ "xWidthAvg": 1168
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed ExtraLight",
+ "postscriptName": "RedditSansCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1068,
+ "xWidthAvg": 790,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 790
+ },
+ "thai": {
+ "xWidthAvg": 1130
+ }
+ }
+ },
+ "300": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Light",
+ "postscriptName": "RedditSansCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1075,
+ "xWidthAvg": 805,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 805
+ },
+ "thai": {
+ "xWidthAvg": 1152
+ }
+ }
+ },
+ "500": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Medium",
+ "postscriptName": "RedditSansCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1083,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 1189
+ }
+ }
+ },
+ "600": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed SemiBold",
+ "postscriptName": "RedditSansCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1087,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1209
+ }
+ }
+ },
+ "700": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Bold",
+ "postscriptName": "RedditSansCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1091,
+ "xWidthAvg": 860,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 860
+ },
+ "thai": {
+ "xWidthAvg": 1235
+ }
+ }
+ },
+ "800": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed ExtraBold",
+ "postscriptName": "RedditSansCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1096,
+ "xWidthAvg": 877,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 877
+ },
+ "thai": {
+ "xWidthAvg": 1260
+ }
+ }
+ },
+ "900": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Black",
+ "postscriptName": "RedditSansCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1100,
+ "xWidthAvg": 894,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 894
+ },
+ "thai": {
+ "xWidthAvg": 1286
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Reddit Sans Condensed",
+ "fullName": "Reddit Sans Condensed Regular",
+ "postscriptName": "RedditSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1474,
+ "ascent": 2068,
+ "descent": -592,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 816,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 816
+ },
+ "thai": {
+ "xWidthAvg": 1168
+ }
+ }
+ }
+ }
+ },
+ "redressed": {
+ "familyName": "Redressed",
+ "fullName": "Redressed Regular",
+ "postscriptName": "Redressed-Regular",
+ "category": "handwriting",
+ "capHeight": 1495,
+ "ascent": 1907,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 834,
+ "xWidthAvg": 735,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 735
+ },
+ "thai": {
+ "xWidthAvg": 432
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Redressed",
+ "fullName": "Redressed Regular",
+ "postscriptName": "Redressed-Regular",
+ "category": "handwriting",
+ "capHeight": 1495,
+ "ascent": 1907,
+ "descent": -494,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 834,
+ "xWidthAvg": 735,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 735
+ },
+ "thai": {
+ "xWidthAvg": 432
+ }
+ }
+ }
+ }
+ },
+ "reemKufi": {
+ "familyName": "Reem Kufi",
+ "fullName": "Reem Kufi Regular",
+ "postscriptName": "ReemKufi-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Reem Kufi",
+ "fullName": "Reem Kufi Medium",
+ "postscriptName": "ReemKufi-Medium",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Reem Kufi",
+ "fullName": "Reem Kufi SemiBold",
+ "postscriptName": "ReemKufi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 431,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Reem Kufi",
+ "fullName": "Reem Kufi Bold",
+ "postscriptName": "ReemKufi-Bold",
+ "category": "sans-serif",
+ "capHeight": 736,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 437,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Reem Kufi",
+ "fullName": "Reem Kufi Regular",
+ "postscriptName": "ReemKufi-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "reemKufiFun": {
+ "familyName": "Reem Kufi Fun",
+ "fullName": "Reem Kufi Fun Regular",
+ "postscriptName": "ReemKufiFun-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Reem Kufi Fun",
+ "fullName": "Reem Kufi Fun Medium",
+ "postscriptName": "ReemKufiFun-Medium",
+ "category": "sans-serif",
+ "capHeight": 729,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Reem Kufi Fun",
+ "fullName": "Reem Kufi Fun SemiBold",
+ "postscriptName": "ReemKufiFun-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 732,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 431,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Reem Kufi Fun",
+ "fullName": "Reem Kufi Fun Bold",
+ "postscriptName": "ReemKufiFun-Bold",
+ "category": "sans-serif",
+ "capHeight": 736,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 437,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Reem Kufi Fun",
+ "fullName": "Reem Kufi Fun Regular",
+ "postscriptName": "ReemKufiFun-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "reemKufiInk": {
+ "familyName": "Reem Kufi Ink",
+ "fullName": "Reem Kufi Ink Regular",
+ "postscriptName": "ReemKufiInk-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Reem Kufi Ink",
+ "fullName": "Reem Kufi Ink Regular",
+ "postscriptName": "ReemKufiInk-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1100,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "reenieBeanie": {
+ "familyName": "Reenie Beanie",
+ "fullName": "Reenie Beanie",
+ "postscriptName": "ReenieBeanie",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 414
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Reenie Beanie",
+ "fullName": "Reenie Beanie",
+ "postscriptName": "ReenieBeanie",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 414
+ }
+ }
+ }
+ }
+ },
+ "reggaeOne": {
+ "familyName": "Reggae One",
+ "fullName": "Reggae One Regular",
+ "postscriptName": "ReggaeOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 557,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Reggae One",
+ "fullName": "Reggae One Regular",
+ "postscriptName": "ReggaeOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 557,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "rethinkSans": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Regular",
+ "postscriptName": "RethinkSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Medium",
+ "postscriptName": "RethinkSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans SemiBold",
+ "postscriptName": "RethinkSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Bold",
+ "postscriptName": "RethinkSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "800": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans ExtraBold",
+ "postscriptName": "RethinkSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Regular",
+ "postscriptName": "RethinkSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 529
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Italic",
+ "postscriptName": "RethinkSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans ExtraBold Italic",
+ "postscriptName": "RethinkSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 509
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Bold Italic",
+ "postscriptName": "RethinkSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 517
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans SemiBold Italic",
+ "postscriptName": "RethinkSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Rethink Sans",
+ "fullName": "Rethink Sans Medium Italic",
+ "postscriptName": "RethinkSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 992,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 533
+ }
+ }
+ }
+ }
+ },
+ "revalia": {
+ "familyName": "Revalia",
+ "fullName": "Revalia-Regular",
+ "postscriptName": "Revalia-Regular",
+ "category": "display",
+ "capHeight": 879,
+ "ascent": 2146,
+ "descent": 382,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1140,
+ "xWidthAvg": 1329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1329
+ },
+ "thai": {
+ "xWidthAvg": 1070
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Revalia",
+ "fullName": "Revalia-Regular",
+ "postscriptName": "Revalia-Regular",
+ "category": "display",
+ "capHeight": 879,
+ "ascent": 2146,
+ "descent": 382,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1140,
+ "xWidthAvg": 1329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1329
+ },
+ "thai": {
+ "xWidthAvg": 1070
+ }
+ }
+ }
+ }
+ },
+ "rhodiumLibre": {
+ "familyName": "Rhodium Libre",
+ "fullName": "Rhodium Libre",
+ "postscriptName": "RhodiumLibre-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -610,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rhodium Libre",
+ "fullName": "Rhodium Libre",
+ "postscriptName": "RhodiumLibre-Regular",
+ "category": "serif",
+ "capHeight": 680,
+ "ascent": 1100,
+ "descent": -610,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "ribeye": {
+ "familyName": "Ribeye",
+ "fullName": "Ribeye",
+ "postscriptName": "Ribeye-Regular",
+ "category": "display",
+ "capHeight": 1491,
+ "ascent": 2130,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1061,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ribeye",
+ "fullName": "Ribeye",
+ "postscriptName": "Ribeye-Regular",
+ "category": "display",
+ "capHeight": 1491,
+ "ascent": 2130,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1061,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "ribeyeMarrow": {
+ "familyName": "Ribeye Marrow",
+ "fullName": "Ribeye Marrow",
+ "postscriptName": "RibeyeMarrow-Regular",
+ "category": "display",
+ "capHeight": 1460,
+ "ascent": 2130,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1061,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ribeye Marrow",
+ "fullName": "Ribeye Marrow",
+ "postscriptName": "RibeyeMarrow-Regular",
+ "category": "display",
+ "capHeight": 1460,
+ "ascent": 2130,
+ "descent": -668,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1061,
+ "xWidthAvg": 1096,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1096
+ },
+ "thai": {
+ "xWidthAvg": 614
+ }
+ }
+ }
+ }
+ },
+ "righteous": {
+ "familyName": "Righteous",
+ "fullName": "Righteous",
+ "postscriptName": "Righteous-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2017,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1077,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Righteous",
+ "fullName": "Righteous",
+ "postscriptName": "Righteous-Regular",
+ "category": "display",
+ "capHeight": 1434,
+ "ascent": 2017,
+ "descent": -526,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1077,
+ "xWidthAvg": 966,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 966
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ }
+ }
+ }
+ },
+ "risque": {
+ "familyName": "Risque",
+ "fullName": "Risque",
+ "postscriptName": "Risque-Regular",
+ "category": "display",
+ "capHeight": 1413,
+ "ascent": 1853,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1016,
+ "xWidthAvg": 884,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 884
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Risque",
+ "fullName": "Risque",
+ "postscriptName": "Risque-Regular",
+ "category": "display",
+ "capHeight": 1413,
+ "ascent": 1853,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1016,
+ "xWidthAvg": 884,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 884
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "roadRage": {
+ "familyName": "Road Rage",
+ "fullName": "Road Rage Regular",
+ "postscriptName": "RoadRage-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 260,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 260
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Road Rage",
+ "fullName": "Road Rage Regular",
+ "postscriptName": "RoadRage-Regular",
+ "category": "display",
+ "capHeight": 600,
+ "ascent": 850,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 260,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 260
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "roboto": {
+ "familyName": "Roboto",
+ "fullName": "Roboto",
+ "postscriptName": "Roboto-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 911,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 911
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Thin",
+ "postscriptName": "Roboto-Thin",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 880,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 880
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "300": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Light",
+ "postscriptName": "Roboto-Light",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 895,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 895
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "500": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Medium",
+ "postscriptName": "Roboto-Medium",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 920,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 920
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "700": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Bold",
+ "postscriptName": "Roboto-Bold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "900": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Black",
+ "postscriptName": "Roboto-Black",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 933,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 933
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Roboto",
+ "fullName": "Roboto",
+ "postscriptName": "Roboto-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 911,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 911
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Italic",
+ "postscriptName": "Roboto-Italic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 893,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 893
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Black Italic",
+ "postscriptName": "Roboto-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 915,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 915
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Bold Italic",
+ "postscriptName": "Roboto-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 909,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 909
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Medium Italic",
+ "postscriptName": "Roboto-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Light Italic",
+ "postscriptName": "Roboto-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 878,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 878
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Roboto",
+ "fullName": "Roboto Thin Italic",
+ "postscriptName": "Roboto-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 918
+ }
+ }
+ }
+ }
+ },
+ "robotoCondensed": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Regular",
+ "postscriptName": "RobotoCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 811,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 811
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Thin",
+ "postscriptName": "RobotoCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 788,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 788
+ },
+ "thai": {
+ "xWidthAvg": 808
+ }
+ }
+ },
+ "200": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed ExtraLight",
+ "postscriptName": "RobotoCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 791,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 791
+ },
+ "thai": {
+ "xWidthAvg": 806
+ }
+ }
+ },
+ "300": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Light",
+ "postscriptName": "RobotoCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 796,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 796
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "500": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Medium",
+ "postscriptName": "RobotoCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 819,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 819
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "600": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed SemiBold",
+ "postscriptName": "RobotoCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 823,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 823
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "700": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Bold",
+ "postscriptName": "RobotoCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 826,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 826
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "800": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed ExtraBold",
+ "postscriptName": "RobotoCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 830,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 830
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "900": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Black",
+ "postscriptName": "RobotoCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 833,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 833
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Regular",
+ "postscriptName": "RobotoCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 811,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 811
+ },
+ "thai": {
+ "xWidthAvg": 803
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Italic",
+ "postscriptName": "RobotoCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 788,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 788
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Black Italic",
+ "postscriptName": "RobotoCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 810,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 810
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed ExtraBold Italic",
+ "postscriptName": "RobotoCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 806,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 806
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Bold Italic",
+ "postscriptName": "RobotoCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 803,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 803
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed SemiBold Italic",
+ "postscriptName": "RobotoCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 800,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 800
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Medium Italic",
+ "postscriptName": "RobotoCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 796,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 796
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Light Italic",
+ "postscriptName": "RobotoCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 774,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 774
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed ExtraLight Italic",
+ "postscriptName": "RobotoCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 769,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 769
+ },
+ "thai": {
+ "xWidthAvg": 816
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Roboto Condensed",
+ "fullName": "Roboto Condensed Thin Italic",
+ "postscriptName": "RobotoCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 766,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 766
+ },
+ "thai": {
+ "xWidthAvg": 818
+ }
+ }
+ }
+ }
+ },
+ "robotoFlex": {
+ "familyName": "Roboto Flex",
+ "fullName": "Roboto Flex Regular",
+ "postscriptName": "RobotoFlex-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1052,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Roboto Flex",
+ "fullName": "Roboto Flex Regular",
+ "postscriptName": "RobotoFlex-Regular",
+ "category": "sans-serif",
+ "capHeight": 1456,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1052,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ }
+ }
+ },
+ "robotoMono": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Regular",
+ "postscriptName": "RobotoMono-Regular",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Thin",
+ "postscriptName": "RobotoMono-Thin",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "200": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono ExtraLight",
+ "postscriptName": "RobotoMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "300": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Light",
+ "postscriptName": "RobotoMono-Light",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "500": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Medium",
+ "postscriptName": "RobotoMono-Medium",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "600": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono SemiBold",
+ "postscriptName": "RobotoMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "700": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Bold",
+ "postscriptName": "RobotoMono-Bold",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Regular",
+ "postscriptName": "RobotoMono-Regular",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 1229
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Italic",
+ "postscriptName": "RobotoMono-Italic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Bold Italic",
+ "postscriptName": "RobotoMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono SemiBold Italic",
+ "postscriptName": "RobotoMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Medium Italic",
+ "postscriptName": "RobotoMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Light Italic",
+ "postscriptName": "RobotoMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono ExtraLight Italic",
+ "postscriptName": "RobotoMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Roboto Mono",
+ "fullName": "Roboto Mono Thin Italic",
+ "postscriptName": "RobotoMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 1202,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1202
+ },
+ "thai": {
+ "xWidthAvg": 1202
+ }
+ }
+ }
+ }
+ },
+ "robotoSerif": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Regular",
+ "postscriptName": "RobotoSerif-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Thin",
+ "postscriptName": "RobotoSerif-Thin",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "200": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif ExtraLight",
+ "postscriptName": "RobotoSerif-ExtraLight",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "300": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Light",
+ "postscriptName": "RobotoSerif-Light",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "500": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Medium",
+ "postscriptName": "RobotoSerif-Medium",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "600": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif SemiBold",
+ "postscriptName": "RobotoSerif-SemiBold",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "700": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Bold",
+ "postscriptName": "RobotoSerif-Bold",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "800": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif ExtraBold",
+ "postscriptName": "RobotoSerif-ExtraBold",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "900": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Black",
+ "postscriptName": "RobotoSerif-Black",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Regular",
+ "postscriptName": "RobotoSerif-Regular",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Italic",
+ "postscriptName": "RobotoSerif-Italic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Black Italic",
+ "postscriptName": "RobotoSerif-BlackItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 558,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 558
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif ExtraBold Italic",
+ "postscriptName": "RobotoSerif-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Bold Italic",
+ "postscriptName": "RobotoSerif-BoldItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 536,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 536
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif SemiBold Italic",
+ "postscriptName": "RobotoSerif-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 525,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 525
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Medium Italic",
+ "postscriptName": "RobotoSerif-MediumItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 514,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 514
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Light Italic",
+ "postscriptName": "RobotoSerif-LightItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif ExtraLight Italic",
+ "postscriptName": "RobotoSerif-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 483
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Roboto Serif",
+ "fullName": "Roboto Serif Thin Italic",
+ "postscriptName": "RobotoSerif-ThinItalic",
+ "category": "serif",
+ "capHeight": 710,
+ "ascent": 927,
+ "descent": -244,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "robotoSlab": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Regular",
+ "postscriptName": "RobotoSlab-Regular",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 972,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 972
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Thin",
+ "postscriptName": "RobotoSlab-Thin",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 953,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 953
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "200": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab ExtraLight",
+ "postscriptName": "RobotoSlab-ExtraLight",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 958,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 958
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "300": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Light",
+ "postscriptName": "RobotoSlab-Light",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 962,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 962
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "500": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Medium",
+ "postscriptName": "RobotoSlab-Medium",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 979,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 979
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "600": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab SemiBold",
+ "postscriptName": "RobotoSlab-SemiBold",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 981,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 981
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "700": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Bold",
+ "postscriptName": "RobotoSlab-Bold",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "800": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab ExtraBold",
+ "postscriptName": "RobotoSlab-ExtraBold",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "900": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Black",
+ "postscriptName": "RobotoSlab-Black",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 991,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 991
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Roboto Slab",
+ "fullName": "Roboto Slab Regular",
+ "postscriptName": "RobotoSlab-Regular",
+ "category": "serif",
+ "capHeight": 1456,
+ "ascent": 2146,
+ "descent": -555,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 972,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 972
+ },
+ "thai": {
+ "xWidthAvg": 1038
+ }
+ }
+ }
+ }
+ },
+ "rochester": {
+ "familyName": "Rochester",
+ "fullName": "Rochester Regular",
+ "postscriptName": "Rochester-Regular",
+ "category": "handwriting",
+ "capHeight": 326,
+ "ascent": 2109,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 192,
+ "xWidthAvg": 687,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 687
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rochester",
+ "fullName": "Rochester Regular",
+ "postscriptName": "Rochester-Regular",
+ "category": "handwriting",
+ "capHeight": 326,
+ "ascent": 2109,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 192,
+ "xWidthAvg": 687,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 687
+ },
+ "thai": {
+ "xWidthAvg": 471
+ }
+ }
+ }
+ }
+ },
+ "rock3D": {
+ "familyName": "Rock 3D",
+ "fullName": "Rock 3D Regular",
+ "postscriptName": "Rock3D-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 686,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 686
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rock 3D",
+ "fullName": "Rock 3D Regular",
+ "postscriptName": "Rock3D-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 686,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 686
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "rockSalt": {
+ "familyName": "Rock Salt",
+ "fullName": "Rock Salt Regular",
+ "postscriptName": "RockSalt-Regular",
+ "category": "handwriting",
+ "capHeight": 1154,
+ "ascent": 1623,
+ "descent": -788,
+ "lineGap": 32,
+ "unitsPerEm": 1024,
+ "xHeight": 833,
+ "xWidthAvg": 643,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 643
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rock Salt",
+ "fullName": "Rock Salt Regular",
+ "postscriptName": "RockSalt-Regular",
+ "category": "handwriting",
+ "capHeight": 1154,
+ "ascent": 1623,
+ "descent": -788,
+ "lineGap": 32,
+ "unitsPerEm": 1024,
+ "xHeight": 833,
+ "xWidthAvg": 643,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 643
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "rocknRollOne": {
+ "familyName": "RocknRoll One",
+ "fullName": "RocknRoll One Regular",
+ "postscriptName": "RocknRollOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "RocknRoll One",
+ "fullName": "RocknRoll One Regular",
+ "postscriptName": "RocknRollOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "rokkitt": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Regular",
+ "postscriptName": "Rokkitt-Regular",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Thin",
+ "postscriptName": "Rokkitt-Thin",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "200": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt ExtraLight",
+ "postscriptName": "Rokkitt-ExtraLight",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "300": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Light",
+ "postscriptName": "Rokkitt-Light",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "500": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Medium",
+ "postscriptName": "Rokkitt-Medium",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt SemiBold",
+ "postscriptName": "Rokkitt-SemiBold",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Bold",
+ "postscriptName": "Rokkitt-Bold",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt ExtraBold",
+ "postscriptName": "Rokkitt-ExtraBold",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "900": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Black",
+ "postscriptName": "Rokkitt-Black",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Regular",
+ "postscriptName": "Rokkitt-Regular",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Italic",
+ "postscriptName": "Rokkitt-Italic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Black Italic",
+ "postscriptName": "Rokkitt-BlackItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt ExtraBold Italic",
+ "postscriptName": "Rokkitt-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Bold Italic",
+ "postscriptName": "Rokkitt-BoldItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt SemiBold Italic",
+ "postscriptName": "Rokkitt-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Medium Italic",
+ "postscriptName": "Rokkitt-MediumItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Light Italic",
+ "postscriptName": "Rokkitt-LightItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt ExtraLight Italic",
+ "postscriptName": "Rokkitt-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Rokkitt",
+ "fullName": "Rokkitt Thin Italic",
+ "postscriptName": "Rokkitt-ThinItalic",
+ "category": "serif",
+ "capHeight": 583,
+ "ascent": 817,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 399,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "romanesco": {
+ "familyName": "Romanesco",
+ "fullName": "Romanesco",
+ "postscriptName": "Romanesco-Regular",
+ "category": "handwriting",
+ "capHeight": 1393,
+ "ascent": 1866,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 780,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Romanesco",
+ "fullName": "Romanesco",
+ "postscriptName": "Romanesco-Regular",
+ "category": "handwriting",
+ "capHeight": 1393,
+ "ascent": 1866,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 780,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 307
+ }
+ }
+ }
+ }
+ },
+ "ropaSans": {
+ "familyName": "Ropa Sans",
+ "fullName": "Ropa Sans Regular",
+ "postscriptName": "RopaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 841,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 434
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ropa Sans",
+ "fullName": "Ropa Sans Regular",
+ "postscriptName": "RopaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 841,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 377,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 377
+ },
+ "thai": {
+ "xWidthAvg": 434
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ropa Sans",
+ "fullName": "Ropa Sans Italic",
+ "postscriptName": "RopaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 841,
+ "descent": -231,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 434
+ }
+ }
+ }
+ }
+ },
+ "rosario": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Regular",
+ "postscriptName": "Rosario-Regular",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Light",
+ "postscriptName": "Rosario-Light",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "500": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Medium",
+ "postscriptName": "Rosario-Medium",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rosario",
+ "fullName": "Rosario SemiBold",
+ "postscriptName": "Rosario-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Bold",
+ "postscriptName": "Rosario-Bold",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Regular",
+ "postscriptName": "Rosario-Regular",
+ "category": "sans-serif",
+ "capHeight": 728,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 641
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Italic",
+ "postscriptName": "Rosario-Italic",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 642
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Bold Italic",
+ "postscriptName": "Rosario-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 642
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Rosario",
+ "fullName": "Rosario SemiBold Italic",
+ "postscriptName": "Rosario-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 642
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Medium Italic",
+ "postscriptName": "Rosario-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 642
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Rosario",
+ "fullName": "Rosario Light Italic",
+ "postscriptName": "Rosario-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 724,
+ "ascent": 977,
+ "descent": -235,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 642
+ }
+ }
+ }
+ }
+ },
+ "rosarivo": {
+ "familyName": "Rosarivo",
+ "fullName": "Rosarivo",
+ "postscriptName": "Rosarivo-Regular",
+ "category": "serif",
+ "capHeight": 757,
+ "ascent": 979,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 170,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rosarivo",
+ "fullName": "Rosarivo",
+ "postscriptName": "Rosarivo-Regular",
+ "category": "serif",
+ "capHeight": 757,
+ "ascent": 979,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 170,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rosarivo",
+ "fullName": "Rosarivo Italic",
+ "postscriptName": "Rosarivo-Italic",
+ "category": "serif",
+ "capHeight": 224,
+ "ascent": 979,
+ "descent": -424,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 217,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 667
+ }
+ }
+ }
+ }
+ },
+ "rougeScript": {
+ "familyName": "Rouge Script",
+ "fullName": "Rouge Script",
+ "postscriptName": "RougeScript-Regular",
+ "category": "handwriting",
+ "capHeight": 385,
+ "ascent": 1050,
+ "descent": -419,
+ "lineGap": 0,
+ "unitsPerEm": 1250,
+ "xHeight": 534,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rouge Script",
+ "fullName": "Rouge Script",
+ "postscriptName": "RougeScript-Regular",
+ "category": "handwriting",
+ "capHeight": 385,
+ "ascent": 1050,
+ "descent": -419,
+ "lineGap": 0,
+ "unitsPerEm": 1250,
+ "xHeight": 534,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ }
+ }
+ }
+ },
+ "rowdies": {
+ "familyName": "Rowdies",
+ "fullName": "Rowdies Regular",
+ "postscriptName": "Rowdies-Regular",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 997,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Rowdies",
+ "fullName": "Rowdies Light",
+ "postscriptName": "Rowdies-Light",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 997,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rowdies",
+ "fullName": "Rowdies Bold",
+ "postscriptName": "Rowdies-Bold",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 997,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rowdies",
+ "fullName": "Rowdies Regular",
+ "postscriptName": "Rowdies-Regular",
+ "category": "display",
+ "capHeight": 708,
+ "ascent": 997,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 599
+ }
+ }
+ }
+ }
+ },
+ "rozhaOne": {
+ "familyName": "Rozha One",
+ "fullName": "Rozha One Regular",
+ "postscriptName": "RozhaOne-Regular",
+ "category": "serif",
+ "capHeight": 560,
+ "ascent": 998,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rozha One",
+ "fullName": "Rozha One Regular",
+ "postscriptName": "RozhaOne-Regular",
+ "category": "serif",
+ "capHeight": 560,
+ "ascent": 998,
+ "descent": -422,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "rubik": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Regular",
+ "postscriptName": "Rubik-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Light",
+ "postscriptName": "Rubik-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "500": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Medium",
+ "postscriptName": "Rubik-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "600": {
+ "familyName": "Rubik",
+ "fullName": "Rubik SemiBold",
+ "postscriptName": "Rubik-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "700": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Bold",
+ "postscriptName": "Rubik-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "800": {
+ "familyName": "Rubik",
+ "fullName": "Rubik ExtraBold",
+ "postscriptName": "Rubik-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "900": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Black",
+ "postscriptName": "Rubik-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Regular",
+ "postscriptName": "Rubik-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Italic",
+ "postscriptName": "Rubik-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Black Italic",
+ "postscriptName": "Rubik-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik ExtraBold Italic",
+ "postscriptName": "Rubik-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Bold Italic",
+ "postscriptName": "Rubik-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik SemiBold Italic",
+ "postscriptName": "Rubik-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Medium Italic",
+ "postscriptName": "Rubik-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Rubik",
+ "fullName": "Rubik Light Italic",
+ "postscriptName": "Rubik-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 696
+ }
+ }
+ }
+ }
+ },
+ "rubik80sFade": {
+ "familyName": "Rubik 80s Fade",
+ "fullName": "Rubik 80s Fade Regular",
+ "postscriptName": "Rubik80sFade-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik 80s Fade",
+ "fullName": "Rubik 80s Fade Regular",
+ "postscriptName": "Rubik80sFade-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikBeastly": {
+ "familyName": "Rubik Beastly",
+ "fullName": "Rubik Beastly Regular",
+ "postscriptName": "RubikBeastly-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Beastly",
+ "fullName": "Rubik Beastly Regular",
+ "postscriptName": "RubikBeastly-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikBrokenFax": {
+ "familyName": "Rubik Broken Fax",
+ "fullName": "Rubik Broken Fax Regular",
+ "postscriptName": "RubikBrokenFax-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Broken Fax",
+ "fullName": "Rubik Broken Fax Regular",
+ "postscriptName": "RubikBrokenFax-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikBubbles": {
+ "familyName": "Rubik Bubbles",
+ "fullName": "Rubik Bubbles Regular",
+ "postscriptName": "RubikBubbles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Bubbles",
+ "fullName": "Rubik Bubbles Regular",
+ "postscriptName": "RubikBubbles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikBurned": {
+ "familyName": "Rubik Burned",
+ "fullName": "Rubik Burned Regular",
+ "postscriptName": "RubikBurned-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Burned",
+ "fullName": "Rubik Burned Regular",
+ "postscriptName": "RubikBurned-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikDirt": {
+ "familyName": "Rubik Dirt",
+ "fullName": "Rubik Dirt Regular",
+ "postscriptName": "RubikDirt-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Dirt",
+ "fullName": "Rubik Dirt Regular",
+ "postscriptName": "RubikDirt-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikDistressed": {
+ "familyName": "Rubik Distressed",
+ "fullName": "Rubik Distressed Regular",
+ "postscriptName": "RubikDistressed-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Distressed",
+ "fullName": "Rubik Distressed Regular",
+ "postscriptName": "RubikDistressed-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikDoodleShadow": {
+ "familyName": "Rubik Doodle Shadow",
+ "fullName": "Rubik Doodle Shadow Regular",
+ "postscriptName": "RubikDoodleShadow-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Doodle Shadow",
+ "fullName": "Rubik Doodle Shadow Regular",
+ "postscriptName": "RubikDoodleShadow-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikDoodleTriangles": {
+ "familyName": "Rubik Doodle Triangles",
+ "fullName": "Rubik Doodle Triangles Regular",
+ "postscriptName": "RubikDoodleTriangles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Doodle Triangles",
+ "fullName": "Rubik Doodle Triangles Regular",
+ "postscriptName": "RubikDoodleTriangles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikGemstones": {
+ "familyName": "Rubik Gemstones",
+ "fullName": "Rubik Gemstones Regular",
+ "postscriptName": "RubikGemstones-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Gemstones",
+ "fullName": "Rubik Gemstones Regular",
+ "postscriptName": "RubikGemstones-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikGlitch": {
+ "familyName": "Rubik Glitch",
+ "fullName": "Rubik Glitch Regular",
+ "postscriptName": "RubikGlitch-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Glitch",
+ "fullName": "Rubik Glitch Regular",
+ "postscriptName": "RubikGlitch-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikGlitchPop": {
+ "familyName": "Rubik Glitch Pop",
+ "fullName": "Rubik Glitch Pop Regular",
+ "postscriptName": "RubikGlitchPop-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Glitch Pop",
+ "fullName": "Rubik Glitch Pop Regular",
+ "postscriptName": "RubikGlitchPop-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikIso": {
+ "familyName": "Rubik Iso",
+ "fullName": "Rubik Iso Regular",
+ "postscriptName": "RubikIso-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Iso",
+ "fullName": "Rubik Iso Regular",
+ "postscriptName": "RubikIso-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikLines": {
+ "familyName": "Rubik Lines",
+ "fullName": "Rubik Lines Regular",
+ "postscriptName": "RubikLines-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Lines",
+ "fullName": "Rubik Lines Regular",
+ "postscriptName": "RubikLines-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikMaps": {
+ "familyName": "Rubik Maps",
+ "fullName": "Rubik Maps Regular",
+ "postscriptName": "RubikMaps-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Maps",
+ "fullName": "Rubik Maps Regular",
+ "postscriptName": "RubikMaps-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikMarkerHatch": {
+ "familyName": "Rubik Marker Hatch",
+ "fullName": "Rubik Marker Hatch Regular",
+ "postscriptName": "RubikMarkerHatch-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Marker Hatch",
+ "fullName": "Rubik Marker Hatch Regular",
+ "postscriptName": "RubikMarkerHatch-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikMaze": {
+ "familyName": "Rubik Maze",
+ "fullName": "Rubik Maze Regular",
+ "postscriptName": "RubikMaze-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Maze",
+ "fullName": "Rubik Maze Regular",
+ "postscriptName": "RubikMaze-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikMicrobe": {
+ "familyName": "Rubik Microbe",
+ "fullName": "Rubik Microbe Regular",
+ "postscriptName": "RubikMicrobe-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Microbe",
+ "fullName": "Rubik Microbe Regular",
+ "postscriptName": "RubikMicrobe-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikMonoOne": {
+ "familyName": "Rubik Mono One",
+ "fullName": "Rubik Mono One Regular",
+ "postscriptName": "RubikMonoOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 932,
+ "descent": -306,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 850,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 850
+ },
+ "thai": {
+ "xWidthAvg": 850
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Mono One",
+ "fullName": "Rubik Mono One Regular",
+ "postscriptName": "RubikMonoOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 932,
+ "descent": -306,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 700,
+ "xWidthAvg": 850,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 850
+ },
+ "thai": {
+ "xWidthAvg": 850
+ }
+ }
+ }
+ }
+ },
+ "rubikMoonrocks": {
+ "familyName": "Rubik Moonrocks",
+ "fullName": "Rubik Moonrocks Regular",
+ "postscriptName": "RubikMoonrocks-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Moonrocks",
+ "fullName": "Rubik Moonrocks Regular",
+ "postscriptName": "RubikMoonrocks-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikPixels": {
+ "familyName": "Rubik Pixels",
+ "fullName": "Rubik Pixels Regular",
+ "postscriptName": "RubikPixels-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Pixels",
+ "fullName": "Rubik Pixels Regular",
+ "postscriptName": "RubikPixels-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikPuddles": {
+ "familyName": "Rubik Puddles",
+ "fullName": "Rubik Puddles Regular",
+ "postscriptName": "RubikPuddles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Puddles",
+ "fullName": "Rubik Puddles Regular",
+ "postscriptName": "RubikPuddles-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikScribble": {
+ "familyName": "Rubik Scribble",
+ "fullName": "Rubik Scribble Regular",
+ "postscriptName": "RubikScribble-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Scribble",
+ "fullName": "Rubik Scribble Regular",
+ "postscriptName": "RubikScribble-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikSprayPaint": {
+ "familyName": "Rubik Spray Paint",
+ "fullName": "Rubik Spray Paint Regular",
+ "postscriptName": "RubikSprayPaint-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Spray Paint",
+ "fullName": "Rubik Spray Paint Regular",
+ "postscriptName": "RubikSprayPaint-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikStorm": {
+ "familyName": "Rubik Storm",
+ "fullName": "Rubik Storm Regular",
+ "postscriptName": "RubikStorm-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Storm",
+ "fullName": "Rubik Storm Regular",
+ "postscriptName": "RubikStorm-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikVinyl": {
+ "familyName": "Rubik Vinyl",
+ "fullName": "Rubik Vinyl Regular",
+ "postscriptName": "RubikVinyl-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Vinyl",
+ "fullName": "Rubik Vinyl Regular",
+ "postscriptName": "RubikVinyl-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "rubikWetPaint": {
+ "familyName": "Rubik Wet Paint",
+ "fullName": "Rubik Wet Paint Regular",
+ "postscriptName": "RubikWetPaint-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rubik Wet Paint",
+ "fullName": "Rubik Wet Paint Regular",
+ "postscriptName": "RubikWetPaint-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 935,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 528,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 528
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "ruda": {
+ "familyName": "Ruda",
+ "fullName": "Ruda Regular",
+ "postscriptName": "Ruda-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Ruda",
+ "fullName": "Ruda Medium",
+ "postscriptName": "Ruda-Medium",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ruda",
+ "fullName": "Ruda SemiBold",
+ "postscriptName": "Ruda-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ruda",
+ "fullName": "Ruda Bold",
+ "postscriptName": "Ruda-Bold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ruda",
+ "fullName": "Ruda ExtraBold",
+ "postscriptName": "Ruda-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ },
+ "900": {
+ "familyName": "Ruda",
+ "fullName": "Ruda Black",
+ "postscriptName": "Ruda-Black",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ruda",
+ "fullName": "Ruda Regular",
+ "postscriptName": "Ruda-Regular",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 922,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 582,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 276
+ }
+ }
+ }
+ }
+ },
+ "rufina": {
+ "familyName": "Rufina",
+ "fullName": "Rufina",
+ "postscriptName": "Rufina-Regular",
+ "category": "serif",
+ "capHeight": 668,
+ "ascent": 945,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 254
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Rufina",
+ "fullName": "Rufina Bold",
+ "postscriptName": "Rufina-Bold",
+ "category": "serif",
+ "capHeight": 668,
+ "ascent": 945,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 242
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Rufina",
+ "fullName": "Rufina",
+ "postscriptName": "Rufina-Regular",
+ "category": "serif",
+ "capHeight": 668,
+ "ascent": 945,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 254
+ }
+ }
+ }
+ }
+ },
+ "rugeBoogie": {
+ "familyName": "Ruge Boogie",
+ "fullName": "Ruge Boogie Regular",
+ "postscriptName": "RugeBoogie-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 875,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 449
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ruge Boogie",
+ "fullName": "Ruge Boogie Regular",
+ "postscriptName": "RugeBoogie-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 875,
+ "descent": -375,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 390,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 449
+ }
+ }
+ }
+ }
+ },
+ "ruluko": {
+ "familyName": "Ruluko",
+ "fullName": "Ruluko",
+ "postscriptName": "Ruluko",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 914,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 210
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ruluko",
+ "fullName": "Ruluko",
+ "postscriptName": "Ruluko",
+ "category": "sans-serif",
+ "capHeight": 690,
+ "ascent": 914,
+ "descent": -241,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 210
+ }
+ }
+ }
+ }
+ },
+ "rumRaisin": {
+ "familyName": "Rum Raisin",
+ "fullName": "Rum Raisin",
+ "postscriptName": "RumRaisin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 2013,
+ "descent": -629,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 725,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 725
+ },
+ "thai": {
+ "xWidthAvg": 430
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rum Raisin",
+ "fullName": "Rum Raisin",
+ "postscriptName": "RumRaisin-Regular",
+ "category": "sans-serif",
+ "capHeight": 1466,
+ "ascent": 2013,
+ "descent": -629,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1118,
+ "xWidthAvg": 725,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 725
+ },
+ "thai": {
+ "xWidthAvg": 430
+ }
+ }
+ }
+ }
+ },
+ "ruslanDisplay": {
+ "familyName": "Ruslan Display",
+ "fullName": "Ruslan Display Regular",
+ "postscriptName": "RuslanDisplay",
+ "category": "display",
+ "capHeight": 500,
+ "ascent": 688,
+ "descent": -397,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 610,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 610
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ruslan Display",
+ "fullName": "Ruslan Display Regular",
+ "postscriptName": "RuslanDisplay",
+ "category": "display",
+ "capHeight": 500,
+ "ascent": 688,
+ "descent": -397,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 610,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 610
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "russoOne": {
+ "familyName": "Russo One",
+ "fullName": "Russo One",
+ "postscriptName": "RussoOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 926,
+ "descent": -279,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Russo One",
+ "fullName": "Russo One",
+ "postscriptName": "RussoOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 926,
+ "descent": -279,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "ruthie": {
+ "familyName": "Ruthie",
+ "fullName": "Ruthie Regular",
+ "postscriptName": "Ruthie-Regular",
+ "category": "handwriting",
+ "capHeight": 701,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 292,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 292
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ruthie",
+ "fullName": "Ruthie Regular",
+ "postscriptName": "Ruthie-Regular",
+ "category": "handwriting",
+ "capHeight": 701,
+ "ascent": 800,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 292,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 292
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ }
+ }
+ },
+ "ruwudu": {
+ "familyName": "Ruwudu",
+ "fullName": "Ruwudu",
+ "postscriptName": "Ruwudu-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 867,
+ "descent": -741,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Ruwudu",
+ "fullName": "Ruwudu Medium",
+ "postscriptName": "Ruwudu-Medium",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 867,
+ "descent": -741,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ruwudu",
+ "fullName": "Ruwudu SemiBold",
+ "postscriptName": "Ruwudu-SemiBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 867,
+ "descent": -741,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ruwudu",
+ "fullName": "Ruwudu Bold",
+ "postscriptName": "Ruwudu-Bold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 867,
+ "descent": -741,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ruwudu",
+ "fullName": "Ruwudu",
+ "postscriptName": "Ruwudu-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 867,
+ "descent": -741,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 1033
+ }
+ }
+ }
+ }
+ },
+ "rye": {
+ "familyName": "Rye",
+ "fullName": "Rye Regular",
+ "postscriptName": "Rye-Regular",
+ "category": "display",
+ "capHeight": 363,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 387,
+ "xWidthAvg": 1081,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1081
+ },
+ "thai": {
+ "xWidthAvg": 1073
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Rye",
+ "fullName": "Rye Regular",
+ "postscriptName": "Rye-Regular",
+ "category": "display",
+ "capHeight": 363,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 387,
+ "xWidthAvg": 1081,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1081
+ },
+ "thai": {
+ "xWidthAvg": 1073
+ }
+ }
+ }
+ }
+ },
+ "sTIXTwoText": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Regular",
+ "postscriptName": "STIXTwoText-Regular",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Medium",
+ "postscriptName": "STIXTwoText-Medium",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "600": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text SemiBold",
+ "postscriptName": "STIXTwoText-SemiBold",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "700": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Bold",
+ "postscriptName": "STIXTwoText-Bold",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "regular": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Regular",
+ "postscriptName": "STIXTwoText-Regular",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "italic": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Italic",
+ "postscriptName": "STIXTwoText-Italic",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Bold Italic",
+ "postscriptName": "STIXTwoText-BoldItalic",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text SemiBold Italic",
+ "postscriptName": "STIXTwoText-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "STIX Two Text",
+ "fullName": "STIX Two Text Medium Italic",
+ "postscriptName": "STIXTwoText-MediumItalic",
+ "category": "serif",
+ "capHeight": 657,
+ "ascent": 762,
+ "descent": -238,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 605
+ }
+ }
+ }
+ }
+ },
+ "sUSE": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Regular",
+ "postscriptName": "SUSE-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 855
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Thin",
+ "postscriptName": "SUSE-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 865
+ }
+ }
+ },
+ "200": {
+ "familyName": "SUSE",
+ "fullName": "SUSE ExtraLight",
+ "postscriptName": "SUSE-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "300": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Light",
+ "postscriptName": "SUSE-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 858
+ }
+ }
+ },
+ "500": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Medium",
+ "postscriptName": "SUSE-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 851
+ }
+ }
+ },
+ "600": {
+ "familyName": "SUSE",
+ "fullName": "SUSE SemiBold",
+ "postscriptName": "SUSE-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 848
+ }
+ }
+ },
+ "700": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Bold",
+ "postscriptName": "SUSE-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 844
+ }
+ }
+ },
+ "800": {
+ "familyName": "SUSE",
+ "fullName": "SUSE ExtraBold",
+ "postscriptName": "SUSE-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 493,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 841
+ }
+ }
+ },
+ "regular": {
+ "familyName": "SUSE",
+ "fullName": "SUSE Regular",
+ "postscriptName": "SUSE-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 980,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 855
+ }
+ }
+ }
+ }
+ },
+ "sacramento": {
+ "familyName": "Sacramento",
+ "fullName": "Sacramento",
+ "postscriptName": "Sacramento-Regular",
+ "category": "handwriting",
+ "capHeight": 1550,
+ "ascent": 1905,
+ "descent": -1084,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 627,
+ "xWidthAvg": 672,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 672
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sacramento",
+ "fullName": "Sacramento",
+ "postscriptName": "Sacramento-Regular",
+ "category": "handwriting",
+ "capHeight": 1550,
+ "ascent": 1905,
+ "descent": -1084,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 627,
+ "xWidthAvg": 672,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 672
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sahitya": {
+ "familyName": "Sahitya",
+ "fullName": "Sahitya",
+ "postscriptName": "Sahitya-Regular",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1106,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sahitya",
+ "fullName": "Sahitya Bold",
+ "postscriptName": "Sahitya-Bold",
+ "category": "serif",
+ "capHeight": 642,
+ "ascent": 1106,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 462,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sahitya",
+ "fullName": "Sahitya",
+ "postscriptName": "Sahitya-Regular",
+ "category": "serif",
+ "capHeight": 637,
+ "ascent": 1106,
+ "descent": -447,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "sail": {
+ "familyName": "Sail",
+ "fullName": "Sail",
+ "postscriptName": "Sail-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 860,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 435,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 251
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sail",
+ "fullName": "Sail",
+ "postscriptName": "Sail-Regular",
+ "category": "display",
+ "capHeight": 666,
+ "ascent": 860,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 435,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 251
+ }
+ }
+ }
+ }
+ },
+ "saira": {
+ "familyName": "Saira",
+ "fullName": "Saira Regular",
+ "postscriptName": "Saira-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Saira",
+ "fullName": "Saira Thin",
+ "postscriptName": "Saira-Thin",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Saira",
+ "fullName": "Saira ExtraLight",
+ "postscriptName": "Saira-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Saira",
+ "fullName": "Saira Light",
+ "postscriptName": "Saira-Light",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Saira",
+ "fullName": "Saira Medium",
+ "postscriptName": "Saira-Medium",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Saira",
+ "fullName": "Saira SemiBold",
+ "postscriptName": "Saira-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Saira",
+ "fullName": "Saira Bold",
+ "postscriptName": "Saira-Bold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Saira",
+ "fullName": "Saira ExtraBold",
+ "postscriptName": "Saira-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Saira",
+ "fullName": "Saira Black",
+ "postscriptName": "Saira-Black",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Saira",
+ "fullName": "Saira Regular",
+ "postscriptName": "Saira-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Italic",
+ "postscriptName": "Saira-Italic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 850
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Black Italic",
+ "postscriptName": "Saira-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 747
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Saira",
+ "fullName": "Saira ExtraBold Italic",
+ "postscriptName": "Saira-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 768
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Bold Italic",
+ "postscriptName": "Saira-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 792
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Saira",
+ "fullName": "Saira SemiBold Italic",
+ "postscriptName": "Saira-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 816
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Medium Italic",
+ "postscriptName": "Saira-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 835
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Light Italic",
+ "postscriptName": "Saira-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Saira",
+ "fullName": "Saira ExtraLight Italic",
+ "postscriptName": "Saira-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 871
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Saira",
+ "fullName": "Saira Thin Italic",
+ "postscriptName": "Saira-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 878
+ }
+ }
+ }
+ }
+ },
+ "sairaCondensed": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Regular",
+ "postscriptName": "SairaCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Thin",
+ "postscriptName": "SairaCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 349,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 349
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed ExtraLight",
+ "postscriptName": "SairaCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Light",
+ "postscriptName": "SairaCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Medium",
+ "postscriptName": "SairaCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed SemiBold",
+ "postscriptName": "SairaCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Bold",
+ "postscriptName": "SairaCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 357,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 357
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed ExtraBold",
+ "postscriptName": "SairaCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 362,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 362
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Black",
+ "postscriptName": "SairaCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Saira Condensed",
+ "fullName": "Saira Condensed Regular",
+ "postscriptName": "SairaCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sairaExtraCondensed": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Regular",
+ "postscriptName": "SairaExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Thin",
+ "postscriptName": "SairaExtraCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 297,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 297
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed ExtraLight",
+ "postscriptName": "SairaExtraCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 299,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 299
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Light",
+ "postscriptName": "SairaExtraCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 299,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 299
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Medium",
+ "postscriptName": "SairaExtraCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed SemiBold",
+ "postscriptName": "SairaExtraCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 307,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 307
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Bold",
+ "postscriptName": "SairaExtraCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed ExtraBold",
+ "postscriptName": "SairaExtraCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 310,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 310
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Black",
+ "postscriptName": "SairaExtraCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Saira Extra Condensed",
+ "fullName": "Saira ExtraCondensed Regular",
+ "postscriptName": "SairaExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sairaSemiCondensed": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Regular",
+ "postscriptName": "SairaSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Thin",
+ "postscriptName": "SairaSemiCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed ExtraLight",
+ "postscriptName": "SairaSemiCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Light",
+ "postscriptName": "SairaSemiCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Medium",
+ "postscriptName": "SairaSemiCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed SemiBold",
+ "postscriptName": "SairaSemiCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Bold",
+ "postscriptName": "SairaSemiCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed ExtraBold",
+ "postscriptName": "SairaSemiCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Black",
+ "postscriptName": "SairaSemiCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Saira Semi Condensed",
+ "fullName": "Saira SemiCondensed Regular",
+ "postscriptName": "SairaSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sairaStencilOne": {
+ "familyName": "Saira Stencil One",
+ "fullName": "Saira Stencil One Regular",
+ "postscriptName": "SairaStencilOne-Regular",
+ "category": "display",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Saira Stencil One",
+ "fullName": "Saira Stencil One Regular",
+ "postscriptName": "SairaStencilOne-Regular",
+ "category": "display",
+ "capHeight": 688,
+ "ascent": 1135,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "salsa": {
+ "familyName": "Salsa",
+ "fullName": "Salsa-Regular",
+ "postscriptName": "Salsa-Regular",
+ "category": "display",
+ "capHeight": 82,
+ "ascent": 974,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 113,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 320
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Salsa",
+ "fullName": "Salsa-Regular",
+ "postscriptName": "Salsa-Regular",
+ "category": "display",
+ "capHeight": 82,
+ "ascent": 974,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 113,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 320
+ }
+ }
+ }
+ }
+ },
+ "sanchez": {
+ "familyName": "Sanchez",
+ "fullName": "Sanchez",
+ "postscriptName": "Sanchez-Regular",
+ "category": "serif",
+ "capHeight": 718,
+ "ascent": 1004,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sanchez",
+ "fullName": "Sanchez",
+ "postscriptName": "Sanchez-Regular",
+ "category": "serif",
+ "capHeight": 718,
+ "ascent": 1004,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sanchez",
+ "fullName": "Sanchez Italic",
+ "postscriptName": "Sanchez-Italic",
+ "category": "serif",
+ "capHeight": 718,
+ "ascent": 1004,
+ "descent": -274,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ }
+ }
+ },
+ "sancreek": {
+ "familyName": "Sancreek",
+ "fullName": "Sancreek Regular",
+ "postscriptName": "Sancreek-Regular",
+ "category": "display",
+ "capHeight": 281,
+ "ascent": 2104,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 402,
+ "xWidthAvg": 953,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 953
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sancreek",
+ "fullName": "Sancreek Regular",
+ "postscriptName": "Sancreek-Regular",
+ "category": "display",
+ "capHeight": 281,
+ "ascent": 2104,
+ "descent": -738,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 402,
+ "xWidthAvg": 953,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 953
+ },
+ "thai": {
+ "xWidthAvg": 748
+ }
+ }
+ }
+ }
+ },
+ "sankofaDisplay": {
+ "familyName": "Sankofa Display",
+ "fullName": "Sankofa Display Regular",
+ "postscriptName": "SankofaDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 419
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sankofa Display",
+ "fullName": "Sankofa Display Regular",
+ "postscriptName": "SankofaDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 419
+ }
+ }
+ }
+ }
+ },
+ "sansita": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Regular",
+ "postscriptName": "Sansita-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Bold",
+ "postscriptName": "Sansita-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sansita",
+ "fullName": "Sansita ExtraBold",
+ "postscriptName": "Sansita-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Black",
+ "postscriptName": "Sansita-Black",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Regular",
+ "postscriptName": "Sansita-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Italic",
+ "postscriptName": "Sansita-Italic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Black Italic",
+ "postscriptName": "Sansita-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sansita",
+ "fullName": "Sansita ExtraBold Italic",
+ "postscriptName": "Sansita-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sansita",
+ "fullName": "Sansita Bold Italic",
+ "postscriptName": "Sansita-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "sansitaSwashed": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Regular",
+ "postscriptName": "SansitaSwashed-Regular",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Light",
+ "postscriptName": "SansitaSwashed-Light",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Medium",
+ "postscriptName": "SansitaSwashed-Medium",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed SemiBold",
+ "postscriptName": "SansitaSwashed-SemiBold",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Bold",
+ "postscriptName": "SansitaSwashed-Bold",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed ExtraBold",
+ "postscriptName": "SansitaSwashed-ExtraBold",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Black",
+ "postscriptName": "SansitaSwashed-Black",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sansita Swashed",
+ "fullName": "Sansita Swashed Regular",
+ "postscriptName": "SansitaSwashed-Regular",
+ "category": "display",
+ "capHeight": 660,
+ "ascent": 1020,
+ "descent": -180,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "sarabun": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Regular",
+ "postscriptName": "Sarabun-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Thin",
+ "postscriptName": "Sarabun-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun ExtraLight",
+ "postscriptName": "Sarabun-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Light",
+ "postscriptName": "Sarabun-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Medium",
+ "postscriptName": "Sarabun-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun SemiBold",
+ "postscriptName": "Sarabun-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 569
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Bold",
+ "postscriptName": "Sarabun-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun ExtraBold",
+ "postscriptName": "Sarabun-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Regular",
+ "postscriptName": "Sarabun-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Italic",
+ "postscriptName": "Sarabun-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 437,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 437
+ },
+ "thai": {
+ "xWidthAvg": 555
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun ExtraBold Italic",
+ "postscriptName": "Sarabun-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 583
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Bold Italic",
+ "postscriptName": "Sarabun-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun SemiBold Italic",
+ "postscriptName": "Sarabun-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 570
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Medium Italic",
+ "postscriptName": "Sarabun-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Light Italic",
+ "postscriptName": "Sarabun-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun ExtraLight Italic",
+ "postscriptName": "Sarabun-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sarabun",
+ "fullName": "Sarabun Thin Italic",
+ "postscriptName": "Sarabun-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1068,
+ "descent": -232,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ }
+ }
+ },
+ "sarala": {
+ "familyName": "Sarala",
+ "fullName": "Sarala",
+ "postscriptName": "Sarala-Regular",
+ "category": "sans-serif",
+ "capHeight": 1450,
+ "ascent": 2398,
+ "descent": -941,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1053,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1220
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sarala",
+ "fullName": "Sarala Bold",
+ "postscriptName": "Sarala-Bold",
+ "category": "sans-serif",
+ "capHeight": 1452,
+ "ascent": 2398,
+ "descent": -941,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1073,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 1220
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sarala",
+ "fullName": "Sarala",
+ "postscriptName": "Sarala-Regular",
+ "category": "sans-serif",
+ "capHeight": 1450,
+ "ascent": 2398,
+ "descent": -941,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1053,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1220
+ }
+ }
+ }
+ }
+ },
+ "sarina": {
+ "familyName": "Sarina",
+ "fullName": "Sarina",
+ "postscriptName": "Sarina-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1916,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 1284,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1284
+ },
+ "thai": {
+ "xWidthAvg": 2896
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sarina",
+ "fullName": "Sarina",
+ "postscriptName": "Sarina-Regular",
+ "category": "display",
+ "capHeight": 1530,
+ "ascent": 1916,
+ "descent": -644,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 1284,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1284
+ },
+ "thai": {
+ "xWidthAvg": 2896
+ }
+ }
+ }
+ }
+ },
+ "sarpanch": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch Regular",
+ "postscriptName": "Sarpanch-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch Medium",
+ "postscriptName": "Sarpanch-Medium",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch SemiBold",
+ "postscriptName": "Sarpanch-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch Bold",
+ "postscriptName": "Sarpanch-Bold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 524,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 524
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch ExtraBold",
+ "postscriptName": "Sarpanch-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 535,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 535
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch Black",
+ "postscriptName": "Sarpanch-Black",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sarpanch",
+ "fullName": "Sarpanch Regular",
+ "postscriptName": "Sarpanch-Regular",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 1050,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ }
+ }
+ },
+ "sassyFrass": {
+ "familyName": "Sassy Frass",
+ "fullName": "Sassy Frass Regular",
+ "postscriptName": "SassyFrass-Regular",
+ "category": "handwriting",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 224,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 224
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sassy Frass",
+ "fullName": "Sassy Frass Regular",
+ "postscriptName": "SassyFrass-Regular",
+ "category": "handwriting",
+ "capHeight": 550,
+ "ascent": 800,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 220,
+ "xWidthAvg": 224,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 224
+ },
+ "thai": {
+ "xWidthAvg": 313
+ }
+ }
+ }
+ }
+ },
+ "satisfy": {
+ "familyName": "Satisfy",
+ "fullName": "Satisfy Regular",
+ "postscriptName": "Satisfy-Regular",
+ "category": "handwriting",
+ "capHeight": 767,
+ "ascent": 957,
+ "descent": -501,
+ "lineGap": 17,
+ "unitsPerEm": 1024,
+ "xHeight": 417,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Satisfy",
+ "fullName": "Satisfy Regular",
+ "postscriptName": "Satisfy-Regular",
+ "category": "handwriting",
+ "capHeight": 767,
+ "ascent": 957,
+ "descent": -501,
+ "lineGap": 17,
+ "unitsPerEm": 1024,
+ "xHeight": 417,
+ "xWidthAvg": 389,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 389
+ },
+ "thai": {
+ "xWidthAvg": 287
+ }
+ }
+ }
+ }
+ },
+ "sawarabiGothic": {
+ "familyName": "Sawarabi Gothic",
+ "fullName": "Sawarabi Gothic",
+ "postscriptName": "SawarabiGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1110,
+ "descent": -272,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sawarabi Gothic",
+ "fullName": "Sawarabi Gothic",
+ "postscriptName": "SawarabiGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 725,
+ "ascent": 1110,
+ "descent": -272,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "sawarabiMincho": {
+ "familyName": "Sawarabi Mincho",
+ "fullName": "Sawarabi Mincho",
+ "postscriptName": "SawarabiMincho-Regular",
+ "category": "serif",
+ "capHeight": 727,
+ "ascent": 1070,
+ "descent": -319,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sawarabi Mincho",
+ "fullName": "Sawarabi Mincho",
+ "postscriptName": "SawarabiMincho-Regular",
+ "category": "serif",
+ "capHeight": 727,
+ "ascent": 1070,
+ "descent": -319,
+ "lineGap": 90,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 364
+ }
+ }
+ }
+ }
+ },
+ "scada": {
+ "familyName": "Scada",
+ "fullName": "Scada Regular",
+ "postscriptName": "Scada-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 955,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Scada",
+ "fullName": "Scada Bold",
+ "postscriptName": "Scada-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 955,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Scada",
+ "fullName": "Scada Regular",
+ "postscriptName": "Scada-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 955,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Scada",
+ "fullName": "Scada Italic",
+ "postscriptName": "Scada-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 955,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Scada",
+ "fullName": "Scada Bold Italic",
+ "postscriptName": "Scada-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 955,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 270
+ }
+ }
+ }
+ }
+ },
+ "scheherazadeNew": {
+ "familyName": "Scheherazade New",
+ "fullName": "Scheherazade New",
+ "postscriptName": "ScheherazadeNew-Regular",
+ "category": "serif",
+ "capHeight": 1034,
+ "ascent": 2750,
+ "descent": -1427,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 684,
+ "xWidthAvg": 770,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 770
+ },
+ "thai": {
+ "xWidthAvg": 1646
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Scheherazade New",
+ "fullName": "Scheherazade New Medium",
+ "postscriptName": "ScheherazadeNew-Medium",
+ "category": "serif",
+ "capHeight": 1034,
+ "ascent": 2750,
+ "descent": -1427,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 684,
+ "xWidthAvg": 791,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 791
+ },
+ "thai": {
+ "xWidthAvg": 1646
+ }
+ }
+ },
+ "600": {
+ "familyName": "Scheherazade New",
+ "fullName": "Scheherazade New SemiBold",
+ "postscriptName": "ScheherazadeNew-SemiBold",
+ "category": "serif",
+ "capHeight": 1034,
+ "ascent": 2750,
+ "descent": -1427,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 684,
+ "xWidthAvg": 812,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 812
+ },
+ "thai": {
+ "xWidthAvg": 1646
+ }
+ }
+ },
+ "700": {
+ "familyName": "Scheherazade New",
+ "fullName": "Scheherazade New Bold",
+ "postscriptName": "ScheherazadeNew-Bold",
+ "category": "serif",
+ "capHeight": 1034,
+ "ascent": 2750,
+ "descent": -1427,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 684,
+ "xWidthAvg": 833,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 833
+ },
+ "thai": {
+ "xWidthAvg": 1646
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Scheherazade New",
+ "fullName": "Scheherazade New",
+ "postscriptName": "ScheherazadeNew-Regular",
+ "category": "serif",
+ "capHeight": 1034,
+ "ascent": 2750,
+ "descent": -1427,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 684,
+ "xWidthAvg": 770,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 770
+ },
+ "thai": {
+ "xWidthAvg": 1646
+ }
+ }
+ }
+ }
+ },
+ "schibstedGrotesk": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Regular",
+ "postscriptName": "SchibstedGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Medium",
+ "postscriptName": "SchibstedGrotesk-Medium",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 968,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 968
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk SemiBold",
+ "postscriptName": "SchibstedGrotesk-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 984,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 984
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Bold",
+ "postscriptName": "SchibstedGrotesk-Bold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1003,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1003
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk ExtraBold",
+ "postscriptName": "SchibstedGrotesk-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1023,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1023
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Black",
+ "postscriptName": "SchibstedGrotesk-Black",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1042,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1042
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Regular",
+ "postscriptName": "SchibstedGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 954,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 954
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Italic",
+ "postscriptName": "SchibstedGrotesk-Italic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Black Italic",
+ "postscriptName": "SchibstedGrotesk-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 1005,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1005
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk ExtraBold Italic",
+ "postscriptName": "SchibstedGrotesk-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 989,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 989
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Bold Italic",
+ "postscriptName": "SchibstedGrotesk-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk SemiBold Italic",
+ "postscriptName": "SchibstedGrotesk-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 957,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 957
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Schibsted Grotesk",
+ "fullName": "Schibsted Grotesk Medium Italic",
+ "postscriptName": "SchibstedGrotesk-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1440,
+ "ascent": 2000,
+ "descent": -528,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1080,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "schoolbell": {
+ "familyName": "Schoolbell",
+ "fullName": "Schoolbell Regular",
+ "postscriptName": "Schoolbell-Regular",
+ "category": "handwriting",
+ "capHeight": 770,
+ "ascent": 1019,
+ "descent": -383,
+ "lineGap": 24,
+ "unitsPerEm": 1024,
+ "xHeight": 485,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Schoolbell",
+ "fullName": "Schoolbell Regular",
+ "postscriptName": "Schoolbell-Regular",
+ "category": "handwriting",
+ "capHeight": 770,
+ "ascent": 1019,
+ "descent": -383,
+ "lineGap": 24,
+ "unitsPerEm": 1024,
+ "xHeight": 485,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ }
+ }
+ }
+ },
+ "scopeOne": {
+ "familyName": "Scope One",
+ "fullName": "Scope One",
+ "postscriptName": "ScopeOne-Regular",
+ "category": "serif",
+ "capHeight": 645,
+ "ascent": 928,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Scope One",
+ "fullName": "Scope One",
+ "postscriptName": "ScopeOne-Regular",
+ "category": "serif",
+ "capHeight": 645,
+ "ascent": 928,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "seaweedScript": {
+ "familyName": "Seaweed Script",
+ "fullName": "Seaweed Script",
+ "postscriptName": "SeaweedScript-Regular",
+ "category": "display",
+ "capHeight": 765,
+ "ascent": 969,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 380,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Seaweed Script",
+ "fullName": "Seaweed Script",
+ "postscriptName": "SeaweedScript-Regular",
+ "category": "display",
+ "capHeight": 765,
+ "ascent": 969,
+ "descent": -421,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 380,
+ "xWidthAvg": 372,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 372
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ }
+ }
+ }
+ },
+ "secularOne": {
+ "familyName": "Secular One",
+ "fullName": "Secular One Regular",
+ "postscriptName": "SecularOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 666,
+ "ascent": 1022,
+ "descent": -433,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Secular One",
+ "fullName": "Secular One Regular",
+ "postscriptName": "SecularOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 666,
+ "ascent": 1022,
+ "descent": -433,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ }
+ }
+ },
+ "sedan": {
+ "familyName": "Sedan",
+ "fullName": "Sedan Regular",
+ "postscriptName": "Sedan-Regular",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sedan",
+ "fullName": "Sedan Regular",
+ "postscriptName": "Sedan-Regular",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sedan",
+ "fullName": "Sedan Italic",
+ "postscriptName": "Sedan-Italic",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 376,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 376
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sedanSC": {
+ "familyName": "Sedan SC",
+ "fullName": "Sedan SC Regular",
+ "postscriptName": "SedanSC-Regular",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sedan SC",
+ "fullName": "Sedan SC Regular",
+ "postscriptName": "SedanSC-Regular",
+ "category": "serif",
+ "capHeight": 675,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 438,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sedgwickAve": {
+ "familyName": "Sedgwick Ave",
+ "fullName": "Sedgwick Ave Regular",
+ "postscriptName": "SedgwickAve-Regular",
+ "category": "handwriting",
+ "capHeight": 950,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 660,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sedgwick Ave",
+ "fullName": "Sedgwick Ave Regular",
+ "postscriptName": "SedgwickAve-Regular",
+ "category": "handwriting",
+ "capHeight": 950,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 660,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "sedgwickAveDisplay": {
+ "familyName": "Sedgwick Ave Display",
+ "fullName": "Sedgwick Ave Display Regular",
+ "postscriptName": "SedgwickAveDisplay-Regular",
+ "category": "handwriting",
+ "capHeight": 950,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sedgwick Ave Display",
+ "fullName": "Sedgwick Ave Display Regular",
+ "postscriptName": "SedgwickAveDisplay-Regular",
+ "category": "handwriting",
+ "capHeight": 950,
+ "ascent": 937,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "segoeUI": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI",
+ "postscriptName": "SegoeUI",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Light",
+ "postscriptName": "SegoeUI-Light",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 860,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 860
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "350": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Semilight",
+ "postscriptName": "SegoeUI-Semilight",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "600": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Semibold",
+ "postscriptName": "SegoeUI-Semibold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 937,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 937
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "700": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Bold",
+ "postscriptName": "SegoeUI-Bold",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 973,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 973
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "900": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Black",
+ "postscriptName": "SegoeUIBlack",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2188,
+ "descent": -578,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1021,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1021
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI",
+ "postscriptName": "SegoeUI",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Italic",
+ "postscriptName": "SegoeUI-Italic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Black Italic",
+ "postscriptName": "SegoeUIBlack-Italic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 1018,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1018
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Bold Italic",
+ "postscriptName": "SegoeUI-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Semibold Italic",
+ "postscriptName": "SegoeUI-SemiboldItalic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 9,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 927,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 927
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "350italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Semilight Italic",
+ "postscriptName": "SegoeUI-SemilightItalic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Segoe UI",
+ "fullName": "Segoe UI Light Italic",
+ "postscriptName": "SegoeUI-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1434,
+ "ascent": 2210,
+ "descent": -514,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 1322
+ }
+ }
+ }
+ }
+ },
+ "sen": {
+ "familyName": "Sen",
+ "fullName": "Sen Regular",
+ "postscriptName": "Sen-Regular",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 500,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Sen",
+ "fullName": "Sen Medium",
+ "postscriptName": "Sen-Medium",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 502,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 685
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sen",
+ "fullName": "Sen SemiBold",
+ "postscriptName": "Sen-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 504,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 691
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sen",
+ "fullName": "Sen Bold",
+ "postscriptName": "Sen-Bold",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 505,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 694
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sen",
+ "fullName": "Sen ExtraBold",
+ "postscriptName": "Sen-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 510,
+ "xWidthAvg": 515,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 515
+ },
+ "thai": {
+ "xWidthAvg": 708
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sen",
+ "fullName": "Sen Regular",
+ "postscriptName": "Sen-Regular",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 962,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 500,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ }
+ }
+ },
+ "sendFlowers": {
+ "familyName": "Send Flowers",
+ "fullName": "Send Flowers Regular",
+ "postscriptName": "SendFlowers-Regular",
+ "category": "handwriting",
+ "capHeight": 710,
+ "ascent": 975,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 395,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Send Flowers",
+ "fullName": "Send Flowers Regular",
+ "postscriptName": "SendFlowers-Regular",
+ "category": "handwriting",
+ "capHeight": 710,
+ "ascent": 975,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 395,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 499
+ }
+ }
+ }
+ }
+ },
+ "sevillana": {
+ "familyName": "Sevillana",
+ "fullName": "Sevillana",
+ "postscriptName": "Sevillana-Regular",
+ "category": "display",
+ "capHeight": 1679,
+ "ascent": 2062,
+ "descent": -717,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 860,
+ "xWidthAvg": 769,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 769
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sevillana",
+ "fullName": "Sevillana",
+ "postscriptName": "Sevillana-Regular",
+ "category": "display",
+ "capHeight": 1679,
+ "ascent": 2062,
+ "descent": -717,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 860,
+ "xWidthAvg": 769,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 769
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "seymourOne": {
+ "familyName": "Seymour One",
+ "fullName": "Seymour One Regular",
+ "postscriptName": "SeymourOne",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2015,
+ "descent": -559,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1026,
+ "xWidthAvg": 1468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1468
+ },
+ "thai": {
+ "xWidthAvg": 1920
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Seymour One",
+ "fullName": "Seymour One Regular",
+ "postscriptName": "SeymourOne",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 2015,
+ "descent": -559,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1026,
+ "xWidthAvg": 1468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1468
+ },
+ "thai": {
+ "xWidthAvg": 1920
+ }
+ }
+ }
+ }
+ },
+ "shadowsIntoLight": {
+ "familyName": "Shadows Into Light",
+ "fullName": "Shadows Into Light",
+ "postscriptName": "ShadowsIntoLight",
+ "category": "handwriting",
+ "capHeight": 648,
+ "ascent": 1203,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 616,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shadows Into Light",
+ "fullName": "Shadows Into Light",
+ "postscriptName": "ShadowsIntoLight",
+ "category": "handwriting",
+ "capHeight": 648,
+ "ascent": 1203,
+ "descent": -442,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 616,
+ "xWidthAvg": 386,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 386
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ }
+ }
+ }
+ },
+ "shadowsIntoLightTwo": {
+ "familyName": "Shadows Into Light Two",
+ "fullName": "Shadows Into Light Two",
+ "postscriptName": "ShadowsIntoLightTwo-Regular",
+ "category": "handwriting",
+ "capHeight": 848,
+ "ascent": 1145,
+ "descent": -341,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 610,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shadows Into Light Two",
+ "fullName": "Shadows Into Light Two",
+ "postscriptName": "ShadowsIntoLightTwo-Regular",
+ "category": "handwriting",
+ "capHeight": 848,
+ "ascent": 1145,
+ "descent": -341,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 610,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "shalimar": {
+ "familyName": "Shalimar",
+ "fullName": "Shalimar Regular",
+ "postscriptName": "Shalimar-Regular",
+ "category": "handwriting",
+ "capHeight": 560,
+ "ascent": 800,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shalimar",
+ "fullName": "Shalimar Regular",
+ "postscriptName": "Shalimar-Regular",
+ "category": "handwriting",
+ "capHeight": 560,
+ "ascent": 800,
+ "descent": -420,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 315,
+ "xWidthAvg": 236,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 236
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ }
+ }
+ },
+ "shantellSans": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Regular",
+ "postscriptName": "ShantellSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Light",
+ "postscriptName": "ShantellSans-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Medium",
+ "postscriptName": "ShantellSans-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans SemiBold",
+ "postscriptName": "ShantellSans-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 530,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 530
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Bold",
+ "postscriptName": "ShantellSans-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 542,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 542
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans ExtraBold",
+ "postscriptName": "ShantellSans-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 554,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 554
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Regular",
+ "postscriptName": "ShantellSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 505,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 505
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Italic",
+ "postscriptName": "ShantellSans-Italic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans ExtraBold Italic",
+ "postscriptName": "ShantellSans-ExtraBoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Bold Italic",
+ "postscriptName": "ShantellSans-BoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 509,
+ "xWidthAvg": 543,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 543
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans SemiBold Italic",
+ "postscriptName": "ShantellSans-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Medium Italic",
+ "postscriptName": "ShantellSans-MediumItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Shantell Sans",
+ "fullName": "Shantell Sans Light Italic",
+ "postscriptName": "ShantellSans-LightItalic",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1020,
+ "descent": -320,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ }
+ }
+ },
+ "shanti": {
+ "familyName": "Shanti",
+ "fullName": "Shanti Regular",
+ "postscriptName": "Shanti-Regular",
+ "category": "sans-serif",
+ "capHeight": 1412,
+ "ascent": 2012,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 984,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 1318
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shanti",
+ "fullName": "Shanti Regular",
+ "postscriptName": "Shanti-Regular",
+ "category": "sans-serif",
+ "capHeight": 1412,
+ "ascent": 2012,
+ "descent": -599,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 984,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 1318
+ }
+ }
+ }
+ }
+ },
+ "share": {
+ "familyName": "Share",
+ "fullName": "Share Regular",
+ "postscriptName": "Share-Regular",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Share",
+ "fullName": "Share Bold",
+ "postscriptName": "Share-Bold",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 522
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Share",
+ "fullName": "Share Regular",
+ "postscriptName": "Share-Regular",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Share",
+ "fullName": "Share Italic",
+ "postscriptName": "Share-Italic",
+ "category": "sans-serif",
+ "capHeight": 707,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Share",
+ "fullName": "Share Bold Italic",
+ "postscriptName": "Share-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 709,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 522
+ }
+ }
+ }
+ }
+ },
+ "shareTech": {
+ "familyName": "Share Tech",
+ "fullName": "Share Tech Regular",
+ "postscriptName": "ShareTech-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Share Tech",
+ "fullName": "Share Tech Regular",
+ "postscriptName": "ShareTech-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ }
+ }
+ },
+ "shareTechMono": {
+ "familyName": "Share Tech Mono",
+ "fullName": "Share Tech Mono",
+ "postscriptName": "ShareTechMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Share Tech Mono",
+ "fullName": "Share Tech Mono",
+ "postscriptName": "ShareTechMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 885,
+ "descent": -242,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 540,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 540
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ }
+ }
+ },
+ "shipporiAntique": {
+ "familyName": "Shippori Antique",
+ "fullName": "Shippori Antique Regular",
+ "postscriptName": "ShipporiAntique-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shippori Antique",
+ "fullName": "Shippori Antique Regular",
+ "postscriptName": "ShipporiAntique-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "shipporiAntiqueB1": {
+ "familyName": "Shippori Antique B1",
+ "fullName": "Shippori Antique B1 Regular",
+ "postscriptName": "ShipporiAntiqueB1-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shippori Antique B1",
+ "fullName": "Shippori Antique B1 Regular",
+ "postscriptName": "ShipporiAntiqueB1-Regular",
+ "category": "sans-serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 524,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "shipporiMincho": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho Regular",
+ "postscriptName": "ShipporiMincho-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho Medium",
+ "postscriptName": "ShipporiMincho-Medium",
+ "category": "serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho SemiBold",
+ "postscriptName": "ShipporiMincho-SemiBold",
+ "category": "serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho Bold",
+ "postscriptName": "ShipporiMincho-Bold",
+ "category": "serif",
+ "capHeight": 737,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho ExtraBold",
+ "postscriptName": "ShipporiMincho-ExtraBold",
+ "category": "serif",
+ "capHeight": 740,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Shippori Mincho",
+ "fullName": "Shippori Mincho Regular",
+ "postscriptName": "ShipporiMincho-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "shipporiMinchoB1": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 Regular",
+ "postscriptName": "ShipporiMinchoB1-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 Medium",
+ "postscriptName": "ShipporiMinchoB1-Medium",
+ "category": "serif",
+ "capHeight": 730,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 SemiBold",
+ "postscriptName": "ShipporiMinchoB1-SemiBold",
+ "category": "serif",
+ "capHeight": 733,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 484,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 Bold",
+ "postscriptName": "ShipporiMinchoB1-Bold",
+ "category": "serif",
+ "capHeight": 737,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 ExtraBold",
+ "postscriptName": "ShipporiMinchoB1-ExtraBold",
+ "category": "serif",
+ "capHeight": 740,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Shippori Mincho B1",
+ "fullName": "Shippori Mincho B1 Regular",
+ "postscriptName": "ShipporiMinchoB1-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "shizuru": {
+ "familyName": "Shizuru",
+ "fullName": "Shizuru Regular",
+ "postscriptName": "Shizuru-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shizuru",
+ "fullName": "Shizuru Regular",
+ "postscriptName": "Shizuru-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "shojumaru": {
+ "familyName": "Shojumaru",
+ "fullName": "Shojumaru",
+ "postscriptName": "Shojumaru-Regular",
+ "category": "display",
+ "capHeight": 1534,
+ "ascent": 2020,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1206,
+ "xWidthAvg": 1393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1393
+ },
+ "thai": {
+ "xWidthAvg": 819
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shojumaru",
+ "fullName": "Shojumaru",
+ "postscriptName": "Shojumaru-Regular",
+ "category": "display",
+ "capHeight": 1534,
+ "ascent": 2020,
+ "descent": -692,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1206,
+ "xWidthAvg": 1393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1393
+ },
+ "thai": {
+ "xWidthAvg": 819
+ }
+ }
+ }
+ }
+ },
+ "shortStack": {
+ "familyName": "Short Stack",
+ "fullName": "Short Stack",
+ "postscriptName": "ShortStack",
+ "category": "handwriting",
+ "capHeight": 1367,
+ "ascent": 1913,
+ "descent": -609,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 758,
+ "xWidthAvg": 1186,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1186
+ },
+ "thai": {
+ "xWidthAvg": 2099
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Short Stack",
+ "fullName": "Short Stack",
+ "postscriptName": "ShortStack",
+ "category": "handwriting",
+ "capHeight": 1367,
+ "ascent": 1913,
+ "descent": -609,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 758,
+ "xWidthAvg": 1186,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1186
+ },
+ "thai": {
+ "xWidthAvg": 2099
+ }
+ }
+ }
+ }
+ },
+ "shrikhand": {
+ "familyName": "Shrikhand",
+ "fullName": "Shrikhand Regular",
+ "postscriptName": "Shrikhand-Regular",
+ "category": "display",
+ "capHeight": 669,
+ "ascent": 1026,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 613
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Shrikhand",
+ "fullName": "Shrikhand Regular",
+ "postscriptName": "Shrikhand-Regular",
+ "category": "display",
+ "capHeight": 669,
+ "ascent": 1026,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 613
+ }
+ }
+ }
+ }
+ },
+ "siemreap": {
+ "familyName": "Siemreap",
+ "fullName": "Siemreap",
+ "postscriptName": "Siemreap",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Siemreap",
+ "fullName": "Siemreap",
+ "postscriptName": "Siemreap",
+ "category": "sans-serif",
+ "capHeight": 0,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 67,
+ "unitsPerEm": 2048,
+ "xHeight": 0,
+ "xWidthAvg": 1359,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1359
+ },
+ "thai": {
+ "xWidthAvg": 1536
+ }
+ }
+ }
+ }
+ },
+ "sigmar": {
+ "familyName": "Sigmar",
+ "fullName": "Sigmar Regular",
+ "postscriptName": "Sigmar-Regular",
+ "category": "display",
+ "capHeight": 655,
+ "ascent": 1172,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 898
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sigmar",
+ "fullName": "Sigmar Regular",
+ "postscriptName": "Sigmar-Regular",
+ "category": "display",
+ "capHeight": 655,
+ "ascent": 1172,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 541,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 541
+ },
+ "thai": {
+ "xWidthAvg": 898
+ }
+ }
+ }
+ }
+ },
+ "sigmarOne": {
+ "familyName": "Sigmar One",
+ "fullName": "Sigmar One Regular",
+ "postscriptName": "SigmarOne-Regular",
+ "category": "display",
+ "capHeight": 676,
+ "ascent": 1172,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 623,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 623
+ },
+ "thai": {
+ "xWidthAvg": 258
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sigmar One",
+ "fullName": "Sigmar One Regular",
+ "postscriptName": "SigmarOne-Regular",
+ "category": "display",
+ "capHeight": 676,
+ "ascent": 1172,
+ "descent": -466,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 578,
+ "xWidthAvg": 623,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 623
+ },
+ "thai": {
+ "xWidthAvg": 258
+ }
+ }
+ }
+ }
+ },
+ "signika": {
+ "familyName": "Signika",
+ "fullName": "Signika Regular",
+ "postscriptName": "Signika-Regular",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 996,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1281
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Signika",
+ "fullName": "Signika Light",
+ "postscriptName": "Signika-Light",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 987,
+ "xWidthAvg": 844,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 844
+ },
+ "thai": {
+ "xWidthAvg": 1313
+ }
+ }
+ },
+ "500": {
+ "familyName": "Signika",
+ "fullName": "Signika Medium",
+ "postscriptName": "Signika-Medium",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 999,
+ "xWidthAvg": 859,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 859
+ },
+ "thai": {
+ "xWidthAvg": 1269
+ }
+ }
+ },
+ "600": {
+ "familyName": "Signika",
+ "fullName": "Signika SemiBold",
+ "postscriptName": "Signika-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1004,
+ "xWidthAvg": 865,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 865
+ },
+ "thai": {
+ "xWidthAvg": 1251
+ }
+ }
+ },
+ "700": {
+ "familyName": "Signika",
+ "fullName": "Signika Bold",
+ "postscriptName": "Signika-Bold",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1012,
+ "xWidthAvg": 874,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 874
+ },
+ "thai": {
+ "xWidthAvg": 1223
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Signika",
+ "fullName": "Signika Regular",
+ "postscriptName": "Signika-Regular",
+ "category": "sans-serif",
+ "capHeight": 1366,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 996,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1281
+ }
+ }
+ }
+ }
+ },
+ "signikaNegative": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative Regular",
+ "postscriptName": "SignikaNegative-Regular",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 1288
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative Light",
+ "postscriptName": "SignikaNegative-Light",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 842,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 842
+ },
+ "thai": {
+ "xWidthAvg": 1319
+ }
+ }
+ },
+ "500": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative Medium",
+ "postscriptName": "SignikaNegative-Medium",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 858,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 858
+ },
+ "thai": {
+ "xWidthAvg": 1273
+ }
+ }
+ },
+ "600": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative SemiBold",
+ "postscriptName": "SignikaNegative-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 863,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 863
+ },
+ "thai": {
+ "xWidthAvg": 1258
+ }
+ }
+ },
+ "700": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative Bold",
+ "postscriptName": "SignikaNegative-Bold",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 872,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 872
+ },
+ "thai": {
+ "xWidthAvg": 1231
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Signika Negative",
+ "fullName": "Signika Negative Regular",
+ "postscriptName": "SignikaNegative-Regular",
+ "category": "sans-serif",
+ "capHeight": 1370,
+ "ascent": 1880,
+ "descent": -584,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 980,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 1288
+ }
+ }
+ }
+ }
+ },
+ "silkscreen": {
+ "familyName": "Silkscreen",
+ "fullName": "Silkscreen Regular",
+ "postscriptName": "Silkscreen-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1030,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 667,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 667
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Silkscreen",
+ "fullName": "Silkscreen Bold",
+ "postscriptName": "Silkscreen-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1030,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 773,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 773
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Silkscreen",
+ "fullName": "Silkscreen Regular",
+ "postscriptName": "Silkscreen-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1030,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 667,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 667
+ },
+ "thai": {
+ "xWidthAvg": 625
+ }
+ }
+ }
+ }
+ },
+ "simonetta": {
+ "familyName": "Simonetta",
+ "fullName": "Simonetta Regular",
+ "postscriptName": "Simonetta-Regular",
+ "category": "display",
+ "capHeight": 1391,
+ "ascent": 1970,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 897,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 477
+ }
+ },
+ "variants": {
+ "900": {
+ "familyName": "Simonetta",
+ "fullName": "Simonetta Black",
+ "postscriptName": "Simonetta-Black",
+ "category": "display",
+ "capHeight": 1397,
+ "ascent": 1970,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 926,
+ "xWidthAvg": 916,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 916
+ },
+ "thai": {
+ "xWidthAvg": 457
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Simonetta",
+ "fullName": "Simonetta Regular",
+ "postscriptName": "Simonetta-Regular",
+ "category": "display",
+ "capHeight": 1391,
+ "ascent": 1970,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 897,
+ "xWidthAvg": 829,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 829
+ },
+ "thai": {
+ "xWidthAvg": 477
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Simonetta",
+ "fullName": "Simonetta Italic",
+ "postscriptName": "Simonetta-Italic",
+ "category": "display",
+ "capHeight": 1391,
+ "ascent": 1970,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 897,
+ "xWidthAvg": 776,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 776
+ },
+ "thai": {
+ "xWidthAvg": 477
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Simonetta",
+ "fullName": "Simonetta Black Italic",
+ "postscriptName": "Simonetta-BlackItalic",
+ "category": "display",
+ "capHeight": 1397,
+ "ascent": 1970,
+ "descent": -594,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 926,
+ "xWidthAvg": 892,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 892
+ },
+ "thai": {
+ "xWidthAvg": 446
+ }
+ }
+ }
+ }
+ },
+ "singleDay": {
+ "familyName": "Single Day",
+ "fullName": "Single Day Regular",
+ "postscriptName": "SingleDay-Regular",
+ "category": "display",
+ "capHeight": 582,
+ "ascent": 779,
+ "descent": -245,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 390,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Single Day",
+ "fullName": "Single Day Regular",
+ "postscriptName": "SingleDay-Regular",
+ "category": "display",
+ "capHeight": 582,
+ "ascent": 779,
+ "descent": -245,
+ "lineGap": 256,
+ "unitsPerEm": 1024,
+ "xHeight": 390,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "sintony": {
+ "familyName": "Sintony",
+ "fullName": "Sintony",
+ "postscriptName": "Sintony",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 995,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sintony",
+ "fullName": "Sintony Bold",
+ "postscriptName": "Sintony-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 995,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 275
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sintony",
+ "fullName": "Sintony",
+ "postscriptName": "Sintony",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 995,
+ "descent": -308,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 572,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 290
+ }
+ }
+ }
+ }
+ },
+ "sirinStencil": {
+ "familyName": "Sirin Stencil",
+ "fullName": "SirinStencil",
+ "postscriptName": "SirinStencil-Regular",
+ "category": "display",
+ "capHeight": 1423,
+ "ascent": 2380,
+ "descent": -604,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 835,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 835
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sirin Stencil",
+ "fullName": "SirinStencil",
+ "postscriptName": "SirinStencil-Regular",
+ "category": "display",
+ "capHeight": 1423,
+ "ascent": 2380,
+ "descent": -604,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1055,
+ "xWidthAvg": 835,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 835
+ },
+ "thai": {
+ "xWidthAvg": 1976
+ }
+ }
+ }
+ }
+ },
+ "sixCaps": {
+ "familyName": "Six Caps",
+ "fullName": "Six Caps",
+ "postscriptName": "SixCaps",
+ "category": "sans-serif",
+ "ascent": 2263,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Six Caps",
+ "fullName": "Six Caps",
+ "postscriptName": "SixCaps",
+ "category": "sans-serif",
+ "ascent": 2263,
+ "descent": -432,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "sixtyfour": {
+ "familyName": "Sixtyfour",
+ "fullName": "Sixtyfour Regular",
+ "postscriptName": "Sixtyfour-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sixtyfour",
+ "fullName": "Sixtyfour Regular",
+ "postscriptName": "Sixtyfour-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "sixtyfourConvergence": {
+ "familyName": "Sixtyfour Convergence",
+ "fullName": "Sixtyfour Convergence Regular",
+ "postscriptName": "SixtyfourConvergence-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sixtyfour Convergence",
+ "fullName": "Sixtyfour Convergence Regular",
+ "postscriptName": "SixtyfourConvergence-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "skranji": {
+ "familyName": "Skranji",
+ "fullName": "Skranji",
+ "postscriptName": "Skranji",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1008,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 0,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Skranji",
+ "fullName": "Skranji Bold",
+ "postscriptName": "Skranji-Bold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1008,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 0,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Skranji",
+ "fullName": "Skranji",
+ "postscriptName": "Skranji",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1008,
+ "descent": -383,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 0,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 338
+ }
+ }
+ }
+ }
+ },
+ "slabo13px": {
+ "familyName": "Slabo 13px",
+ "fullName": "Slabo 13px",
+ "postscriptName": "Slabo13px-Regular",
+ "category": "serif",
+ "capHeight": 540,
+ "ascent": 720,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 780,
+ "xHeight": 420,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Slabo 13px",
+ "fullName": "Slabo 13px",
+ "postscriptName": "Slabo13px-Regular",
+ "category": "serif",
+ "capHeight": 540,
+ "ascent": 720,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 780,
+ "xHeight": 420,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ }
+ }
+ },
+ "slabo27px": {
+ "familyName": "Slabo 27px",
+ "fullName": "Slabo 27px",
+ "postscriptName": "Slabo27px-Regular",
+ "category": "serif",
+ "capHeight": 540,
+ "ascent": 750,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 810,
+ "xHeight": 390,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 390
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Slabo 27px",
+ "fullName": "Slabo 27px",
+ "postscriptName": "Slabo27px-Regular",
+ "category": "serif",
+ "capHeight": 540,
+ "ascent": 750,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 810,
+ "xHeight": 390,
+ "xWidthAvg": 320,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 320
+ },
+ "thai": {
+ "xWidthAvg": 390
+ }
+ }
+ }
+ }
+ },
+ "slackey": {
+ "familyName": "Slackey",
+ "fullName": "Slackey Regular",
+ "postscriptName": "Slackey-Regular",
+ "category": "display",
+ "capHeight": 772,
+ "ascent": 1078,
+ "descent": -351,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 691,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 412
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Slackey",
+ "fullName": "Slackey Regular",
+ "postscriptName": "Slackey-Regular",
+ "category": "display",
+ "capHeight": 772,
+ "ascent": 1078,
+ "descent": -351,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 691,
+ "xWidthAvg": 629,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 629
+ },
+ "thai": {
+ "xWidthAvg": 412
+ }
+ }
+ }
+ }
+ },
+ "slacksideOne": {
+ "familyName": "Slackside One",
+ "fullName": "Slackside One Regular",
+ "postscriptName": "SlacksideOne-Regular",
+ "category": "handwriting",
+ "capHeight": 513,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 255,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 731
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Slackside One",
+ "fullName": "Slackside One Regular",
+ "postscriptName": "SlacksideOne-Regular",
+ "category": "handwriting",
+ "capHeight": 513,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 255,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 731
+ }
+ }
+ }
+ }
+ },
+ "smokum": {
+ "familyName": "Smokum",
+ "fullName": "Smokum Regular",
+ "postscriptName": "Smokum-Regular",
+ "category": "display",
+ "capHeight": 1536,
+ "ascent": 1986,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 691,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 691
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Smokum",
+ "fullName": "Smokum Regular",
+ "postscriptName": "Smokum-Regular",
+ "category": "display",
+ "capHeight": 1536,
+ "ascent": 1986,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1024,
+ "xWidthAvg": 691,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 691
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "smooch": {
+ "familyName": "Smooch",
+ "fullName": "Smooch Regular",
+ "postscriptName": "Smooch-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Smooch",
+ "fullName": "Smooch Regular",
+ "postscriptName": "Smooch-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "smoochSans": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Regular",
+ "postscriptName": "SmoochSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Thin",
+ "postscriptName": "SmoochSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "200": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans ExtraLight",
+ "postscriptName": "SmoochSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "300": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Light",
+ "postscriptName": "SmoochSans-Light",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 310,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 310
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "500": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Medium",
+ "postscriptName": "SmoochSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 313,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 313
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "600": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans SemiBold",
+ "postscriptName": "SmoochSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 316,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 316
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "700": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Bold",
+ "postscriptName": "SmoochSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 319,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 319
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "800": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans ExtraBold",
+ "postscriptName": "SmoochSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 322,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 322
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "900": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Black",
+ "postscriptName": "SmoochSans-Black",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Smooch Sans",
+ "fullName": "Smooch Sans Regular",
+ "postscriptName": "SmoochSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 620,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "smythe": {
+ "familyName": "Smythe",
+ "fullName": "Smythe",
+ "postscriptName": "Smythe",
+ "category": "display",
+ "capHeight": 1317,
+ "ascent": 1883,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 963,
+ "xWidthAvg": 622,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 622
+ },
+ "thai": {
+ "xWidthAvg": 309
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Smythe",
+ "fullName": "Smythe",
+ "postscriptName": "Smythe",
+ "category": "display",
+ "capHeight": 1317,
+ "ascent": 1883,
+ "descent": -480,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 963,
+ "xWidthAvg": 622,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 622
+ },
+ "thai": {
+ "xWidthAvg": 309
+ }
+ }
+ }
+ }
+ },
+ "sniglet": {
+ "familyName": "Sniglet",
+ "fullName": "Sniglet Regular",
+ "postscriptName": "Sniglet-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 956,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ },
+ "variants": {
+ "800": {
+ "familyName": "Sniglet",
+ "fullName": "Sniglet ExtraBold",
+ "postscriptName": "Sniglet-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 956,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 592,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 592
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sniglet",
+ "fullName": "Sniglet Regular",
+ "postscriptName": "Sniglet-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 956,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 554
+ }
+ }
+ }
+ }
+ },
+ "snippet": {
+ "familyName": "Snippet",
+ "fullName": "Snippet",
+ "postscriptName": "Snippet",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 890,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Snippet",
+ "fullName": "Snippet",
+ "postscriptName": "Snippet",
+ "category": "sans-serif",
+ "capHeight": 684,
+ "ascent": 890,
+ "descent": -261,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "snowburstOne": {
+ "familyName": "Snowburst One",
+ "fullName": "Snowburst One",
+ "postscriptName": "SnowburstOne-Regular",
+ "category": "display",
+ "capHeight": 1635,
+ "ascent": 2134,
+ "descent": -454,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1347,
+ "xWidthAvg": 1163,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1163
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Snowburst One",
+ "fullName": "Snowburst One",
+ "postscriptName": "SnowburstOne-Regular",
+ "category": "display",
+ "capHeight": 1635,
+ "ascent": 2134,
+ "descent": -454,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1347,
+ "xWidthAvg": 1163,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1163
+ },
+ "thai": {
+ "xWidthAvg": 0
+ }
+ }
+ }
+ }
+ },
+ "sofadiOne": {
+ "familyName": "Sofadi One",
+ "fullName": "Sofadi One Regular",
+ "postscriptName": "SofadiOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 856,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sofadi One",
+ "fullName": "Sofadi One Regular",
+ "postscriptName": "SofadiOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 856,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 491,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 491
+ },
+ "thai": {
+ "xWidthAvg": 548
+ }
+ }
+ }
+ }
+ },
+ "sofia": {
+ "familyName": "Sofia",
+ "fullName": "Sofia",
+ "postscriptName": "Sofia-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1138,
+ "descent": -438,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 354
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sofia",
+ "fullName": "Sofia",
+ "postscriptName": "Sofia-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1138,
+ "descent": -438,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 354
+ }
+ }
+ }
+ }
+ },
+ "sofiaSans": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Regular",
+ "postscriptName": "SofiaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Thin",
+ "postscriptName": "SofiaSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans ExtraLight",
+ "postscriptName": "SofiaSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Light",
+ "postscriptName": "SofiaSans-Light",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 577
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Medium",
+ "postscriptName": "SofiaSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 590
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans SemiBold",
+ "postscriptName": "SofiaSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 587
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Bold",
+ "postscriptName": "SofiaSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans ExtraBold",
+ "postscriptName": "SofiaSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 562
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Black",
+ "postscriptName": "SofiaSans-Black",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Regular",
+ "postscriptName": "SofiaSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Italic",
+ "postscriptName": "SofiaSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Black Italic",
+ "postscriptName": "SofiaSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans ExtraBold Italic",
+ "postscriptName": "SofiaSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 557
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Bold Italic",
+ "postscriptName": "SofiaSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans SemiBold Italic",
+ "postscriptName": "SofiaSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 586
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Medium Italic",
+ "postscriptName": "SofiaSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 589
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Light Italic",
+ "postscriptName": "SofiaSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 573
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans ExtraLight Italic",
+ "postscriptName": "SofiaSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 566
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sofia Sans",
+ "fullName": "Sofia Sans Thin Italic",
+ "postscriptName": "SofiaSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 488,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ }
+ }
+ },
+ "sofiaSansCondensed": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Regular",
+ "postscriptName": "SofiaSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Thin",
+ "postscriptName": "SofiaSansCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 328,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 328
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed ExtraLight",
+ "postscriptName": "SofiaSansCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Light",
+ "postscriptName": "SofiaSansCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 330,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 330
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Medium",
+ "postscriptName": "SofiaSansCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 339,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 339
+ },
+ "thai": {
+ "xWidthAvg": 436
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed SemiBold",
+ "postscriptName": "SofiaSansCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 435
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Bold",
+ "postscriptName": "SofiaSansCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 434
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed ExtraBold",
+ "postscriptName": "SofiaSansCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 433
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Black",
+ "postscriptName": "SofiaSansCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 373,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 373
+ },
+ "thai": {
+ "xWidthAvg": 431
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Regular",
+ "postscriptName": "SofiaSansCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 437
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Italic",
+ "postscriptName": "SofiaSansCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 329,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 329
+ },
+ "thai": {
+ "xWidthAvg": 433
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Black Italic",
+ "postscriptName": "SofiaSansCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 423
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed ExtraBold Italic",
+ "postscriptName": "SofiaSansCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 426
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Bold Italic",
+ "postscriptName": "SofiaSansCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 345,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 345
+ },
+ "thai": {
+ "xWidthAvg": 428
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed SemiBold Italic",
+ "postscriptName": "SofiaSansCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 338,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 338
+ },
+ "thai": {
+ "xWidthAvg": 430
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Medium Italic",
+ "postscriptName": "SofiaSansCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 432
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Light Italic",
+ "postscriptName": "SofiaSansCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 326,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 326
+ },
+ "thai": {
+ "xWidthAvg": 422
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed ExtraLight Italic",
+ "postscriptName": "SofiaSansCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 326,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 326
+ },
+ "thai": {
+ "xWidthAvg": 420
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sofia Sans Condensed",
+ "fullName": "Sofia Sans Condensed Thin Italic",
+ "postscriptName": "SofiaSansCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 412
+ }
+ }
+ }
+ }
+ },
+ "sofiaSansExtraCondensed": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Regular",
+ "postscriptName": "SofiaSansExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 272
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Thin",
+ "postscriptName": "SofiaSansExtraCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 264,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 264
+ },
+ "thai": {
+ "xWidthAvg": 333
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed ExtraLight",
+ "postscriptName": "SofiaSansExtraCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 267,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 267
+ },
+ "thai": {
+ "xWidthAvg": 335
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Light",
+ "postscriptName": "SofiaSansExtraCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 268
+ },
+ "thai": {
+ "xWidthAvg": 336
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Medium",
+ "postscriptName": "SofiaSansExtraCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 280,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 280
+ },
+ "thai": {
+ "xWidthAvg": 342
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed SemiBold",
+ "postscriptName": "SofiaSansExtraCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 290,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 290
+ },
+ "thai": {
+ "xWidthAvg": 344
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Bold",
+ "postscriptName": "SofiaSansExtraCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 297,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 297
+ },
+ "thai": {
+ "xWidthAvg": 346
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed ExtraBold",
+ "postscriptName": "SofiaSansExtraCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 309,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 309
+ },
+ "thai": {
+ "xWidthAvg": 349
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Black",
+ "postscriptName": "SofiaSansExtraCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 325,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 325
+ },
+ "thai": {
+ "xWidthAvg": 352
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Regular",
+ "postscriptName": "SofiaSansExtraCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 272,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 272
+ },
+ "thai": {
+ "xWidthAvg": 340
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Italic",
+ "postscriptName": "SofiaSansExtraCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 268
+ },
+ "thai": {
+ "xWidthAvg": 333
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Black Italic",
+ "postscriptName": "SofiaSansExtraCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 319,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 319
+ },
+ "thai": {
+ "xWidthAvg": 345
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed ExtraBold Italic",
+ "postscriptName": "SofiaSansExtraCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 304,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 304
+ },
+ "thai": {
+ "xWidthAvg": 342
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Bold Italic",
+ "postscriptName": "SofiaSansExtraCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 292,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 292
+ },
+ "thai": {
+ "xWidthAvg": 339
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed SemiBold Italic",
+ "postscriptName": "SofiaSansExtraCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 285,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 285
+ },
+ "thai": {
+ "xWidthAvg": 337
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Medium Italic",
+ "postscriptName": "SofiaSansExtraCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 275,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 275
+ },
+ "thai": {
+ "xWidthAvg": 335
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Light Italic",
+ "postscriptName": "SofiaSansExtraCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 264,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 264
+ },
+ "thai": {
+ "xWidthAvg": 329
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed ExtraLight Italic",
+ "postscriptName": "SofiaSansExtraCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 263,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 263
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sofia Sans Extra Condensed",
+ "fullName": "Sofia Sans Extra Condensed Thin Italic",
+ "postscriptName": "SofiaSansExtraCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 261,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 261
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ }
+ }
+ }
+ },
+ "sofiaSansSemiCondensed": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Regular",
+ "postscriptName": "SofiaSansSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 552
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Thin",
+ "postscriptName": "SofiaSansSemiCondensed-Thin",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 523
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed ExtraLight",
+ "postscriptName": "SofiaSansSemiCondensed-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Light",
+ "postscriptName": "SofiaSansSemiCondensed-Light",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 536
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Medium",
+ "postscriptName": "SofiaSansSemiCondensed-Medium",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 547
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed SemiBold",
+ "postscriptName": "SofiaSansSemiCondensed-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 544
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Bold",
+ "postscriptName": "SofiaSansSemiCondensed-Bold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 417,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 417
+ },
+ "thai": {
+ "xWidthAvg": 537
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed ExtraBold",
+ "postscriptName": "SofiaSansSemiCondensed-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Black",
+ "postscriptName": "SofiaSansSemiCondensed-Black",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 519
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Regular",
+ "postscriptName": "SofiaSansSemiCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 409,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 409
+ },
+ "thai": {
+ "xWidthAvg": 552
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Italic",
+ "postscriptName": "SofiaSansSemiCondensed-Italic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Black Italic",
+ "postscriptName": "SofiaSansSemiCondensed-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed ExtraBold Italic",
+ "postscriptName": "SofiaSansSemiCondensed-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 521
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Bold Italic",
+ "postscriptName": "SofiaSansSemiCondensed-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed SemiBold Italic",
+ "postscriptName": "SofiaSansSemiCondensed-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 540
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Medium Italic",
+ "postscriptName": "SofiaSansSemiCondensed-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 543
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Light Italic",
+ "postscriptName": "SofiaSansSemiCondensed-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 530
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed ExtraLight Italic",
+ "postscriptName": "SofiaSansSemiCondensed-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sofia Sans Semi Condensed",
+ "fullName": "Sofia Sans Semi Condensed Thin Italic",
+ "postscriptName": "SofiaSansSemiCondensed-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 655,
+ "ascent": 900,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 487,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 513
+ }
+ }
+ }
+ }
+ },
+ "solitreo": {
+ "familyName": "Solitreo",
+ "fullName": "Solitreo Regular",
+ "postscriptName": "Solitreo-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Solitreo",
+ "fullName": "Solitreo Regular",
+ "postscriptName": "Solitreo-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 490,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 695
+ }
+ }
+ }
+ }
+ },
+ "solway": {
+ "familyName": "Solway",
+ "fullName": "Solway Regular",
+ "postscriptName": "Solway-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Solway",
+ "fullName": "Solway Light",
+ "postscriptName": "Solway-Light",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ },
+ "500": {
+ "familyName": "Solway",
+ "fullName": "Solway Medium",
+ "postscriptName": "Solway-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ },
+ "700": {
+ "familyName": "Solway",
+ "fullName": "Solway Bold",
+ "postscriptName": "Solway-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ },
+ "800": {
+ "familyName": "Solway",
+ "fullName": "Solway ExtraBold",
+ "postscriptName": "Solway-ExtraBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 518,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 518
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Solway",
+ "fullName": "Solway Regular",
+ "postscriptName": "Solway-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 485
+ }
+ }
+ }
+ }
+ },
+ "sometypeMono": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Regular",
+ "postscriptName": "SometypeMono-Regular",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Medium",
+ "postscriptName": "SometypeMono-Medium",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono SemiBold",
+ "postscriptName": "SometypeMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Bold",
+ "postscriptName": "SometypeMono-Bold",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Regular",
+ "postscriptName": "SometypeMono-Regular",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Italic",
+ "postscriptName": "SometypeMono-Italic",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Bold Italic",
+ "postscriptName": "SometypeMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 476,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono SemiBold Italic",
+ "postscriptName": "SometypeMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sometype Mono",
+ "fullName": "Sometype Mono Medium Italic",
+ "postscriptName": "SometypeMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 472,
+ "xWidthAvg": 580,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 580
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ }
+ }
+ },
+ "songMyung": {
+ "familyName": "Song Myung",
+ "fullName": "Song Myung Regular",
+ "postscriptName": "SongMyung-Regular",
+ "category": "serif",
+ "capHeight": 635,
+ "ascent": 848,
+ "descent": -152,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 380
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Song Myung",
+ "fullName": "Song Myung Regular",
+ "postscriptName": "SongMyung-Regular",
+ "category": "serif",
+ "capHeight": 635,
+ "ascent": 848,
+ "descent": -152,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 457,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 380
+ }
+ }
+ }
+ }
+ },
+ "sono": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace Regular",
+ "postscriptName": "SonoMonospace-Regular",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace ExtraLight",
+ "postscriptName": "SonoMonospace-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace Light",
+ "postscriptName": "SonoMonospace-Light",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace Medium",
+ "postscriptName": "SonoMonospace-Medium",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace SemiBold",
+ "postscriptName": "SonoMonospace-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace Bold",
+ "postscriptName": "SonoMonospace-Bold",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace ExtraBold",
+ "postscriptName": "SonoMonospace-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sono",
+ "fullName": "Sono Monospace Regular",
+ "postscriptName": "SonoMonospace-Regular",
+ "category": "sans-serif",
+ "capHeight": 1238,
+ "ascent": 1824,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 952,
+ "xWidthAvg": 1238,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1238
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "sonsieOne": {
+ "familyName": "Sonsie One",
+ "fullName": "Sonsie One",
+ "postscriptName": "SonsieOne-Regular",
+ "category": "display",
+ "capHeight": 506,
+ "ascent": 2050,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 272,
+ "xWidthAvg": 1483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1483
+ },
+ "thai": {
+ "xWidthAvg": 1875
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sonsie One",
+ "fullName": "Sonsie One",
+ "postscriptName": "SonsieOne-Regular",
+ "category": "display",
+ "capHeight": 506,
+ "ascent": 2050,
+ "descent": -600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 272,
+ "xWidthAvg": 1483,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1483
+ },
+ "thai": {
+ "xWidthAvg": 1875
+ }
+ }
+ }
+ }
+ },
+ "sora": {
+ "familyName": "Sora",
+ "fullName": "Sora Regular",
+ "postscriptName": "Sora-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 859
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sora",
+ "fullName": "Sora Thin",
+ "postscriptName": "Sora-Thin",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 790
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sora",
+ "fullName": "Sora ExtraLight",
+ "postscriptName": "Sora-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 813
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sora",
+ "fullName": "Sora Light",
+ "postscriptName": "Sora-Light",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 836
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sora",
+ "fullName": "Sora Medium",
+ "postscriptName": "Sora-Medium",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 862
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sora",
+ "fullName": "Sora SemiBold",
+ "postscriptName": "Sora-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sora",
+ "fullName": "Sora Bold",
+ "postscriptName": "Sora-Bold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 517,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 517
+ },
+ "thai": {
+ "xWidthAvg": 867
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sora",
+ "fullName": "Sora ExtraBold",
+ "postscriptName": "Sora-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 869
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sora",
+ "fullName": "Sora Regular",
+ "postscriptName": "Sora-Regular",
+ "category": "sans-serif",
+ "capHeight": 730,
+ "ascent": 970,
+ "descent": -290,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 859
+ }
+ }
+ }
+ }
+ },
+ "sortsMillGoudy": {
+ "familyName": "Sorts Mill Goudy",
+ "fullName": "Sorts Mill Goudy Regular",
+ "postscriptName": "SortsMillGoudy-Regular",
+ "category": "serif",
+ "capHeight": 713,
+ "ascent": 960,
+ "descent": -478,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 396
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sorts Mill Goudy",
+ "fullName": "Sorts Mill Goudy Regular",
+ "postscriptName": "SortsMillGoudy-Regular",
+ "category": "serif",
+ "capHeight": 713,
+ "ascent": 960,
+ "descent": -478,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 442,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 396
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sorts Mill Goudy",
+ "fullName": "Sorts Mill Goudy Italic",
+ "postscriptName": "SortsMillGoudy-Italic",
+ "category": "serif",
+ "capHeight": 356,
+ "ascent": 960,
+ "descent": -478,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 348,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "sourGummy": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Regular",
+ "postscriptName": "SourGummy-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Thin",
+ "postscriptName": "SourGummy-Thin",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "200": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy ExtraLight",
+ "postscriptName": "SourGummy-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "300": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Light",
+ "postscriptName": "SourGummy-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Medium",
+ "postscriptName": "SourGummy-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "600": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy SemiBold",
+ "postscriptName": "SourGummy-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Bold",
+ "postscriptName": "SourGummy-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "800": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy ExtraBold",
+ "postscriptName": "SourGummy-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "900": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Black",
+ "postscriptName": "SourGummy-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Regular",
+ "postscriptName": "SourGummy-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 620
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Italic",
+ "postscriptName": "SourGummy-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Black Italic",
+ "postscriptName": "SourGummy-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 680
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy ExtraBold Italic",
+ "postscriptName": "SourGummy-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 680
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Bold Italic",
+ "postscriptName": "SourGummy-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 680
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy SemiBold Italic",
+ "postscriptName": "SourGummy-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 680
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Medium Italic",
+ "postscriptName": "SourGummy-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 680
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Light Italic",
+ "postscriptName": "SourGummy-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy ExtraLight Italic",
+ "postscriptName": "SourGummy-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Sour Gummy",
+ "fullName": "Sour Gummy Thin Italic",
+ "postscriptName": "SourGummy-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 996,
+ "descent": -296,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ }
+ }
+ },
+ "sourceCodePro": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Regular",
+ "postscriptName": "SourceCodePro-Regular",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro ExtraLight",
+ "postscriptName": "SourceCodePro-ExtraLight",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Light",
+ "postscriptName": "SourceCodePro-Light",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Medium",
+ "postscriptName": "SourceCodePro-Medium",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro SemiBold",
+ "postscriptName": "SourceCodePro-SemiBold",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Bold",
+ "postscriptName": "SourceCodePro-Bold",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro ExtraBold",
+ "postscriptName": "SourceCodePro-ExtraBold",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Black",
+ "postscriptName": "SourceCodePro-Black",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Regular",
+ "postscriptName": "SourceCodePro-Regular",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Italic",
+ "postscriptName": "SourceCodePro-Italic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Black Italic",
+ "postscriptName": "SourceCodePro-BlackItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro ExtraBold Italic",
+ "postscriptName": "SourceCodePro-ExtraBoldItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Bold Italic",
+ "postscriptName": "SourceCodePro-BoldItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro SemiBold Italic",
+ "postscriptName": "SourceCodePro-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Medium Italic",
+ "postscriptName": "SourceCodePro-MediumItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro Light Italic",
+ "postscriptName": "SourceCodePro-LightItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Source Code Pro",
+ "fullName": "Source Code Pro ExtraLight Italic",
+ "postscriptName": "SourceCodePro-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 660,
+ "ascent": 984,
+ "descent": -273,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "sourceSans3": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Regular",
+ "postscriptName": "SourceSans3-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 ExtraLight",
+ "postscriptName": "SourceSans3-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 624
+ }
+ }
+ },
+ "300": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Light",
+ "postscriptName": "SourceSans3-Light",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 632
+ }
+ }
+ },
+ "500": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Medium",
+ "postscriptName": "SourceSans3-Medium",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 SemiBold",
+ "postscriptName": "SourceSans3-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 672
+ }
+ }
+ },
+ "700": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Bold",
+ "postscriptName": "SourceSans3-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 690
+ }
+ }
+ },
+ "800": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 ExtraBold",
+ "postscriptName": "SourceSans3-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 697
+ }
+ }
+ },
+ "900": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Black",
+ "postscriptName": "SourceSans3-Black",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 704
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Regular",
+ "postscriptName": "SourceSans3-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 653
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Italic",
+ "postscriptName": "SourceSans3-Italic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 628
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Black Italic",
+ "postscriptName": "SourceSans3-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 676
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 ExtraBold Italic",
+ "postscriptName": "SourceSans3-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Bold Italic",
+ "postscriptName": "SourceSans3-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 663
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 SemiBold Italic",
+ "postscriptName": "SourceSans3-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 491,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 646
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Medium Italic",
+ "postscriptName": "SourceSans3-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 489,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 637
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 Light Italic",
+ "postscriptName": "SourceSans3-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 608
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Source Sans 3",
+ "fullName": "Source Sans 3 ExtraLight Italic",
+ "postscriptName": "SourceSans3-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 1024,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "sourceSerif4": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Regular",
+ "postscriptName": "SourceSerif4-Regular",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 ExtraLight",
+ "postscriptName": "SourceSerif4-ExtraLight",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "300": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Light",
+ "postscriptName": "SourceSerif4-Light",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "500": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Medium",
+ "postscriptName": "SourceSerif4-Medium",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 SemiBold",
+ "postscriptName": "SourceSerif4-SemiBold",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Bold",
+ "postscriptName": "SourceSerif4-Bold",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "800": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 ExtraBold",
+ "postscriptName": "SourceSerif4-ExtraBold",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "900": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Black",
+ "postscriptName": "SourceSerif4-Black",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Regular",
+ "postscriptName": "SourceSerif4-Regular",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Italic",
+ "postscriptName": "SourceSerif4-Italic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Black Italic",
+ "postscriptName": "SourceSerif4-BlackItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 ExtraBold Italic",
+ "postscriptName": "SourceSerif4-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Bold Italic",
+ "postscriptName": "SourceSerif4-BoldItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 SemiBold Italic",
+ "postscriptName": "SourceSerif4-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Medium Italic",
+ "postscriptName": "SourceSerif4-MediumItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 Light Italic",
+ "postscriptName": "SourceSerif4-LightItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Source Serif 4",
+ "fullName": "Source Serif 4 ExtraLight Italic",
+ "postscriptName": "SourceSerif4-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 670,
+ "ascent": 1036,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 640
+ }
+ }
+ }
+ }
+ },
+ "spaceGrotesk": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk Regular",
+ "postscriptName": "SpaceGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 867
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk Light",
+ "postscriptName": "SpaceGrotesk-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 849
+ }
+ }
+ },
+ "500": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk Medium",
+ "postscriptName": "SpaceGrotesk-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 889
+ }
+ }
+ },
+ "600": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk SemiBold",
+ "postscriptName": "SpaceGrotesk-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 899
+ }
+ }
+ },
+ "700": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk Bold",
+ "postscriptName": "SpaceGrotesk-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 910
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Space Grotesk",
+ "fullName": "Space Grotesk Regular",
+ "postscriptName": "SpaceGrotesk-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 984,
+ "descent": -292,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 867
+ }
+ }
+ }
+ }
+ },
+ "spaceMono": {
+ "familyName": "Space Mono",
+ "fullName": "Space Mono Regular",
+ "postscriptName": "SpaceMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1120,
+ "descent": -361,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Space Mono",
+ "fullName": "Space Mono Bold",
+ "postscriptName": "SpaceMono-Bold",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1120,
+ "descent": -361,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Space Mono",
+ "fullName": "Space Mono Regular",
+ "postscriptName": "SpaceMono-Regular",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1120,
+ "descent": -361,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Space Mono",
+ "fullName": "Space Mono Italic",
+ "postscriptName": "SpaceMono-Italic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1120,
+ "descent": -361,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Space Mono",
+ "fullName": "Space Mono Bold Italic",
+ "postscriptName": "SpaceMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 700,
+ "ascent": 1120,
+ "descent": -361,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 612,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 612
+ },
+ "thai": {
+ "xWidthAvg": 612
+ }
+ }
+ }
+ }
+ },
+ "specialElite": {
+ "familyName": "Special Elite",
+ "fullName": "Special Elite Regular",
+ "postscriptName": "SpecialElite-Regular",
+ "category": "display",
+ "capHeight": 713,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 528,
+ "xWidthAvg": 1070,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1070
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Special Elite",
+ "fullName": "Special Elite Regular",
+ "postscriptName": "SpecialElite-Regular",
+ "category": "display",
+ "capHeight": 713,
+ "ascent": 1440,
+ "descent": -608,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 528,
+ "xWidthAvg": 1070,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1070
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "spectral": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Regular",
+ "postscriptName": "Spectral-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Spectral",
+ "fullName": "Spectral ExtraLight",
+ "postscriptName": "Spectral-ExtraLight",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Light",
+ "postscriptName": "Spectral-Light",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Medium",
+ "postscriptName": "Spectral-Medium",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Spectral",
+ "fullName": "Spectral SemiBold",
+ "postscriptName": "Spectral-SemiBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Bold",
+ "postscriptName": "Spectral-Bold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Spectral",
+ "fullName": "Spectral ExtraBold",
+ "postscriptName": "Spectral-ExtraBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Regular",
+ "postscriptName": "Spectral-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Italic",
+ "postscriptName": "Spectral-Italic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 475
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral ExtraBold Italic",
+ "postscriptName": "Spectral-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Bold Italic",
+ "postscriptName": "Spectral-BoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral SemiBold Italic",
+ "postscriptName": "Spectral-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Medium Italic",
+ "postscriptName": "Spectral-MediumItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 479
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral Light Italic",
+ "postscriptName": "Spectral-LightItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 489
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Spectral",
+ "fullName": "Spectral ExtraLight Italic",
+ "postscriptName": "Spectral-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "spectralSC": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Regular",
+ "postscriptName": "SpectralSC-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC ExtraLight",
+ "postscriptName": "SpectralSC-ExtraLight",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Light",
+ "postscriptName": "SpectralSC-Light",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Medium",
+ "postscriptName": "SpectralSC-Medium",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC SemiBold",
+ "postscriptName": "SpectralSC-SemiBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Bold",
+ "postscriptName": "SpectralSC-Bold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC ExtraBold",
+ "postscriptName": "SpectralSC-ExtraBold",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Regular",
+ "postscriptName": "SpectralSC-Regular",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Italic",
+ "postscriptName": "SpectralSC-Italic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 475
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC ExtraBold Italic",
+ "postscriptName": "SpectralSC-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Bold Italic",
+ "postscriptName": "SpectralSC-BoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 456,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC SemiBold Italic",
+ "postscriptName": "SpectralSC-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 486
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Medium Italic",
+ "postscriptName": "SpectralSC-MediumItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 452,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 479
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC Light Italic",
+ "postscriptName": "SpectralSC-LightItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 489
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Spectral SC",
+ "fullName": "Spectral SC ExtraLight Italic",
+ "postscriptName": "SpectralSC-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 660,
+ "ascent": 1059,
+ "descent": -463,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 450,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "spicyRice": {
+ "familyName": "Spicy Rice",
+ "fullName": "Spicy Rice",
+ "postscriptName": "SpicyRice-Regular",
+ "category": "display",
+ "capHeight": 1481,
+ "ascent": 2091,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1208,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 305
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Spicy Rice",
+ "fullName": "Spicy Rice",
+ "postscriptName": "SpicyRice-Regular",
+ "category": "display",
+ "capHeight": 1481,
+ "ascent": 2091,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1208,
+ "xWidthAvg": 868,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 868
+ },
+ "thai": {
+ "xWidthAvg": 305
+ }
+ }
+ }
+ }
+ },
+ "spinnaker": {
+ "familyName": "Spinnaker",
+ "fullName": "Spinnaker",
+ "postscriptName": "Spinnaker-Regular",
+ "category": "sans-serif",
+ "capHeight": 1416,
+ "ascent": 1920,
+ "descent": -487,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Spinnaker",
+ "fullName": "Spinnaker",
+ "postscriptName": "Spinnaker-Regular",
+ "category": "sans-serif",
+ "capHeight": 1416,
+ "ascent": 1920,
+ "descent": -487,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1000,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 1307
+ }
+ }
+ }
+ }
+ },
+ "spirax": {
+ "familyName": "Spirax",
+ "fullName": "Spirax-Regular",
+ "postscriptName": "Spirax-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 947,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 463,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 204
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Spirax",
+ "fullName": "Spirax-Regular",
+ "postscriptName": "Spirax-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 947,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 463,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 204
+ }
+ }
+ }
+ }
+ },
+ "splash": {
+ "familyName": "Splash",
+ "fullName": "Splash Regular",
+ "postscriptName": "Splash-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -580,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Splash",
+ "fullName": "Splash Regular",
+ "postscriptName": "Splash-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1050,
+ "descent": -580,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "splineSans": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans Regular",
+ "postscriptName": "SplineSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 904,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 904
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans Light",
+ "postscriptName": "SplineSans-Light",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 882,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 882
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ }
+ },
+ "500": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans Medium",
+ "postscriptName": "SplineSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 916,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 916
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ }
+ },
+ "600": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans SemiBold",
+ "postscriptName": "SplineSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ }
+ },
+ "700": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans Bold",
+ "postscriptName": "SplineSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 935,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 935
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Spline Sans",
+ "fullName": "Spline Sans Regular",
+ "postscriptName": "SplineSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 904,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 904
+ },
+ "thai": {
+ "xWidthAvg": 1643
+ }
+ }
+ }
+ }
+ },
+ "splineSansMono": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Regular",
+ "postscriptName": "SplineSansMono-Regular",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Light",
+ "postscriptName": "SplineSansMono-Light",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "500": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Medium",
+ "postscriptName": "SplineSansMono-Medium",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono SemiBold",
+ "postscriptName": "SplineSansMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Bold",
+ "postscriptName": "SplineSansMono-Bold",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Regular",
+ "postscriptName": "SplineSansMono-Regular",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Italic",
+ "postscriptName": "SplineSansMono-Italic",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Bold Italic",
+ "postscriptName": "SplineSansMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono SemiBold Italic",
+ "postscriptName": "SplineSansMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Medium Italic",
+ "postscriptName": "SplineSansMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Spline Sans Mono",
+ "fullName": "Spline Sans Mono Light Italic",
+ "postscriptName": "SplineSansMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 1454,
+ "ascent": 1927,
+ "descent": -473,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1091,
+ "xWidthAvg": 1200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1200
+ },
+ "thai": {
+ "xWidthAvg": 1200
+ }
+ }
+ }
+ }
+ },
+ "squadaOne": {
+ "familyName": "Squada One",
+ "fullName": "Squada One",
+ "postscriptName": "SquadaOne-Regular",
+ "category": "display",
+ "capHeight": 647,
+ "ascent": 861,
+ "descent": -196,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 194
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Squada One",
+ "fullName": "Squada One",
+ "postscriptName": "SquadaOne-Regular",
+ "category": "display",
+ "capHeight": 647,
+ "ascent": 861,
+ "descent": -196,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 194
+ }
+ }
+ }
+ }
+ },
+ "squarePeg": {
+ "familyName": "Square Peg",
+ "fullName": "Square Peg Regular",
+ "postscriptName": "SquarePeg-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 920,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 260,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Square Peg",
+ "fullName": "Square Peg Regular",
+ "postscriptName": "SquarePeg-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 920,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 260,
+ "xWidthAvg": 257,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 257
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sreeKrushnadevaraya": {
+ "familyName": "Sree Krushnadevaraya",
+ "fullName": "Sree Krushnadevaraya",
+ "postscriptName": "SreeKrushnadevaraya",
+ "category": "serif",
+ "capHeight": 408,
+ "ascent": 1105,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 720,
+ "xHeight": 273,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 880
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sree Krushnadevaraya",
+ "fullName": "Sree Krushnadevaraya",
+ "postscriptName": "SreeKrushnadevaraya",
+ "category": "serif",
+ "capHeight": 408,
+ "ascent": 1105,
+ "descent": -378,
+ "lineGap": 0,
+ "unitsPerEm": 720,
+ "xHeight": 273,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 880
+ }
+ }
+ }
+ }
+ },
+ "sriracha": {
+ "familyName": "Sriracha",
+ "fullName": "Sriracha",
+ "postscriptName": "Sriracha-Regular",
+ "category": "handwriting",
+ "capHeight": 656,
+ "ascent": 1220,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sriracha",
+ "fullName": "Sriracha",
+ "postscriptName": "Sriracha-Regular",
+ "category": "handwriting",
+ "capHeight": 656,
+ "ascent": 1220,
+ "descent": -550,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ }
+ }
+ },
+ "srisakdi": {
+ "familyName": "Srisakdi",
+ "fullName": "Srisakdi Regular",
+ "postscriptName": "Srisakdi-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 447
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Srisakdi",
+ "fullName": "Srisakdi Bold",
+ "postscriptName": "Srisakdi-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Srisakdi",
+ "fullName": "Srisakdi Regular",
+ "postscriptName": "Srisakdi-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 447
+ }
+ }
+ }
+ }
+ },
+ "staatliches": {
+ "familyName": "Staatliches",
+ "fullName": "Staatliches Regular",
+ "postscriptName": "Staatliches-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Staatliches",
+ "fullName": "Staatliches Regular",
+ "postscriptName": "Staatliches-Regular",
+ "category": "display",
+ "capHeight": 696,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 380,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 380
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "stalemate": {
+ "familyName": "Stalemate",
+ "fullName": "Stalemate",
+ "postscriptName": "Stalemate-Regular",
+ "category": "handwriting",
+ "capHeight": 1501,
+ "ascent": 1837,
+ "descent": -1165,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 539,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stalemate",
+ "fullName": "Stalemate",
+ "postscriptName": "Stalemate-Regular",
+ "category": "handwriting",
+ "capHeight": 1501,
+ "ascent": 1837,
+ "descent": -1165,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 539,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "stalinistOne": {
+ "familyName": "Stalinist One",
+ "fullName": "Stalinist One",
+ "postscriptName": "StalinistOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1037,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stalinist One",
+ "fullName": "Stalinist One",
+ "postscriptName": "StalinistOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1037,
+ "descent": -439,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 530,
+ "xWidthAvg": 888,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 888
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "stardosStencil": {
+ "familyName": "Stardos Stencil",
+ "fullName": "Stardos Stencil Regular",
+ "postscriptName": "StardosStencil-Regular",
+ "category": "display",
+ "capHeight": 1421,
+ "ascent": 1994,
+ "descent": -831,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 981,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Stardos Stencil",
+ "fullName": "Stardos Stencil Bold",
+ "postscriptName": "StardosStencil-Bold",
+ "category": "display",
+ "capHeight": 1421,
+ "ascent": 1994,
+ "descent": -831,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1005,
+ "xWidthAvg": 960,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 960
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Stardos Stencil",
+ "fullName": "Stardos Stencil Regular",
+ "postscriptName": "StardosStencil-Regular",
+ "category": "display",
+ "capHeight": 1421,
+ "ascent": 1994,
+ "descent": -831,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 981,
+ "xWidthAvg": 908,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 908
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ }
+ }
+ },
+ "stick": {
+ "familyName": "Stick",
+ "fullName": "Stick Regular",
+ "postscriptName": "Stick-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stick",
+ "fullName": "Stick Regular",
+ "postscriptName": "Stick-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "stickNoBills": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills Regular",
+ "postscriptName": "StickNoBills-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 374,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 374
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills ExtraLight",
+ "postscriptName": "StickNoBills-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 358,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 358
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "300": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills Light",
+ "postscriptName": "StickNoBills-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "500": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills Medium",
+ "postscriptName": "StickNoBills-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "600": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills SemiBold",
+ "postscriptName": "StickNoBills-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "700": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills Bold",
+ "postscriptName": "StickNoBills-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "800": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills ExtraBold",
+ "postscriptName": "StickNoBills-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Stick No Bills",
+ "fullName": "Stick No Bills Regular",
+ "postscriptName": "StickNoBills-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 940,
+ "descent": -312,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 374,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 374
+ },
+ "thai": {
+ "xWidthAvg": 631
+ }
+ }
+ }
+ }
+ },
+ "stintUltraCondensed": {
+ "familyName": "Stint Ultra Condensed",
+ "fullName": "Stint Ultra Condensed",
+ "postscriptName": "StintUltraCondensed-Regular",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 1829,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 952,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stint Ultra Condensed",
+ "fullName": "Stint Ultra Condensed",
+ "postscriptName": "StintUltraCondensed-Regular",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 1829,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 952,
+ "xWidthAvg": 513,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 513
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "stintUltraExpanded": {
+ "familyName": "Stint Ultra Expanded",
+ "fullName": "Stint Ultra Expanded",
+ "postscriptName": "StintUltraExpanded-Regular",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 1853,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 952,
+ "xWidthAvg": 1218,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1218
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stint Ultra Expanded",
+ "fullName": "Stint Ultra Expanded",
+ "postscriptName": "StintUltraExpanded-Regular",
+ "category": "serif",
+ "capHeight": 1374,
+ "ascent": 1853,
+ "descent": -483,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 952,
+ "xWidthAvg": 1218,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1218
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "stoke": {
+ "familyName": "Stoke",
+ "fullName": "Stoke Regular",
+ "postscriptName": "Stoke-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 479,
+ "xWidthAvg": 1168,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1168
+ },
+ "thai": {
+ "xWidthAvg": 1528
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Stoke",
+ "fullName": "Stoke Light",
+ "postscriptName": "Stoke-Light",
+ "category": "serif",
+ "capHeight": 665,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 371,
+ "xWidthAvg": 1158,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1158
+ },
+ "thai": {
+ "xWidthAvg": 1528
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Stoke",
+ "fullName": "Stoke Regular",
+ "postscriptName": "Stoke-Regular",
+ "category": "serif",
+ "capHeight": 683,
+ "ascent": 2030,
+ "descent": -530,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 479,
+ "xWidthAvg": 1168,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1168
+ },
+ "thai": {
+ "xWidthAvg": 1528
+ }
+ }
+ }
+ }
+ },
+ "strait": {
+ "familyName": "Strait",
+ "fullName": "Strait Regular",
+ "postscriptName": "Strait-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 901,
+ "descent": -194,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Strait",
+ "fullName": "Strait Regular",
+ "postscriptName": "Strait-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 901,
+ "descent": -194,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 250
+ }
+ }
+ }
+ }
+ },
+ "styleScript": {
+ "familyName": "Style Script",
+ "fullName": "Style Script Regular",
+ "postscriptName": "StyleScript-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 434,
+ "xWidthAvg": 299,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 299
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Style Script",
+ "fullName": "Style Script Regular",
+ "postscriptName": "StyleScript-Regular",
+ "category": "handwriting",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 434,
+ "xWidthAvg": 299,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 299
+ },
+ "thai": {
+ "xWidthAvg": 190
+ }
+ }
+ }
+ }
+ },
+ "stylish": {
+ "familyName": "Stylish",
+ "fullName": "Stylish Regular",
+ "postscriptName": "Stylish-Regular",
+ "category": "sans-serif",
+ "capHeight": 600,
+ "ascent": 821,
+ "descent": -179,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Stylish",
+ "fullName": "Stylish Regular",
+ "postscriptName": "Stylish-Regular",
+ "category": "sans-serif",
+ "capHeight": 600,
+ "ascent": 821,
+ "descent": -179,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 864
+ }
+ }
+ }
+ }
+ },
+ "sueEllenFrancisco": {
+ "familyName": "Sue Ellen Francisco",
+ "fullName": "Sue Ellen Francisco ",
+ "postscriptName": "SueEllenFrancisco",
+ "category": "handwriting",
+ "capHeight": 1085,
+ "ascent": 1362,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 439,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 256
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sue Ellen Francisco",
+ "fullName": "Sue Ellen Francisco ",
+ "postscriptName": "SueEllenFrancisco",
+ "category": "handwriting",
+ "capHeight": 1085,
+ "ascent": 1362,
+ "descent": -634,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 439,
+ "xWidthAvg": 286,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 286
+ },
+ "thai": {
+ "xWidthAvg": 256
+ }
+ }
+ }
+ }
+ },
+ "suezOne": {
+ "familyName": "Suez One",
+ "fullName": "SuezOne-Regular",
+ "postscriptName": "SuezOne-Regular",
+ "category": "serif",
+ "capHeight": 674,
+ "ascent": 987,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Suez One",
+ "fullName": "SuezOne-Regular",
+ "postscriptName": "SuezOne-Regular",
+ "category": "serif",
+ "capHeight": 674,
+ "ascent": 987,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 484
+ }
+ }
+ }
+ }
+ },
+ "sulphurPoint": {
+ "familyName": "Sulphur Point",
+ "fullName": "Sulphur Point Regular",
+ "postscriptName": "SulphurPoint-Regular",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Sulphur Point",
+ "fullName": "Sulphur Point Light",
+ "postscriptName": "SulphurPoint-Light",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sulphur Point",
+ "fullName": "Sulphur Point Bold",
+ "postscriptName": "SulphurPoint-Bold",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sulphur Point",
+ "fullName": "Sulphur Point Regular",
+ "postscriptName": "SulphurPoint-Regular",
+ "category": "sans-serif",
+ "capHeight": 665,
+ "ascent": 790,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ }
+ }
+ },
+ "sumana": {
+ "familyName": "Sumana",
+ "fullName": "Sumana",
+ "postscriptName": "Sumana-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1922,
+ "descent": -1005,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sumana",
+ "fullName": "Sumana Bold",
+ "postscriptName": "Sumana-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1922,
+ "descent": -1005,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sumana",
+ "fullName": "Sumana",
+ "postscriptName": "Sumana-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1922,
+ "descent": -1005,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sunflower": {
+ "familyName": "Sunflower",
+ "fullName": "Sunflower Light",
+ "postscriptName": "Sunflower-Light",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 782,
+ "descent": -218,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Sunflower",
+ "fullName": "Sunflower Light",
+ "postscriptName": "Sunflower-Light",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 782,
+ "descent": -218,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Sunflower",
+ "fullName": "Sunflower Medium",
+ "postscriptName": "Sunflower-Medium",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 782,
+ "descent": -218,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Sunflower",
+ "fullName": "Sunflower Bold",
+ "postscriptName": "Sunflower-Bold",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 782,
+ "descent": -218,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "sunshiney": {
+ "familyName": "Sunshiney",
+ "fullName": "Sunshiney Regular",
+ "postscriptName": "Sunshiney-Regular",
+ "category": "handwriting",
+ "capHeight": 759,
+ "ascent": 1019,
+ "descent": -306,
+ "lineGap": 27,
+ "unitsPerEm": 1024,
+ "xHeight": 391,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Sunshiney",
+ "fullName": "Sunshiney Regular",
+ "postscriptName": "Sunshiney-Regular",
+ "category": "handwriting",
+ "capHeight": 759,
+ "ascent": 1019,
+ "descent": -306,
+ "lineGap": 27,
+ "unitsPerEm": 1024,
+ "xHeight": 391,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 266
+ }
+ }
+ }
+ }
+ },
+ "supermercadoOne": {
+ "familyName": "Supermercado One",
+ "fullName": "Supermercado Regular",
+ "postscriptName": "Supermercado-Regular",
+ "category": "display",
+ "capHeight": 1359,
+ "ascent": 1925,
+ "descent": -527,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1066,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Supermercado One",
+ "fullName": "Supermercado Regular",
+ "postscriptName": "Supermercado-Regular",
+ "category": "display",
+ "capHeight": 1359,
+ "ascent": 1925,
+ "descent": -527,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1066,
+ "xWidthAvg": 898,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 898
+ },
+ "thai": {
+ "xWidthAvg": 472
+ }
+ }
+ }
+ }
+ },
+ "sura": {
+ "familyName": "Sura",
+ "fullName": "Sura",
+ "postscriptName": "Sura-Regular",
+ "category": "serif",
+ "capHeight": 1464,
+ "ascent": 2359,
+ "descent": -872,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 458
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Sura",
+ "fullName": "Sura Bold",
+ "postscriptName": "Sura-Bold",
+ "category": "serif",
+ "capHeight": 1468,
+ "ascent": 2359,
+ "descent": -872,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1027,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 366
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Sura",
+ "fullName": "Sura",
+ "postscriptName": "Sura-Regular",
+ "category": "serif",
+ "capHeight": 1464,
+ "ascent": 2359,
+ "descent": -872,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1022,
+ "xWidthAvg": 902,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 902
+ },
+ "thai": {
+ "xWidthAvg": 458
+ }
+ }
+ }
+ }
+ },
+ "suranna": {
+ "familyName": "Suranna",
+ "fullName": "Suranna",
+ "postscriptName": "Suranna",
+ "category": "serif",
+ "capHeight": 492,
+ "ascent": 1101,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 780,
+ "xHeight": 319,
+ "xWidthAvg": 294,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 294
+ },
+ "thai": {
+ "xWidthAvg": 880
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Suranna",
+ "fullName": "Suranna",
+ "postscriptName": "Suranna",
+ "category": "serif",
+ "capHeight": 492,
+ "ascent": 1101,
+ "descent": -607,
+ "lineGap": 0,
+ "unitsPerEm": 780,
+ "xHeight": 319,
+ "xWidthAvg": 294,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 294
+ },
+ "thai": {
+ "xWidthAvg": 880
+ }
+ }
+ }
+ }
+ },
+ "suravaram": {
+ "familyName": "Suravaram",
+ "fullName": "Suravaram",
+ "postscriptName": "Suravaram",
+ "category": "serif",
+ "capHeight": 482,
+ "ascent": 1295,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 980,
+ "xHeight": 344,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Suravaram",
+ "fullName": "Suravaram",
+ "postscriptName": "Suravaram",
+ "category": "serif",
+ "capHeight": 482,
+ "ascent": 1295,
+ "descent": -794,
+ "lineGap": 0,
+ "unitsPerEm": 980,
+ "xHeight": 344,
+ "xWidthAvg": 350,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 350
+ },
+ "thai": {
+ "xWidthAvg": 886
+ }
+ }
+ }
+ }
+ },
+ "suwannaphum": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Regular",
+ "postscriptName": "Suwannaphum-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Thin",
+ "postscriptName": "Suwannaphum-Thin",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 987,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 987
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "300": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Light",
+ "postscriptName": "Suwannaphum-Light",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 994,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 994
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Bold",
+ "postscriptName": "Suwannaphum-Bold",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1014,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1014
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "900": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Black",
+ "postscriptName": "Suwannaphum-Black",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1022,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1022
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Suwannaphum",
+ "fullName": "Suwannaphum Regular",
+ "postscriptName": "Suwannaphum-Regular",
+ "category": "serif",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 1001,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1001
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "swankyAndMooMoo": {
+ "familyName": "Swanky and Moo Moo",
+ "fullName": "Swanky and Moo Moo",
+ "postscriptName": "SwankyandMooMoo",
+ "category": "handwriting",
+ "capHeight": 424,
+ "ascent": 995,
+ "descent": -507,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 341,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Swanky and Moo Moo",
+ "fullName": "Swanky and Moo Moo",
+ "postscriptName": "SwankyandMooMoo",
+ "category": "handwriting",
+ "capHeight": 424,
+ "ascent": 995,
+ "descent": -507,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 341,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 326
+ }
+ }
+ }
+ }
+ },
+ "syncopate": {
+ "familyName": "Syncopate",
+ "fullName": "Syncopate Regular",
+ "postscriptName": "Syncopate-Regular",
+ "category": "sans-serif",
+ "capHeight": 1374,
+ "ascent": 1556,
+ "descent": -426,
+ "lineGap": 150,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 1501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1501
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Syncopate",
+ "fullName": "Syncopate Bold",
+ "postscriptName": "Syncopate-Bold",
+ "category": "sans-serif",
+ "capHeight": 1374,
+ "ascent": 1556,
+ "descent": -426,
+ "lineGap": 150,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 1638,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1638
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Syncopate",
+ "fullName": "Syncopate Regular",
+ "postscriptName": "Syncopate-Regular",
+ "category": "sans-serif",
+ "capHeight": 1374,
+ "ascent": 1556,
+ "descent": -426,
+ "lineGap": 150,
+ "unitsPerEm": 2048,
+ "xHeight": 958,
+ "xWidthAvg": 1501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1501
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "syne": {
+ "familyName": "Syne",
+ "fullName": "Syne Regular",
+ "postscriptName": "Syne-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 446
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Syne",
+ "fullName": "Syne Medium",
+ "postscriptName": "Syne-Medium",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 449
+ }
+ }
+ },
+ "600": {
+ "familyName": "Syne",
+ "fullName": "Syne SemiBold",
+ "postscriptName": "Syne-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 452
+ }
+ }
+ },
+ "700": {
+ "familyName": "Syne",
+ "fullName": "Syne Bold",
+ "postscriptName": "Syne-Bold",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 456
+ }
+ }
+ },
+ "800": {
+ "familyName": "Syne",
+ "fullName": "Syne ExtraBold",
+ "postscriptName": "Syne-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 789,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 789
+ },
+ "thai": {
+ "xWidthAvg": 478
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Syne",
+ "fullName": "Syne Regular",
+ "postscriptName": "Syne-Regular",
+ "category": "sans-serif",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 446
+ }
+ }
+ }
+ }
+ },
+ "syneMono": {
+ "familyName": "Syne Mono",
+ "fullName": "Syne Mono Regular",
+ "postscriptName": "SyneMono-Regular",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 550,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 550
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Syne Mono",
+ "fullName": "Syne Mono Regular",
+ "postscriptName": "SyneMono-Regular",
+ "category": "monospace",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 550,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 550
+ },
+ "thai": {
+ "xWidthAvg": 550
+ }
+ }
+ }
+ }
+ },
+ "syneTactile": {
+ "familyName": "Syne Tactile",
+ "fullName": "Syne Tactile Regular",
+ "postscriptName": "SyneTactile-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 459
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Syne Tactile",
+ "fullName": "Syne Tactile Regular",
+ "postscriptName": "SyneTactile-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 925,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 459
+ }
+ }
+ }
+ }
+ },
+ "tacOne": {
+ "familyName": "Tac One",
+ "fullName": "Tac One Regular",
+ "postscriptName": "TacOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 554,
+ "ascent": 830,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tac One",
+ "fullName": "Tac One Regular",
+ "postscriptName": "TacOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 554,
+ "ascent": 830,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 360,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 360
+ },
+ "thai": {
+ "xWidthAvg": 493
+ }
+ }
+ }
+ }
+ },
+ "tahoma": {
+ "familyName": "Tahoma",
+ "fullName": "Tahoma",
+ "postscriptName": "Tahoma",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2049,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1117,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1144
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Tahoma",
+ "fullName": "Tahoma Bold",
+ "postscriptName": "Tahoma-Bold",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2049,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1123,
+ "xWidthAvg": 1044,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1044
+ },
+ "thai": {
+ "xWidthAvg": 1264
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tahoma",
+ "fullName": "Tahoma",
+ "postscriptName": "Tahoma",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2049,
+ "descent": -423,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1117,
+ "xWidthAvg": 917,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 917
+ },
+ "thai": {
+ "xWidthAvg": 1144
+ }
+ }
+ }
+ }
+ },
+ "taiHeritagePro": {
+ "familyName": "Tai Heritage Pro",
+ "fullName": "Tai Heritage Pro",
+ "postscriptName": "TaiHeritagePro",
+ "category": "serif",
+ "capHeight": 1700,
+ "ascent": 2700,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1150,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Tai Heritage Pro",
+ "fullName": "Tai Heritage Pro Bold",
+ "postscriptName": "TaiHeritagePro-Bold",
+ "category": "serif",
+ "capHeight": 1700,
+ "ascent": 2700,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1150,
+ "xWidthAvg": 931,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 931
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tai Heritage Pro",
+ "fullName": "Tai Heritage Pro",
+ "postscriptName": "TaiHeritagePro",
+ "category": "serif",
+ "capHeight": 1700,
+ "ascent": 2700,
+ "descent": -1600,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1150,
+ "xWidthAvg": 849,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 849
+ },
+ "thai": {
+ "xWidthAvg": 1400
+ }
+ }
+ }
+ }
+ },
+ "tajawal": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal",
+ "postscriptName": "Tajawal-Regular",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 240
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal ExtraLight",
+ "postscriptName": "Tajawal-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 645,
+ "descent": -355,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 394,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 394
+ },
+ "thai": {
+ "xWidthAvg": 213
+ }
+ }
+ },
+ "300": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal Light",
+ "postscriptName": "Tajawal-Light",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 645,
+ "descent": -355,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 220
+ }
+ }
+ },
+ "500": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal-Medium",
+ "postscriptName": "Tajawal-Medium",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 233
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal-Bold",
+ "postscriptName": "Tajawal-Bold",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 240
+ }
+ }
+ },
+ "800": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal ExtraBold",
+ "postscriptName": "Tajawal-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 247
+ }
+ }
+ },
+ "900": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal Black",
+ "postscriptName": "Tajawal-Black",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 253
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tajawal",
+ "fullName": "Tajawal",
+ "postscriptName": "Tajawal-Regular",
+ "category": "sans-serif",
+ "capHeight": 633,
+ "ascent": 643,
+ "descent": -357,
+ "lineGap": 200,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 240
+ }
+ }
+ }
+ }
+ },
+ "tangerine": {
+ "familyName": "Tangerine",
+ "fullName": "Tangerine Regular",
+ "postscriptName": "Tangerine-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 255,
+ "xWidthAvg": 237,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 237
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Tangerine",
+ "fullName": "Tangerine Bold",
+ "postscriptName": "Tangerine-Bold",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 256,
+ "xWidthAvg": 259,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 259
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tangerine",
+ "fullName": "Tangerine Regular",
+ "postscriptName": "Tangerine-Regular",
+ "category": "handwriting",
+ "capHeight": 644,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 255,
+ "xWidthAvg": 237,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 237
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ }
+ }
+ },
+ "tapestry": {
+ "familyName": "Tapestry",
+ "fullName": "Tapestry Regular",
+ "postscriptName": "Tapestry-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 463
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tapestry",
+ "fullName": "Tapestry Regular",
+ "postscriptName": "Tapestry-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 454,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 463
+ }
+ }
+ }
+ }
+ },
+ "taprom": {
+ "familyName": "Taprom",
+ "fullName": "Taprom Regular",
+ "postscriptName": "Taprom-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Taprom",
+ "fullName": "Taprom Regular",
+ "postscriptName": "Taprom-Regular",
+ "category": "display",
+ "capHeight": 1462,
+ "ascent": 2500,
+ "descent": -1200,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1098,
+ "xWidthAvg": 755,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 755
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "tauri": {
+ "familyName": "Tauri",
+ "fullName": "Tauri-Regular",
+ "postscriptName": "TauriRegular",
+ "category": "sans-serif",
+ "capHeight": 1571,
+ "ascent": 2040,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1135,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 2134
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tauri",
+ "fullName": "Tauri-Regular",
+ "postscriptName": "TauriRegular",
+ "category": "sans-serif",
+ "capHeight": 1571,
+ "ascent": 2040,
+ "descent": -520,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1135,
+ "xWidthAvg": 978,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 978
+ },
+ "thai": {
+ "xWidthAvg": 2134
+ }
+ }
+ }
+ }
+ },
+ "taviraj": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Regular",
+ "postscriptName": "Taviraj-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Thin",
+ "postscriptName": "Taviraj-Thin",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "200": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj ExtraLight",
+ "postscriptName": "Taviraj-ExtraLight",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 430,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 430
+ },
+ "thai": {
+ "xWidthAvg": 525
+ }
+ }
+ },
+ "300": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Light",
+ "postscriptName": "Taviraj-Light",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 541
+ }
+ }
+ },
+ "500": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Medium",
+ "postscriptName": "Taviraj-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "600": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj SemiBold",
+ "postscriptName": "Taviraj-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 595
+ }
+ }
+ },
+ "700": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Bold",
+ "postscriptName": "Taviraj-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 539,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 539
+ },
+ "thai": {
+ "xWidthAvg": 619
+ }
+ }
+ },
+ "800": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj ExtraBold",
+ "postscriptName": "Taviraj-ExtraBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 548,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 548
+ },
+ "thai": {
+ "xWidthAvg": 627
+ }
+ }
+ },
+ "900": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Black",
+ "postscriptName": "Taviraj-Black",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 557,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 557
+ },
+ "thai": {
+ "xWidthAvg": 635
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Regular",
+ "postscriptName": "Taviraj-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 556
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Italic",
+ "postscriptName": "Taviraj-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 534
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Black Italic",
+ "postscriptName": "Taviraj-BlackItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 539,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 539
+ },
+ "thai": {
+ "xWidthAvg": 610
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj ExtraBold Italic",
+ "postscriptName": "Taviraj-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 529,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 529
+ },
+ "thai": {
+ "xWidthAvg": 602
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Bold Italic",
+ "postscriptName": "Taviraj-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 521,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 521
+ },
+ "thai": {
+ "xWidthAvg": 594
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj SemiBold Italic",
+ "postscriptName": "Taviraj-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 572
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Medium Italic",
+ "postscriptName": "Taviraj-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 549
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Light Italic",
+ "postscriptName": "Taviraj-LightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 519
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj ExtraLight Italic",
+ "postscriptName": "Taviraj-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 504
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Taviraj",
+ "fullName": "Taviraj Thin Italic",
+ "postscriptName": "Taviraj-ThinItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1172,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 490
+ }
+ }
+ }
+ }
+ },
+ "teachers": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Regular",
+ "postscriptName": "Teachers-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Medium",
+ "postscriptName": "Teachers-Medium",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "600": {
+ "familyName": "Teachers",
+ "fullName": "Teachers SemiBold",
+ "postscriptName": "Teachers-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Bold",
+ "postscriptName": "Teachers-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Teachers",
+ "fullName": "Teachers ExtraBold",
+ "postscriptName": "Teachers-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Regular",
+ "postscriptName": "Teachers-Regular",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Italic",
+ "postscriptName": "Teachers-Italic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Teachers",
+ "fullName": "Teachers ExtraBold Italic",
+ "postscriptName": "Teachers-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Bold Italic",
+ "postscriptName": "Teachers-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Teachers",
+ "fullName": "Teachers SemiBold Italic",
+ "postscriptName": "Teachers-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Teachers",
+ "fullName": "Teachers Medium Italic",
+ "postscriptName": "Teachers-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ }
+ }
+ },
+ "teko": {
+ "familyName": "Teko",
+ "fullName": "Teko Regular",
+ "postscriptName": "Teko-Regular",
+ "category": "sans-serif",
+ "capHeight": 626,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 292,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 292
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Teko",
+ "fullName": "Teko Light",
+ "postscriptName": "Teko-Light",
+ "category": "sans-serif",
+ "capHeight": 622,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 266,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 266
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ },
+ "500": {
+ "familyName": "Teko",
+ "fullName": "Teko Medium",
+ "postscriptName": "Teko-Medium",
+ "category": "sans-serif",
+ "capHeight": 631,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 321,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 321
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "600": {
+ "familyName": "Teko",
+ "fullName": "Teko SemiBold",
+ "postscriptName": "Teko-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 636,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 354,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 354
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "700": {
+ "familyName": "Teko",
+ "fullName": "Teko Bold",
+ "postscriptName": "Teko-Bold",
+ "category": "sans-serif",
+ "capHeight": 642,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 486,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Teko",
+ "fullName": "Teko Regular",
+ "postscriptName": "Teko-Regular",
+ "category": "sans-serif",
+ "capHeight": 626,
+ "ascent": 958,
+ "descent": -475,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 292,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 292
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ }
+ }
+ },
+ "tektur": {
+ "familyName": "Tektur",
+ "fullName": "Tektur Regular",
+ "postscriptName": "Tektur-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Tektur",
+ "fullName": "Tektur Medium",
+ "postscriptName": "Tektur-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "600": {
+ "familyName": "Tektur",
+ "fullName": "Tektur SemiBold",
+ "postscriptName": "Tektur-SemiBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tektur",
+ "fullName": "Tektur Bold",
+ "postscriptName": "Tektur-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "800": {
+ "familyName": "Tektur",
+ "fullName": "Tektur ExtraBold",
+ "postscriptName": "Tektur-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "900": {
+ "familyName": "Tektur",
+ "fullName": "Tektur Black",
+ "postscriptName": "Tektur-Black",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tektur",
+ "fullName": "Tektur Regular",
+ "postscriptName": "Tektur-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1000,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 492,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 492
+ },
+ "thai": {
+ "xWidthAvg": 580
+ }
+ }
+ }
+ }
+ },
+ "telex": {
+ "familyName": "Telex",
+ "fullName": "Telex Regular",
+ "postscriptName": "Telex-Regular",
+ "category": "sans-serif",
+ "capHeight": 708,
+ "ascent": 945,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Telex",
+ "fullName": "Telex Regular",
+ "postscriptName": "Telex-Regular",
+ "category": "sans-serif",
+ "capHeight": 708,
+ "ascent": 945,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 514,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 596
+ }
+ }
+ }
+ }
+ },
+ "tenaliRamakrishna": {
+ "familyName": "Tenali Ramakrishna",
+ "fullName": "Tenali Ramakrishna",
+ "postscriptName": "TenaliRamakrishna",
+ "category": "sans-serif",
+ "capHeight": 367,
+ "ascent": 661,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 268,
+ "xWidthAvg": 264,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 264
+ },
+ "thai": {
+ "xWidthAvg": 438
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tenali Ramakrishna",
+ "fullName": "Tenali Ramakrishna",
+ "postscriptName": "TenaliRamakrishna",
+ "category": "sans-serif",
+ "capHeight": 367,
+ "ascent": 661,
+ "descent": -512,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 268,
+ "xWidthAvg": 264,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 264
+ },
+ "thai": {
+ "xWidthAvg": 438
+ }
+ }
+ }
+ }
+ },
+ "tenorSans": {
+ "familyName": "Tenor Sans",
+ "fullName": "Tenor Sans",
+ "postscriptName": "TenorSans",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tenor Sans",
+ "fullName": "Tenor Sans",
+ "postscriptName": "TenorSans",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 920,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 487,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 487
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ }
+ }
+ },
+ "textMeOne": {
+ "familyName": "Text Me One",
+ "fullName": "Text Me One",
+ "postscriptName": "TextMeOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 952,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Text Me One",
+ "fullName": "Text Me One",
+ "postscriptName": "TextMeOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 952,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 502,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "texturina": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Regular",
+ "postscriptName": "Texturina12pt-Regular",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Thin",
+ "postscriptName": "Texturina12pt-Thin",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt ExtraLight",
+ "postscriptName": "Texturina12pt-ExtraLight",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Light",
+ "postscriptName": "Texturina12pt-Light",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Medium",
+ "postscriptName": "Texturina12pt-Medium",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt SemiBold",
+ "postscriptName": "Texturina12pt-SemiBold",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Bold",
+ "postscriptName": "Texturina12pt-Bold",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt ExtraBold",
+ "postscriptName": "Texturina12pt-ExtraBold",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Black",
+ "postscriptName": "Texturina12pt-Black",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Regular",
+ "postscriptName": "Texturina12pt-Regular",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 451,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 451
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Italic",
+ "postscriptName": "Texturina12pt-Italic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Black Italic",
+ "postscriptName": "Texturina12pt-BlackItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt ExtraBold Italic",
+ "postscriptName": "Texturina12pt-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Bold Italic",
+ "postscriptName": "Texturina12pt-BoldItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt SemiBold Italic",
+ "postscriptName": "Texturina12pt-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Medium Italic",
+ "postscriptName": "Texturina12pt-MediumItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Light Italic",
+ "postscriptName": "Texturina12pt-LightItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt ExtraLight Italic",
+ "postscriptName": "Texturina12pt-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Texturina",
+ "fullName": "Texturina 12pt Thin Italic",
+ "postscriptName": "Texturina12pt-ThinItalic",
+ "category": "serif",
+ "capHeight": 704,
+ "ascent": 1260,
+ "descent": -300,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "thasadith": {
+ "familyName": "Thasadith",
+ "fullName": "Thasadith Regular",
+ "postscriptName": "Thasadith-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Thasadith",
+ "fullName": "Thasadith Bold",
+ "postscriptName": "Thasadith-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 515
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Thasadith",
+ "fullName": "Thasadith Regular",
+ "postscriptName": "Thasadith-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Thasadith",
+ "fullName": "Thasadith Italic",
+ "postscriptName": "Thasadith-Italic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Thasadith",
+ "fullName": "Thasadith Bold Italic",
+ "postscriptName": "Thasadith-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1005,
+ "descent": -295,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 516
+ }
+ }
+ }
+ }
+ },
+ "theGirlNextDoor": {
+ "familyName": "The Girl Next Door",
+ "fullName": "The Girl Next Door",
+ "postscriptName": "TheGirlNextDoor",
+ "category": "handwriting",
+ "capHeight": 627,
+ "ascent": 1139,
+ "descent": -748,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 519,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 346
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "The Girl Next Door",
+ "fullName": "The Girl Next Door",
+ "postscriptName": "TheGirlNextDoor",
+ "category": "handwriting",
+ "capHeight": 627,
+ "ascent": 1139,
+ "descent": -748,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 519,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 346
+ }
+ }
+ }
+ }
+ },
+ "theNautigal": {
+ "familyName": "The Nautigal",
+ "fullName": "The Nautigal Regular",
+ "postscriptName": "TheNautigal-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 870,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 265,
+ "xWidthAvg": 251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 251
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "The Nautigal",
+ "fullName": "The Nautigal Bold",
+ "postscriptName": "TheNautigal-Bold",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 870,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 265,
+ "xWidthAvg": 254,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 254
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ },
+ "regular": {
+ "familyName": "The Nautigal",
+ "fullName": "The Nautigal Regular",
+ "postscriptName": "TheNautigal-Regular",
+ "category": "handwriting",
+ "capHeight": 600,
+ "ascent": 870,
+ "descent": -330,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 265,
+ "xWidthAvg": 251,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 251
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "tienne": {
+ "familyName": "Tienne",
+ "fullName": "Tienne Regular",
+ "postscriptName": "Tienne-Regular",
+ "category": "serif",
+ "capHeight": 1437,
+ "ascent": 2030,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 363,
+ "xWidthAvg": 1048,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1048
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Tienne",
+ "fullName": "Tienne Bold",
+ "postscriptName": "Tienne-Bold",
+ "category": "serif",
+ "capHeight": 1413,
+ "ascent": 2030,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 483,
+ "xWidthAvg": 1092,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1092
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "900": {
+ "familyName": "Tienne",
+ "fullName": "Tienne Black",
+ "postscriptName": "Tienne-Black",
+ "category": "serif",
+ "capHeight": 1387,
+ "ascent": 2030,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 983,
+ "xWidthAvg": 1140,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1140
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tienne",
+ "fullName": "Tienne Regular",
+ "postscriptName": "Tienne-Regular",
+ "category": "serif",
+ "capHeight": 1437,
+ "ascent": 2030,
+ "descent": -724,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 363,
+ "xWidthAvg": 1048,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1048
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ }
+ }
+ },
+ "tillana": {
+ "familyName": "Tillana",
+ "fullName": "Tillana Regular",
+ "postscriptName": "Tillana-Regular",
+ "category": "display",
+ "capHeight": 732,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Tillana",
+ "fullName": "Tillana Medium",
+ "postscriptName": "Tillana-Medium",
+ "category": "display",
+ "capHeight": 738,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 552,
+ "xWidthAvg": 481,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 481
+ },
+ "thai": {
+ "xWidthAvg": 751
+ }
+ }
+ },
+ "600": {
+ "familyName": "Tillana",
+ "fullName": "Tillana SemiBold",
+ "postscriptName": "Tillana-SemiBold",
+ "category": "display",
+ "capHeight": 744,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 558,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 753
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tillana",
+ "fullName": "Tillana Bold",
+ "postscriptName": "Tillana-Bold",
+ "category": "display",
+ "capHeight": 751,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 568,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 568
+ },
+ "thai": {
+ "xWidthAvg": 754
+ }
+ }
+ },
+ "800": {
+ "familyName": "Tillana",
+ "fullName": "Tillana ExtraBold",
+ "postscriptName": "Tillana-ExtraBold",
+ "category": "display",
+ "capHeight": 758,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 621,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 621
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tillana",
+ "fullName": "Tillana Regular",
+ "postscriptName": "Tillana-Regular",
+ "category": "display",
+ "capHeight": 732,
+ "ascent": 1158,
+ "descent": -484,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 546,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 750
+ }
+ }
+ }
+ }
+ },
+ "tiltNeon": {
+ "familyName": "Tilt Neon",
+ "fullName": "Tilt Neon Regular",
+ "postscriptName": "TiltNeon-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tilt Neon",
+ "fullName": "Tilt Neon Regular",
+ "postscriptName": "TiltNeon-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "tiltPrism": {
+ "familyName": "Tilt Prism",
+ "fullName": "Tilt Prism Regular",
+ "postscriptName": "TiltPrism-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tilt Prism",
+ "fullName": "Tilt Prism Regular",
+ "postscriptName": "TiltPrism-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "tiltWarp": {
+ "familyName": "Tilt Warp",
+ "fullName": "Tilt Warp Regular",
+ "postscriptName": "TiltWarp-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tilt Warp",
+ "fullName": "Tilt Warp Regular",
+ "postscriptName": "TiltWarp-Regular",
+ "category": "display",
+ "capHeight": 680,
+ "ascent": 990,
+ "descent": -272,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "timesNewRoman": {
+ "familyName": "Times New Roman",
+ "fullName": "Times New Roman",
+ "postscriptName": "TimesNewRomanPSMT",
+ "category": "serif",
+ "capHeight": 1356,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 916,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Times New Roman",
+ "fullName": "Times New Roman Bold",
+ "postscriptName": "TimesNewRomanPS-BoldMT",
+ "category": "serif",
+ "capHeight": 1356,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 935,
+ "xWidthAvg": 886,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 886
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Times New Roman",
+ "fullName": "Times New Roman",
+ "postscriptName": "TimesNewRomanPSMT",
+ "category": "serif",
+ "capHeight": 1356,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 916,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Times New Roman",
+ "fullName": "Times New Roman Italic",
+ "postscriptName": "TimesNewRomanPS-ItalicMT",
+ "category": "serif",
+ "capHeight": 1356,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 881,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Times New Roman",
+ "fullName": "Times New Roman Bold Italic",
+ "postscriptName": "TimesNewRomanPS-BoldItalicMT",
+ "category": "serif",
+ "capHeight": 1356,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 899,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ }
+ }
+ },
+ "timmana": {
+ "familyName": "Timmana",
+ "fullName": "Timmana",
+ "postscriptName": "Timmana",
+ "category": "sans-serif",
+ "capHeight": 454,
+ "ascent": 668,
+ "descent": -554,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 354,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Timmana",
+ "fullName": "Timmana",
+ "postscriptName": "Timmana",
+ "category": "sans-serif",
+ "capHeight": 454,
+ "ascent": 668,
+ "descent": -554,
+ "lineGap": 0,
+ "unitsPerEm": 750,
+ "xHeight": 354,
+ "xWidthAvg": 301,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 301
+ },
+ "thai": {
+ "xWidthAvg": 558
+ }
+ }
+ }
+ }
+ },
+ "tinos": {
+ "familyName": "Tinos",
+ "fullName": "Tinos Regular",
+ "postscriptName": "Tinos-Regular",
+ "category": "serif",
+ "capHeight": 1341,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 940,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Tinos",
+ "fullName": "Tinos Bold",
+ "postscriptName": "Tinos-Bold",
+ "category": "serif",
+ "capHeight": 1341,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 940,
+ "xWidthAvg": 886,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 886
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tinos",
+ "fullName": "Tinos Regular",
+ "postscriptName": "Tinos-Regular",
+ "category": "serif",
+ "capHeight": 1341,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 940,
+ "xWidthAvg": 832,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 832
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tinos",
+ "fullName": "Tinos Italic",
+ "postscriptName": "Tinos-Italic",
+ "category": "serif",
+ "capHeight": 1341,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 940,
+ "xWidthAvg": 836,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 836
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Tinos",
+ "fullName": "Tinos Bold Italic",
+ "postscriptName": "Tinos-BoldItalic",
+ "category": "serif",
+ "capHeight": 1341,
+ "ascent": 1825,
+ "descent": -443,
+ "lineGap": 87,
+ "unitsPerEm": 2048,
+ "xHeight": 941,
+ "xWidthAvg": 857,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 857
+ },
+ "thai": {
+ "xWidthAvg": 1593
+ }
+ }
+ }
+ }
+ },
+ "tiny5": {
+ "familyName": "Tiny5",
+ "fullName": "Tiny5 Regular",
+ "postscriptName": "Tiny5-Regular",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 896,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 512,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 768
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiny5",
+ "fullName": "Tiny5 Regular",
+ "postscriptName": "Tiny5-Regular",
+ "category": "sans-serif",
+ "capHeight": 640,
+ "ascent": 896,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 512,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 768
+ }
+ }
+ }
+ }
+ },
+ "tiroBangla": {
+ "familyName": "Tiro Bangla",
+ "fullName": "Tiro Bangla Regular",
+ "postscriptName": "TiroBangla-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Bangla",
+ "fullName": "Tiro Bangla Regular",
+ "postscriptName": "TiroBangla-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Bangla",
+ "fullName": "Tiro Bangla Italic",
+ "postscriptName": "TiroBangla-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroDevanagariHindi": {
+ "familyName": "Tiro Devanagari Hindi",
+ "fullName": "Tiro Devanagari Hindi Regular",
+ "postscriptName": "TiroDevaHindi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Devanagari Hindi",
+ "fullName": "Tiro Devanagari Hindi Regular",
+ "postscriptName": "TiroDevaHindi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Devanagari Hindi",
+ "fullName": "Tiro Devanagari Hindi Italic",
+ "postscriptName": "TiroDevaHindi-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroDevanagariMarathi": {
+ "familyName": "Tiro Devanagari Marathi",
+ "fullName": "Tiro Devanagari Marathi Regular",
+ "postscriptName": "TiroDevaMarathi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Devanagari Marathi",
+ "fullName": "Tiro Devanagari Marathi Regular",
+ "postscriptName": "TiroDevaMarathi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Devanagari Marathi",
+ "fullName": "Tiro Devanagari Marathi Italic",
+ "postscriptName": "TiroDevaMarathi-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroDevanagariSanskrit": {
+ "familyName": "Tiro Devanagari Sanskrit",
+ "fullName": "Tiro Devanagari Sanskrit Regular",
+ "postscriptName": "TiroDevaSanskrit-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Devanagari Sanskrit",
+ "fullName": "Tiro Devanagari Sanskrit Regular",
+ "postscriptName": "TiroDevaSanskrit-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Devanagari Sanskrit",
+ "fullName": "Tiro Devanagari Sanskrit Italic",
+ "postscriptName": "TiroDevaSanskrit-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 330,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroGurmukhi": {
+ "familyName": "Tiro Gurmukhi",
+ "fullName": "Tiro Gurmukhi Regular",
+ "postscriptName": "TiroGurmukhi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Gurmukhi",
+ "fullName": "Tiro Gurmukhi Regular",
+ "postscriptName": "TiroGurmukhi-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Gurmukhi",
+ "fullName": "Tiro Gurmukhi Italic",
+ "postscriptName": "TiroGurmukhi-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroKannada": {
+ "familyName": "Tiro Kannada",
+ "fullName": "Tiro Kannada Regular",
+ "postscriptName": "TiroKannada-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Kannada",
+ "fullName": "Tiro Kannada Regular",
+ "postscriptName": "TiroKannada-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Kannada",
+ "fullName": "Tiro Kannada Italic",
+ "postscriptName": "TiroKannada-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroTamil": {
+ "familyName": "Tiro Tamil",
+ "fullName": "Tiro Tamil Regular",
+ "postscriptName": "TiroTamil-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 436,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Tamil",
+ "fullName": "Tiro Tamil Regular",
+ "postscriptName": "TiroTamil-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 436,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Tamil",
+ "fullName": "Tiro Tamil Italic",
+ "postscriptName": "TiroTamil-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 436,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "tiroTelugu": {
+ "familyName": "Tiro Telugu",
+ "fullName": "Tiro Telugu Regular",
+ "postscriptName": "TiroTelugu-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tiro Telugu",
+ "fullName": "Tiro Telugu Regular",
+ "postscriptName": "TiroTelugu-Regular",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tiro Telugu",
+ "fullName": "Tiro Telugu Italic",
+ "postscriptName": "TiroTelugu-Italic",
+ "category": "serif",
+ "capHeight": 699,
+ "ascent": 755,
+ "descent": -245,
+ "lineGap": 794,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 464
+ }
+ }
+ }
+ }
+ },
+ "titanOne": {
+ "familyName": "Titan One",
+ "fullName": "Titan One",
+ "postscriptName": "TitanOne",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 970,
+ "descent": -175,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 544,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 544
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Titan One",
+ "fullName": "Titan One",
+ "postscriptName": "TitanOne",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 970,
+ "descent": -175,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 580,
+ "xWidthAvg": 544,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 544
+ },
+ "thai": {
+ "xWidthAvg": 300
+ }
+ }
+ }
+ }
+ },
+ "titilliumWeb": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Regular",
+ "postscriptName": "TitilliumWeb-Regular",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web ExtraLight",
+ "postscriptName": "TitilliumWeb-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "300": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Light",
+ "postscriptName": "TitilliumWeb-Light",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "600": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web SemiBold",
+ "postscriptName": "TitilliumWeb-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "700": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Bold",
+ "postscriptName": "TitilliumWeb-Bold",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "900": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Black",
+ "postscriptName": "TitilliumWeb-Black",
+ "category": "sans-serif",
+ "capHeight": 670,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 505,
+ "xWidthAvg": 453,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 453
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Regular",
+ "postscriptName": "TitilliumWeb-Regular",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 235
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Italic",
+ "postscriptName": "TitilliumWeb-Italic",
+ "category": "sans-serif",
+ "capHeight": 692,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 223
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Bold Italic",
+ "postscriptName": "TitilliumWeb-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 680,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 223
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web SemiBold Italic",
+ "postscriptName": "TitilliumWeb-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 685,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 223
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web Light Italic",
+ "postscriptName": "TitilliumWeb-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 695,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 223
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Titillium Web",
+ "fullName": "Titillium Web ExtraLight Italic",
+ "postscriptName": "TitilliumWeb-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1133,
+ "descent": -388,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 223
+ }
+ }
+ }
+ }
+ },
+ "tomorrow": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Regular",
+ "postscriptName": "Tomorrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 694
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Thin",
+ "postscriptName": "Tomorrow-Thin",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 681
+ }
+ }
+ },
+ "200": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow ExtraLight",
+ "postscriptName": "Tomorrow-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 683
+ }
+ }
+ },
+ "300": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Light",
+ "postscriptName": "Tomorrow-Light",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 687
+ }
+ }
+ },
+ "500": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Medium",
+ "postscriptName": "Tomorrow-Medium",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow SemiBold",
+ "postscriptName": "Tomorrow-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 710
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Bold",
+ "postscriptName": "Tomorrow-Bold",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "800": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow ExtraBold",
+ "postscriptName": "Tomorrow-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 722
+ }
+ }
+ },
+ "900": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Black",
+ "postscriptName": "Tomorrow-Black",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 571,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 571
+ },
+ "thai": {
+ "xWidthAvg": 726
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Regular",
+ "postscriptName": "Tomorrow-Regular",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 694
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Italic",
+ "postscriptName": "Tomorrow-Italic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 688
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Black Italic",
+ "postscriptName": "Tomorrow-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 571,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 571
+ },
+ "thai": {
+ "xWidthAvg": 726
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow ExtraBold Italic",
+ "postscriptName": "Tomorrow-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 562,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 562
+ },
+ "thai": {
+ "xWidthAvg": 722
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Bold Italic",
+ "postscriptName": "Tomorrow-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 526,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 526
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow SemiBold Italic",
+ "postscriptName": "Tomorrow-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 510,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 510
+ },
+ "thai": {
+ "xWidthAvg": 710
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Medium Italic",
+ "postscriptName": "Tomorrow-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 693
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Light Italic",
+ "postscriptName": "Tomorrow-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 684
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow ExtraLight Italic",
+ "postscriptName": "Tomorrow-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 457,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 457
+ },
+ "thai": {
+ "xWidthAvg": 681
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Tomorrow",
+ "fullName": "Tomorrow Thin Italic",
+ "postscriptName": "Tomorrow-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 737,
+ "ascent": 1000,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 679
+ }
+ }
+ }
+ }
+ },
+ "tourney": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Regular",
+ "postscriptName": "Tourney-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Thin",
+ "postscriptName": "Tourney-Thin",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 649
+ }
+ }
+ },
+ "200": {
+ "familyName": "Tourney",
+ "fullName": "Tourney ExtraLight",
+ "postscriptName": "Tourney-ExtraLight",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "300": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Light",
+ "postscriptName": "Tourney-Light",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "500": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Medium",
+ "postscriptName": "Tourney-Medium",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "600": {
+ "familyName": "Tourney",
+ "fullName": "Tourney SemiBold",
+ "postscriptName": "Tourney-SemiBold",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Bold",
+ "postscriptName": "Tourney-Bold",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "800": {
+ "familyName": "Tourney",
+ "fullName": "Tourney ExtraBold",
+ "postscriptName": "Tourney-ExtraBold",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "900": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Black",
+ "postscriptName": "Tourney-Black",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Regular",
+ "postscriptName": "Tourney-Regular",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1061,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1061
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Italic",
+ "postscriptName": "Tourney-Italic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 659
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Black Italic",
+ "postscriptName": "Tourney-BlackItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney ExtraBold Italic",
+ "postscriptName": "Tourney-ExtraBoldItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Bold Italic",
+ "postscriptName": "Tourney-BoldItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 669
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney SemiBold Italic",
+ "postscriptName": "Tourney-SemiBoldItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 666
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Medium Italic",
+ "postscriptName": "Tourney-MediumItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 662
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Light Italic",
+ "postscriptName": "Tourney-LightItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 656
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney ExtraLight Italic",
+ "postscriptName": "Tourney-ExtraLightItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 652
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Tourney",
+ "fullName": "Tourney Thin Italic",
+ "postscriptName": "Tourney-ThinItalic",
+ "category": "display",
+ "capHeight": 1400,
+ "ascent": 1800,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1080,
+ "xWidthAvg": 1062,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1062
+ },
+ "thai": {
+ "xWidthAvg": 649
+ }
+ }
+ }
+ }
+ },
+ "tradeWinds": {
+ "familyName": "Trade Winds",
+ "fullName": "Trade Winds",
+ "postscriptName": "TradeWinds",
+ "category": "display",
+ "capHeight": 814,
+ "ascent": 1019,
+ "descent": -469,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 576,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Trade Winds",
+ "fullName": "Trade Winds",
+ "postscriptName": "TradeWinds",
+ "category": "display",
+ "capHeight": 814,
+ "ascent": 1019,
+ "descent": -469,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 576,
+ "xWidthAvg": 522,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 522
+ },
+ "thai": {
+ "xWidthAvg": 317
+ }
+ }
+ }
+ }
+ },
+ "trainOne": {
+ "familyName": "Train One",
+ "fullName": "Train One Regular",
+ "postscriptName": "TrainOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 557,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Train One",
+ "fullName": "Train One Regular",
+ "postscriptName": "TrainOne-Regular",
+ "category": "display",
+ "capHeight": 780,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 557,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "trebuchetMS": {
+ "familyName": "Trebuchet MS",
+ "fullName": "Trebuchet MS",
+ "postscriptName": "TrebuchetMS",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1923,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Trebuchet MS",
+ "fullName": "Trebuchet MS Bold",
+ "postscriptName": "TrebuchetMS-Bold",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1923,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 976,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 976
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Trebuchet MS",
+ "fullName": "Trebuchet MS",
+ "postscriptName": "TrebuchetMS",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1923,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 934,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 934
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Trebuchet MS",
+ "fullName": "Trebuchet MS Italic",
+ "postscriptName": "TrebuchetMS-Italic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1923,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 943,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 943
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Trebuchet MS",
+ "fullName": "Trebuchet MS Bold Italic",
+ "postscriptName": "Trebuchet-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1465,
+ "ascent": 1923,
+ "descent": -455,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1071,
+ "xWidthAvg": 993,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 993
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "trirong": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Regular",
+ "postscriptName": "Trirong-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Thin",
+ "postscriptName": "Trirong-Thin",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 487
+ }
+ }
+ },
+ "200": {
+ "familyName": "Trirong",
+ "fullName": "Trirong ExtraLight",
+ "postscriptName": "Trirong-ExtraLight",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 501
+ }
+ }
+ },
+ "300": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Light",
+ "postscriptName": "Trirong-Light",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 517
+ }
+ }
+ },
+ "500": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Medium",
+ "postscriptName": "Trirong-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 494,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 494
+ },
+ "thai": {
+ "xWidthAvg": 546
+ }
+ }
+ },
+ "600": {
+ "familyName": "Trirong",
+ "fullName": "Trirong SemiBold",
+ "postscriptName": "Trirong-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 561
+ }
+ }
+ },
+ "700": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Bold",
+ "postscriptName": "Trirong-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 523,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 523
+ },
+ "thai": {
+ "xWidthAvg": 576
+ }
+ }
+ },
+ "800": {
+ "familyName": "Trirong",
+ "fullName": "Trirong ExtraBold",
+ "postscriptName": "Trirong-ExtraBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 538,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 538
+ },
+ "thai": {
+ "xWidthAvg": 591
+ }
+ }
+ },
+ "900": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Black",
+ "postscriptName": "Trirong-Black",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 553,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 553
+ },
+ "thai": {
+ "xWidthAvg": 606
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Regular",
+ "postscriptName": "Trirong-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Italic",
+ "postscriptName": "Trirong-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 510
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Black Italic",
+ "postscriptName": "Trirong-BlackItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 582
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong ExtraBold Italic",
+ "postscriptName": "Trirong-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 519,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 519
+ },
+ "thai": {
+ "xWidthAvg": 567
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Bold Italic",
+ "postscriptName": "Trirong-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 552
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong SemiBold Italic",
+ "postscriptName": "Trirong-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 539
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Medium Italic",
+ "postscriptName": "Trirong-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Light Italic",
+ "postscriptName": "Trirong-LightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 496
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong ExtraLight Italic",
+ "postscriptName": "Trirong-ExtraLightItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 433,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 433
+ },
+ "thai": {
+ "xWidthAvg": 481
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Trirong",
+ "fullName": "Trirong Thin Italic",
+ "postscriptName": "Trirong-ThinItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1200,
+ "descent": -534,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 498,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ }
+ }
+ },
+ "trispace": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Regular",
+ "postscriptName": "Trispace-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Thin",
+ "postscriptName": "Trispace-Thin",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Trispace",
+ "fullName": "Trispace ExtraLight",
+ "postscriptName": "Trispace-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Light",
+ "postscriptName": "Trispace-Light",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Medium",
+ "postscriptName": "Trispace-Medium",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Trispace",
+ "fullName": "Trispace SemiBold",
+ "postscriptName": "Trispace-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Bold",
+ "postscriptName": "Trispace-Bold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "800": {
+ "familyName": "Trispace",
+ "fullName": "Trispace ExtraBold",
+ "postscriptName": "Trispace-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Trispace",
+ "fullName": "Trispace Regular",
+ "postscriptName": "Trispace-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1830,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 1229,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1229
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "trocchi": {
+ "familyName": "Trocchi",
+ "fullName": "Trocchi Regular",
+ "postscriptName": "Trocchi-Regular",
+ "category": "serif",
+ "capHeight": 1505,
+ "ascent": 2085,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1073,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1320
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Trocchi",
+ "fullName": "Trocchi Regular",
+ "postscriptName": "Trocchi-Regular",
+ "category": "serif",
+ "capHeight": 1505,
+ "ascent": 2085,
+ "descent": -576,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1073,
+ "xWidthAvg": 1024,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1024
+ },
+ "thai": {
+ "xWidthAvg": 1320
+ }
+ }
+ }
+ }
+ },
+ "trochut": {
+ "familyName": "Trochut",
+ "fullName": "Trochut",
+ "postscriptName": "Trochut",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 967,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Trochut",
+ "fullName": "Trochut Bold",
+ "postscriptName": "Trochut-Bold",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 967,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 411,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 411
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Trochut",
+ "fullName": "Trochut",
+ "postscriptName": "Trochut",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 967,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Trochut",
+ "fullName": "Trochut Italic",
+ "postscriptName": "Trochut-Italic",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 967,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "truculenta": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Regular",
+ "postscriptName": "Truculenta-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Thin",
+ "postscriptName": "Truculenta-Thin",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "200": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta ExtraLight",
+ "postscriptName": "Truculenta-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "300": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Light",
+ "postscriptName": "Truculenta-Light",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "500": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Medium",
+ "postscriptName": "Truculenta-Medium",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 368,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 368
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "600": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta SemiBold",
+ "postscriptName": "Truculenta-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 367,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 367
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "700": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Bold",
+ "postscriptName": "Truculenta-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 365,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 365
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "800": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta ExtraBold",
+ "postscriptName": "Truculenta-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 364,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 364
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "900": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Black",
+ "postscriptName": "Truculenta-Black",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Truculenta",
+ "fullName": "Truculenta Regular",
+ "postscriptName": "Truculenta-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 1050,
+ "descent": -340,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 369,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 369
+ },
+ "thai": {
+ "xWidthAvg": 468
+ }
+ }
+ }
+ }
+ },
+ "trykker": {
+ "familyName": "Trykker",
+ "fullName": "Trykker Regular",
+ "postscriptName": "Trykker-Regular",
+ "category": "serif",
+ "capHeight": 1492,
+ "ascent": 2022,
+ "descent": -538,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1013,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Trykker",
+ "fullName": "Trykker Regular",
+ "postscriptName": "Trykker-Regular",
+ "category": "serif",
+ "capHeight": 1492,
+ "ascent": 2022,
+ "descent": -538,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1013,
+ "xWidthAvg": 998,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 998
+ },
+ "thai": {
+ "xWidthAvg": 532
+ }
+ }
+ }
+ }
+ },
+ "tsukimiRounded": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded Regular",
+ "postscriptName": "TsukimiRounded-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded Light",
+ "postscriptName": "TsukimiRounded-Light",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded Medium",
+ "postscriptName": "TsukimiRounded-Medium",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 508,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 508
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded SemiBold",
+ "postscriptName": "TsukimiRounded-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 520,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 520
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded Bold",
+ "postscriptName": "TsukimiRounded-Bold",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 531,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 531
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Tsukimi Rounded",
+ "fullName": "Tsukimi Rounded Regular",
+ "postscriptName": "TsukimiRounded-Regular",
+ "category": "sans-serif",
+ "capHeight": 800,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "tulpenOne": {
+ "familyName": "Tulpen One",
+ "fullName": "Tulpen One",
+ "postscriptName": "TulpenOne-Regular",
+ "category": "display",
+ "capHeight": 1393,
+ "ascent": 1767,
+ "descent": -465,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1018,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 271
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Tulpen One",
+ "fullName": "Tulpen One",
+ "postscriptName": "TulpenOne-Regular",
+ "category": "display",
+ "capHeight": 1393,
+ "ascent": 1767,
+ "descent": -465,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1018,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 271
+ }
+ }
+ }
+ }
+ },
+ "turretRoad": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road Regular",
+ "postscriptName": "TurretRoad-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road ExtraLight",
+ "postscriptName": "TurretRoad-ExtraLight",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "300": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road Light",
+ "postscriptName": "TurretRoad-Light",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "500": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road Medium",
+ "postscriptName": "TurretRoad-Medium",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "700": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road Bold",
+ "postscriptName": "TurretRoad-Bold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "800": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road ExtraBold",
+ "postscriptName": "TurretRoad-ExtraBold",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Turret Road",
+ "fullName": "Turret Road Regular",
+ "postscriptName": "TurretRoad-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 850,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 579
+ }
+ }
+ }
+ }
+ },
+ "twinkleStar": {
+ "familyName": "Twinkle Star",
+ "fullName": "Twinkle Star Regular",
+ "postscriptName": "TwinkleStar-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 930,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Twinkle Star",
+ "fullName": "Twinkle Star Regular",
+ "postscriptName": "TwinkleStar-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 930,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 518
+ }
+ }
+ }
+ }
+ },
+ "ubuntu": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Regular",
+ "postscriptName": "Ubuntu-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Light",
+ "postscriptName": "Ubuntu-Light",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Medium",
+ "postscriptName": "Ubuntu-Medium",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Bold",
+ "postscriptName": "Ubuntu-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Regular",
+ "postscriptName": "Ubuntu-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Italic",
+ "postscriptName": "Ubuntu-Italic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Bold Italic",
+ "postscriptName": "Ubuntu-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 526,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Medium Italic",
+ "postscriptName": "Ubuntu-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 523,
+ "xWidthAvg": 454,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 454
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Ubuntu",
+ "fullName": "Ubuntu Light Italic",
+ "postscriptName": "Ubuntu-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 517,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "ubuntuCondensed": {
+ "familyName": "Ubuntu Condensed",
+ "fullName": "Ubuntu Condensed",
+ "postscriptName": "UbuntuCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ubuntu Condensed",
+ "fullName": "Ubuntu Condensed",
+ "postscriptName": "UbuntuCondensed-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 932,
+ "descent": -189,
+ "lineGap": 28,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 370,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 370
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "ubuntuMono": {
+ "familyName": "Ubuntu Mono",
+ "fullName": "Ubuntu Mono",
+ "postscriptName": "UbuntuMono-Regular",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 830,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Ubuntu Mono",
+ "fullName": "Ubuntu Mono Bold",
+ "postscriptName": "UbuntuMono-Bold",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 830,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ubuntu Mono",
+ "fullName": "Ubuntu Mono",
+ "postscriptName": "UbuntuMono-Regular",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 830,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ubuntu Mono",
+ "fullName": "Ubuntu Mono Italic",
+ "postscriptName": "UbuntuMono-Italic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 830,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ubuntu Mono",
+ "fullName": "Ubuntu Mono Bold Italic",
+ "postscriptName": "UbuntuMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 830,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "ubuntuSans": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Regular",
+ "postscriptName": "UbuntuSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Thin",
+ "postscriptName": "UbuntuSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans ExtraLight",
+ "postscriptName": "UbuntuSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Light",
+ "postscriptName": "UbuntuSans-Light",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Medium",
+ "postscriptName": "UbuntuSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans SemiBold",
+ "postscriptName": "UbuntuSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 466,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 466
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Bold",
+ "postscriptName": "UbuntuSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 472,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 472
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans ExtraBold",
+ "postscriptName": "UbuntuSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Regular",
+ "postscriptName": "UbuntuSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Italic",
+ "postscriptName": "UbuntuSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans ExtraBold Italic",
+ "postscriptName": "UbuntuSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Bold Italic",
+ "postscriptName": "UbuntuSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans SemiBold Italic",
+ "postscriptName": "UbuntuSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Medium Italic",
+ "postscriptName": "UbuntuSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Light Italic",
+ "postscriptName": "UbuntuSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans ExtraLight Italic",
+ "postscriptName": "UbuntuSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 423,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 423
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Ubuntu Sans",
+ "fullName": "Ubuntu Sans Thin Italic",
+ "postscriptName": "UbuntuSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "ubuntuSansMono": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Regular",
+ "postscriptName": "UbuntuSansMono-Regular",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Medium",
+ "postscriptName": "UbuntuSansMono-Medium",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono SemiBold",
+ "postscriptName": "UbuntuSansMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Bold",
+ "postscriptName": "UbuntuSansMono-Bold",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Regular",
+ "postscriptName": "UbuntuSansMono-Regular",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Italic",
+ "postscriptName": "UbuntuSansMono-Italic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Bold Italic",
+ "postscriptName": "UbuntuSansMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono SemiBold Italic",
+ "postscriptName": "UbuntuSansMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ubuntu Sans Mono",
+ "fullName": "Ubuntu Sans Mono Medium Italic",
+ "postscriptName": "UbuntuSansMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 693,
+ "ascent": 940,
+ "descent": -260,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 518,
+ "xWidthAvg": 560,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 560
+ },
+ "thai": {
+ "xWidthAvg": 560
+ }
+ }
+ }
+ }
+ },
+ "uchen": {
+ "familyName": "Uchen",
+ "fullName": "Uchen Regular",
+ "postscriptName": "Uchen-Regular",
+ "category": "serif",
+ "capHeight": 744,
+ "ascent": 1248,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 485,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 445
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Uchen",
+ "fullName": "Uchen Regular",
+ "postscriptName": "Uchen-Regular",
+ "category": "serif",
+ "capHeight": 744,
+ "ascent": 1248,
+ "descent": -660,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 485,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 445
+ }
+ }
+ }
+ }
+ },
+ "ultra": {
+ "familyName": "Ultra",
+ "fullName": "Ultra Regular",
+ "postscriptName": "Ultra-Regular",
+ "category": "serif",
+ "capHeight": 1473,
+ "ascent": 2066,
+ "descent": -561,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1102,
+ "xWidthAvg": 1295,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1295
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Ultra",
+ "fullName": "Ultra Regular",
+ "postscriptName": "Ultra-Regular",
+ "category": "serif",
+ "capHeight": 1473,
+ "ascent": 2066,
+ "descent": -561,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1102,
+ "xWidthAvg": 1295,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1295
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "unbounded": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Regular",
+ "postscriptName": "Unbounded-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 837
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded ExtraLight",
+ "postscriptName": "Unbounded-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 560,
+ "xWidthAvg": 567,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 567
+ },
+ "thai": {
+ "xWidthAvg": 810
+ }
+ }
+ },
+ "300": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Light",
+ "postscriptName": "Unbounded-Light",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 563,
+ "xWidthAvg": 584,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 584
+ },
+ "thai": {
+ "xWidthAvg": 824
+ }
+ }
+ },
+ "500": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Medium",
+ "postscriptName": "Unbounded-Medium",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 569,
+ "xWidthAvg": 617,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 617
+ },
+ "thai": {
+ "xWidthAvg": 849
+ }
+ }
+ },
+ "600": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded SemiBold",
+ "postscriptName": "Unbounded-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 625,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 625
+ },
+ "thai": {
+ "xWidthAvg": 855
+ }
+ }
+ },
+ "700": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Bold",
+ "postscriptName": "Unbounded-Bold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 571,
+ "xWidthAvg": 633,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 633
+ },
+ "thai": {
+ "xWidthAvg": 860
+ }
+ }
+ },
+ "800": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded ExtraBold",
+ "postscriptName": "Unbounded-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 573,
+ "xWidthAvg": 644,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 644
+ },
+ "thai": {
+ "xWidthAvg": 868
+ }
+ }
+ },
+ "900": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Black",
+ "postscriptName": "Unbounded-Black",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 575,
+ "xWidthAvg": 655,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 655
+ },
+ "thai": {
+ "xWidthAvg": 876
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Unbounded",
+ "fullName": "Unbounded Regular",
+ "postscriptName": "Unbounded-Regular",
+ "category": "sans-serif",
+ "capHeight": 750,
+ "ascent": 995,
+ "descent": -245,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 566,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 837
+ }
+ }
+ }
+ }
+ },
+ "uncialAntiqua": {
+ "familyName": "Uncial Antiqua",
+ "fullName": "Uncial Antiqua",
+ "postscriptName": "UncialAntiqua-Regular",
+ "category": "display",
+ "capHeight": 1841,
+ "ascent": 2019,
+ "descent": -676,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1079,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Uncial Antiqua",
+ "fullName": "Uncial Antiqua",
+ "postscriptName": "UncialAntiqua-Regular",
+ "category": "display",
+ "capHeight": 1841,
+ "ascent": 2019,
+ "descent": -676,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1079,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "underdog": {
+ "familyName": "Underdog",
+ "fullName": "Underdog",
+ "postscriptName": "Underdog-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 909,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 320
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Underdog",
+ "fullName": "Underdog",
+ "postscriptName": "Underdog-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 909,
+ "descent": -247,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 458,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 458
+ },
+ "thai": {
+ "xWidthAvg": 320
+ }
+ }
+ }
+ }
+ },
+ "unicaOne": {
+ "familyName": "Unica One",
+ "fullName": "Unica One Regular",
+ "postscriptName": "UnicaOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 917,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Unica One",
+ "fullName": "Unica One Regular",
+ "postscriptName": "UnicaOne-Regular",
+ "category": "display",
+ "capHeight": 650,
+ "ascent": 917,
+ "descent": -265,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 650,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 230
+ }
+ }
+ }
+ }
+ },
+ "unifrakturCook": {
+ "familyName": "UnifrakturCook",
+ "fullName": "UnifrakturCook",
+ "postscriptName": "UnifrakturCook-Bold",
+ "category": "display",
+ "capHeight": 485,
+ "ascent": 2110,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 319,
+ "xWidthAvg": 780,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 780
+ },
+ "thai": {
+ "xWidthAvg": 2027
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "UnifrakturCook",
+ "fullName": "UnifrakturCook",
+ "postscriptName": "UnifrakturCook-Bold",
+ "category": "display",
+ "capHeight": 485,
+ "ascent": 2110,
+ "descent": -570,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 319,
+ "xWidthAvg": 780,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 780
+ },
+ "thai": {
+ "xWidthAvg": 2027
+ }
+ }
+ }
+ }
+ },
+ "unifrakturMaguntia": {
+ "familyName": "UnifrakturMaguntia",
+ "fullName": "UnifrakturMaguntia",
+ "postscriptName": "UnifrakturMaguntia",
+ "category": "display",
+ "capHeight": 1409,
+ "ascent": 1607,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1095,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1524
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "UnifrakturMaguntia",
+ "fullName": "UnifrakturMaguntia",
+ "postscriptName": "UnifrakturMaguntia",
+ "category": "display",
+ "capHeight": 1409,
+ "ascent": 1607,
+ "descent": -513,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1095,
+ "xWidthAvg": 813,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 813
+ },
+ "thai": {
+ "xWidthAvg": 1524
+ }
+ }
+ }
+ }
+ },
+ "unkempt": {
+ "familyName": "Unkempt",
+ "fullName": "Unkempt Regular",
+ "postscriptName": "Unkempt-Regular",
+ "category": "display",
+ "capHeight": 753,
+ "ascent": 977,
+ "descent": -246,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 482,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 297
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Unkempt",
+ "fullName": "Unkempt Bold",
+ "postscriptName": "Unkempt-Bold",
+ "category": "display",
+ "capHeight": 752,
+ "ascent": 977,
+ "descent": -246,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 485,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 315
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Unkempt",
+ "fullName": "Unkempt Regular",
+ "postscriptName": "Unkempt-Regular",
+ "category": "display",
+ "capHeight": 753,
+ "ascent": 977,
+ "descent": -246,
+ "lineGap": 28,
+ "unitsPerEm": 1024,
+ "xHeight": 482,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 297
+ }
+ }
+ }
+ }
+ },
+ "unlock": {
+ "familyName": "Unlock",
+ "fullName": "Unlock Regular",
+ "postscriptName": "Unlock-Regular",
+ "category": "display",
+ "capHeight": 635,
+ "ascent": 873,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Unlock",
+ "fullName": "Unlock Regular",
+ "postscriptName": "Unlock-Regular",
+ "category": "display",
+ "capHeight": 635,
+ "ascent": 873,
+ "descent": -195,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 550,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 654
+ }
+ }
+ }
+ }
+ },
+ "unna": {
+ "familyName": "Unna",
+ "fullName": "Unna Regular",
+ "postscriptName": "Unna-Regular",
+ "category": "serif",
+ "capHeight": 597,
+ "ascent": 883,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Unna",
+ "fullName": "Unna Bold",
+ "postscriptName": "Unna-Bold",
+ "category": "serif",
+ "capHeight": 597,
+ "ascent": 883,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Unna",
+ "fullName": "Unna Regular",
+ "postscriptName": "Unna-Regular",
+ "category": "serif",
+ "capHeight": 597,
+ "ascent": 883,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 402,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 402
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Unna",
+ "fullName": "Unna Italic",
+ "postscriptName": "Unna-Italic",
+ "category": "serif",
+ "capHeight": 597,
+ "ascent": 883,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 420,
+ "xWidthAvg": 385,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 385
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Unna",
+ "fullName": "Unna Bold Italic",
+ "postscriptName": "Unna-BoldItalic",
+ "category": "serif",
+ "capHeight": 597,
+ "ascent": 883,
+ "descent": -269,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 425,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 488
+ }
+ }
+ }
+ }
+ },
+ "updock": {
+ "familyName": "Updock",
+ "fullName": "Updock Regular",
+ "postscriptName": "Updock-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 267,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 267
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Updock",
+ "fullName": "Updock Regular",
+ "postscriptName": "Updock-Regular",
+ "category": "handwriting",
+ "capHeight": 630,
+ "ascent": 900,
+ "descent": -350,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 350,
+ "xWidthAvg": 267,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 267
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "urbanist": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Regular",
+ "postscriptName": "Urbanist-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Thin",
+ "postscriptName": "Urbanist-Thin",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist ExtraLight",
+ "postscriptName": "Urbanist-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Light",
+ "postscriptName": "Urbanist-Light",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Medium",
+ "postscriptName": "Urbanist-Medium",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 892,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 892
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist SemiBold",
+ "postscriptName": "Urbanist-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 906,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 906
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Bold",
+ "postscriptName": "Urbanist-Bold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist ExtraBold",
+ "postscriptName": "Urbanist-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Black",
+ "postscriptName": "Urbanist-Black",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 938,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 938
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Regular",
+ "postscriptName": "Urbanist-Regular",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 883,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 883
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Italic",
+ "postscriptName": "Urbanist-Italic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 882,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 882
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Black Italic",
+ "postscriptName": "Urbanist-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 938,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 938
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist ExtraBold Italic",
+ "postscriptName": "Urbanist-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 929,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 929
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Bold Italic",
+ "postscriptName": "Urbanist-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 918,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 918
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist SemiBold Italic",
+ "postscriptName": "Urbanist-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 906,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 906
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Medium Italic",
+ "postscriptName": "Urbanist-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 892,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 892
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Light Italic",
+ "postscriptName": "Urbanist-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 871,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 871
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist ExtraLight Italic",
+ "postscriptName": "Urbanist-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 864,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 864
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Urbanist",
+ "fullName": "Urbanist Thin Italic",
+ "postscriptName": "Urbanist-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 1400,
+ "ascent": 1900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 2000,
+ "xHeight": 1000,
+ "xWidthAvg": 855,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 855
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "vT323": {
+ "familyName": "VT323",
+ "fullName": "VT323 Regular",
+ "postscriptName": "VT323-Regular",
+ "category": "monospace",
+ "capHeight": 560,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "VT323",
+ "fullName": "VT323 Regular",
+ "postscriptName": "VT323-Regular",
+ "category": "monospace",
+ "capHeight": 560,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 400,
+ "xWidthAvg": 400,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 400
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "vampiroOne": {
+ "familyName": "Vampiro One",
+ "fullName": "Vampiro One",
+ "postscriptName": "VampiroOne-Regular",
+ "category": "display",
+ "capHeight": 705,
+ "ascent": 956,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vampiro One",
+ "fullName": "Vampiro One",
+ "postscriptName": "VampiroOne-Regular",
+ "category": "display",
+ "capHeight": 705,
+ "ascent": 956,
+ "descent": -294,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 534,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 636
+ }
+ }
+ }
+ }
+ },
+ "varela": {
+ "familyName": "Varela",
+ "fullName": "Varela",
+ "postscriptName": "Varela",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1015,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Varela",
+ "fullName": "Varela",
+ "postscriptName": "Varela",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 1015,
+ "descent": -285,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 479,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 479
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "varelaRound": {
+ "familyName": "Varela Round",
+ "fullName": "Varela Round Regular",
+ "postscriptName": "VarelaRound-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 918,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Varela Round",
+ "fullName": "Varela Round Regular",
+ "postscriptName": "VarelaRound-Regular",
+ "category": "sans-serif",
+ "capHeight": 698,
+ "ascent": 918,
+ "descent": -286,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 514
+ }
+ }
+ }
+ }
+ },
+ "varta": {
+ "familyName": "Varta",
+ "fullName": "Varta Regular",
+ "postscriptName": "Varta-Regular",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Varta",
+ "fullName": "Varta Light",
+ "postscriptName": "Varta-Light",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ },
+ "500": {
+ "familyName": "Varta",
+ "fullName": "Varta Medium",
+ "postscriptName": "Varta-Medium",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 861,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 861
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ },
+ "600": {
+ "familyName": "Varta",
+ "fullName": "Varta SemiBold",
+ "postscriptName": "Varta-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 869,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 869
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ },
+ "700": {
+ "familyName": "Varta",
+ "fullName": "Varta Bold",
+ "postscriptName": "Varta-Bold",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 877,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 877
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Varta",
+ "fullName": "Varta Regular",
+ "postscriptName": "Varta-Regular",
+ "category": "sans-serif",
+ "capHeight": 1346,
+ "ascent": 1902,
+ "descent": -1068,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 990,
+ "xWidthAvg": 853,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 853
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ }
+ }
+ },
+ "vastShadow": {
+ "familyName": "Vast Shadow",
+ "fullName": "Vast Shadow Regular",
+ "postscriptName": "VastShadow-Regular",
+ "category": "serif",
+ "capHeight": 1245,
+ "ascent": 1875,
+ "descent": -685,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 965,
+ "xWidthAvg": 1416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1416
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vast Shadow",
+ "fullName": "Vast Shadow Regular",
+ "postscriptName": "VastShadow-Regular",
+ "category": "serif",
+ "capHeight": 1245,
+ "ascent": 1875,
+ "descent": -685,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 965,
+ "xWidthAvg": 1416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1416
+ },
+ "thai": {
+ "xWidthAvg": 650
+ }
+ }
+ }
+ }
+ },
+ "vazirmatn": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Regular",
+ "postscriptName": "Vazirmatn-Regular",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 919,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 919
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Thin",
+ "postscriptName": "Vazirmatn-Thin",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 891,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 891
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "200": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn ExtraLight",
+ "postscriptName": "Vazirmatn-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 905,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 905
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "300": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Light",
+ "postscriptName": "Vazirmatn-Light",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 912,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 912
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "500": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Medium",
+ "postscriptName": "Vazirmatn-Medium",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 924,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 924
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "600": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn SemiBold",
+ "postscriptName": "Vazirmatn-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 926,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 926
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "700": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Bold",
+ "postscriptName": "Vazirmatn-Bold",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 928,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 928
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "800": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn ExtraBold",
+ "postscriptName": "Vazirmatn-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 930,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 930
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "900": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Black",
+ "postscriptName": "Vazirmatn-Black",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 932,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 932
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Vazirmatn",
+ "fullName": "Vazirmatn Regular",
+ "postscriptName": "Vazirmatn-Regular",
+ "category": "sans-serif",
+ "capHeight": 1638,
+ "ascent": 2100,
+ "descent": -1100,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1082,
+ "xWidthAvg": 919,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 919
+ },
+ "thai": {
+ "xWidthAvg": 908
+ }
+ }
+ }
+ }
+ },
+ "verdana": {
+ "familyName": "Verdana",
+ "fullName": "Verdana",
+ "postscriptName": "Verdana",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2059,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1117,
+ "xWidthAvg": 1049,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1049
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Verdana",
+ "fullName": "Verdana Bold",
+ "postscriptName": "Verdana-Bold",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2059,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1123,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Verdana",
+ "fullName": "Verdana",
+ "postscriptName": "Verdana",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2059,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1117,
+ "xWidthAvg": 1049,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1049
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Verdana",
+ "fullName": "Verdana Italic",
+ "postscriptName": "Verdana-Italic",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2059,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1117,
+ "xWidthAvg": 1049,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1049
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Verdana",
+ "fullName": "Verdana Bold Italic",
+ "postscriptName": "Verdana-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 1489,
+ "ascent": 2059,
+ "descent": -430,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1123,
+ "xWidthAvg": 1170,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1170
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "vesperLibre": {
+ "familyName": "Vesper Libre",
+ "fullName": "Vesper Libre",
+ "postscriptName": "VesperLibre-Regular",
+ "category": "serif",
+ "capHeight": 1384,
+ "ascent": 2330,
+ "descent": -1550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 890,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 890
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Vesper Libre",
+ "fullName": "Vesper Libre Medium",
+ "postscriptName": "VesperLibre-Medium",
+ "category": "serif",
+ "capHeight": 1384,
+ "ascent": 2330,
+ "descent": -1550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 939,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 939
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ },
+ "700": {
+ "familyName": "Vesper Libre",
+ "fullName": "Vesper Libre Bold",
+ "postscriptName": "VesperLibre-Bold",
+ "category": "serif",
+ "capHeight": 1384,
+ "ascent": 2330,
+ "descent": -1550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 969,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 969
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ },
+ "900": {
+ "familyName": "Vesper Libre",
+ "fullName": "Vesper Libre Heavy",
+ "postscriptName": "VesperLibre-Heavy",
+ "category": "serif",
+ "capHeight": 1384,
+ "ascent": 2330,
+ "descent": -1550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 1017,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1017
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Vesper Libre",
+ "fullName": "Vesper Libre",
+ "postscriptName": "VesperLibre-Regular",
+ "category": "serif",
+ "capHeight": 1384,
+ "ascent": 2330,
+ "descent": -1550,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 950,
+ "xWidthAvg": 890,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 890
+ },
+ "thai": {
+ "xWidthAvg": 1025
+ }
+ }
+ }
+ }
+ },
+ "viaodaLibre": {
+ "familyName": "Viaoda Libre",
+ "fullName": "Viaoda Libre Regular",
+ "postscriptName": "ViaodaLibre-Regular",
+ "category": "display",
+ "capHeight": 740,
+ "ascent": 1051,
+ "descent": -360,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 706
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Viaoda Libre",
+ "fullName": "Viaoda Libre Regular",
+ "postscriptName": "ViaodaLibre-Regular",
+ "category": "display",
+ "capHeight": 740,
+ "ascent": 1051,
+ "descent": -360,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 467,
+ "xWidthAvg": 388,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 388
+ },
+ "thai": {
+ "xWidthAvg": 706
+ }
+ }
+ }
+ }
+ },
+ "vibes": {
+ "familyName": "Vibes",
+ "fullName": "Vibes Regular",
+ "postscriptName": "Vibes-Regular",
+ "category": "display",
+ "capHeight": 38,
+ "ascent": 1105,
+ "descent": -680,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 893
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vibes",
+ "fullName": "Vibes Regular",
+ "postscriptName": "Vibes-Regular",
+ "category": "display",
+ "capHeight": 38,
+ "ascent": 1105,
+ "descent": -680,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 366,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 366
+ },
+ "thai": {
+ "xWidthAvg": 893
+ }
+ }
+ }
+ }
+ },
+ "vibur": {
+ "familyName": "Vibur",
+ "fullName": "Vibur",
+ "postscriptName": "Vibur",
+ "category": "handwriting",
+ "ascent": 1960,
+ "descent": -792,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 742,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 742
+ },
+ "thai": {
+ "xWidthAvg": 797
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vibur",
+ "fullName": "Vibur",
+ "postscriptName": "Vibur",
+ "category": "handwriting",
+ "ascent": 1960,
+ "descent": -792,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 742,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 742
+ },
+ "thai": {
+ "xWidthAvg": 797
+ }
+ }
+ }
+ }
+ },
+ "victorMono": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Regular",
+ "postscriptName": "VictorMono-Regular",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Thin",
+ "postscriptName": "VictorMono-Thin",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono ExtraLight",
+ "postscriptName": "VictorMono-ExtraLight",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Light",
+ "postscriptName": "VictorMono-Light",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Medium",
+ "postscriptName": "VictorMono-Medium",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono SemiBold",
+ "postscriptName": "VictorMono-SemiBold",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Bold",
+ "postscriptName": "VictorMono-Bold",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Regular",
+ "postscriptName": "VictorMono-Regular",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Italic",
+ "postscriptName": "VictorMono-Italic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Bold Italic",
+ "postscriptName": "VictorMono-BoldItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono SemiBold Italic",
+ "postscriptName": "VictorMono-SemiBoldItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Medium Italic",
+ "postscriptName": "VictorMono-MediumItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Light Italic",
+ "postscriptName": "VictorMono-LightItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono ExtraLight Italic",
+ "postscriptName": "VictorMono-ExtraLightItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Victor Mono",
+ "fullName": "Victor Mono Thin Italic",
+ "postscriptName": "VictorMono-ThinItalic",
+ "category": "monospace",
+ "capHeight": 800,
+ "ascent": 1100,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 618,
+ "xWidthAvg": 600,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 600
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "vidaloka": {
+ "familyName": "Vidaloka",
+ "fullName": "Vidaloka ",
+ "postscriptName": "Vidaloka-Regular",
+ "category": "serif",
+ "capHeight": 1427,
+ "ascent": 1927,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1004,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1008
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vidaloka",
+ "fullName": "Vidaloka ",
+ "postscriptName": "Vidaloka-Regular",
+ "category": "serif",
+ "capHeight": 1427,
+ "ascent": 1927,
+ "descent": -560,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1004,
+ "xWidthAvg": 889,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 889
+ },
+ "thai": {
+ "xWidthAvg": 1008
+ }
+ }
+ }
+ }
+ },
+ "viga": {
+ "familyName": "Viga",
+ "fullName": "Viga-Regular",
+ "postscriptName": "Viga-Regular",
+ "category": "sans-serif",
+ "capHeight": 712,
+ "ascent": 1015,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 571,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Viga",
+ "fullName": "Viga-Regular",
+ "postscriptName": "Viga-Regular",
+ "category": "sans-serif",
+ "capHeight": 712,
+ "ascent": 1015,
+ "descent": -329,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 571,
+ "xWidthAvg": 452,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 452
+ },
+ "thai": {
+ "xWidthAvg": 483
+ }
+ }
+ }
+ }
+ },
+ "vinaSans": {
+ "familyName": "Vina Sans",
+ "fullName": "Vina Sans Regular",
+ "postscriptName": "VinaSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 810
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vina Sans",
+ "fullName": "Vina Sans Regular",
+ "postscriptName": "VinaSans-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 1045,
+ "descent": -170,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 361,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 361
+ },
+ "thai": {
+ "xWidthAvg": 810
+ }
+ }
+ }
+ }
+ },
+ "voces": {
+ "familyName": "Voces",
+ "fullName": "Voces Regular",
+ "postscriptName": "Voces-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1014,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 255
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Voces",
+ "fullName": "Voces Regular",
+ "postscriptName": "Voces-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1014,
+ "descent": -335,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 520,
+ "xWidthAvg": 470,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 470
+ },
+ "thai": {
+ "xWidthAvg": 255
+ }
+ }
+ }
+ }
+ },
+ "volkhov": {
+ "familyName": "Volkhov",
+ "fullName": "Volkhov Regular",
+ "postscriptName": "Volkhov-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Volkhov",
+ "fullName": "Volkhov Bold",
+ "postscriptName": "Volkhov-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Volkhov",
+ "fullName": "Volkhov Regular",
+ "postscriptName": "Volkhov-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 486,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 486
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Volkhov",
+ "fullName": "Volkhov Italic",
+ "postscriptName": "Volkhov-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Volkhov",
+ "fullName": "Volkhov Bold Italic",
+ "postscriptName": "Volkhov-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 971,
+ "descent": -319,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 507,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 252
+ }
+ }
+ }
+ }
+ },
+ "vollkorn": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Regular",
+ "postscriptName": "Vollkorn-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Medium",
+ "postscriptName": "Vollkorn-Medium",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "600": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn SemiBold",
+ "postscriptName": "Vollkorn-SemiBold",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 460,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 460
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "700": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Bold",
+ "postscriptName": "Vollkorn-Bold",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "800": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn ExtraBold",
+ "postscriptName": "Vollkorn-ExtraBold",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "900": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Black",
+ "postscriptName": "Vollkorn-Black",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 506,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 506
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Regular",
+ "postscriptName": "Vollkorn-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Italic",
+ "postscriptName": "Vollkorn-Italic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 381,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 381
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Black Italic",
+ "postscriptName": "Vollkorn-BlackItalic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn ExtraBold Italic",
+ "postscriptName": "Vollkorn-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Bold Italic",
+ "postscriptName": "Vollkorn-BoldItalic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn SemiBold Italic",
+ "postscriptName": "Vollkorn-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Vollkorn",
+ "fullName": "Vollkorn Medium Italic",
+ "postscriptName": "Vollkorn-MediumItalic",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 398,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 398
+ },
+ "thai": {
+ "xWidthAvg": 453
+ }
+ }
+ }
+ }
+ },
+ "vollkornSC": {
+ "familyName": "Vollkorn SC",
+ "fullName": "Vollkorn SC Regular",
+ "postscriptName": "VollkornSC-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ },
+ "variants": {
+ "600": {
+ "familyName": "Vollkorn SC",
+ "fullName": "Vollkorn SC SemiBold",
+ "postscriptName": "VollkornSC-SemiBold",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 555,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 555
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "700": {
+ "familyName": "Vollkorn SC",
+ "fullName": "Vollkorn SC Bold",
+ "postscriptName": "VollkornSC-Bold",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 564,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 564
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "900": {
+ "familyName": "Vollkorn SC",
+ "fullName": "Vollkorn SC Black",
+ "postscriptName": "VollkornSC-Black",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 578,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 578
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Vollkorn SC",
+ "fullName": "Vollkorn SC Regular",
+ "postscriptName": "VollkornSC-Regular",
+ "category": "serif",
+ "capHeight": 676,
+ "ascent": 952,
+ "descent": -441,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 458,
+ "xWidthAvg": 547,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 547
+ },
+ "thai": {
+ "xWidthAvg": 454
+ }
+ }
+ }
+ }
+ },
+ "voltaire": {
+ "familyName": "Voltaire",
+ "fullName": "Voltaire Regular",
+ "postscriptName": "Voltaire-Regular",
+ "category": "sans-serif",
+ "capHeight": 1593,
+ "ascent": 2020,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Voltaire",
+ "fullName": "Voltaire Regular",
+ "postscriptName": "Voltaire-Regular",
+ "category": "sans-serif",
+ "capHeight": 1593,
+ "ascent": 2020,
+ "descent": -531,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 1062,
+ "xWidthAvg": 741,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 741
+ },
+ "thai": {
+ "xWidthAvg": 1770
+ }
+ }
+ }
+ }
+ },
+ "vujahdayScript": {
+ "familyName": "Vujahday Script",
+ "fullName": "Vujahday Script Regular",
+ "postscriptName": "VujahdayScript-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Vujahday Script",
+ "fullName": "Vujahday Script Regular",
+ "postscriptName": "VujahdayScript-Regular",
+ "category": "handwriting",
+ "capHeight": 640,
+ "ascent": 950,
+ "descent": -410,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 378,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 378
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "waitingForTheSunrise": {
+ "familyName": "Waiting for the Sunrise",
+ "fullName": "Waiting for the Sunrise",
+ "postscriptName": "WaitingfortheSunrise",
+ "category": "handwriting",
+ "capHeight": 755,
+ "ascent": 1146,
+ "descent": -547,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 570,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Waiting for the Sunrise",
+ "fullName": "Waiting for the Sunrise",
+ "postscriptName": "WaitingfortheSunrise",
+ "category": "handwriting",
+ "capHeight": 755,
+ "ascent": 1146,
+ "descent": -547,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 570,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ }
+ }
+ }
+ },
+ "wallpoet": {
+ "familyName": "Wallpoet",
+ "fullName": "Wallpoet",
+ "postscriptName": "Wallpoet",
+ "category": "display",
+ "capHeight": 575,
+ "ascent": 806,
+ "descent": -196,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 615,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 615
+ },
+ "thai": {
+ "xWidthAvg": 1015
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Wallpoet",
+ "fullName": "Wallpoet",
+ "postscriptName": "Wallpoet",
+ "category": "display",
+ "capHeight": 575,
+ "ascent": 806,
+ "descent": -196,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 615,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 615
+ },
+ "thai": {
+ "xWidthAvg": 1015
+ }
+ }
+ }
+ }
+ },
+ "walterTurncoat": {
+ "familyName": "Walter Turncoat",
+ "fullName": "Walter Turncoat Regular",
+ "postscriptName": "WalterTurncoat-Regular",
+ "category": "handwriting",
+ "capHeight": 752,
+ "ascent": 1078,
+ "descent": -323,
+ "lineGap": 29,
+ "unitsPerEm": 1024,
+ "xHeight": 559,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Walter Turncoat",
+ "fullName": "Walter Turncoat Regular",
+ "postscriptName": "WalterTurncoat-Regular",
+ "category": "handwriting",
+ "capHeight": 752,
+ "ascent": 1078,
+ "descent": -323,
+ "lineGap": 29,
+ "unitsPerEm": 1024,
+ "xHeight": 559,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 328
+ }
+ }
+ }
+ }
+ },
+ "warnes": {
+ "familyName": "Warnes",
+ "fullName": "Warnes Regular",
+ "postscriptName": "Warnes-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 994,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 616,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 616
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Warnes",
+ "fullName": "Warnes Regular",
+ "postscriptName": "Warnes-Regular",
+ "category": "display",
+ "capHeight": 710,
+ "ascent": 994,
+ "descent": -310,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 616,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 616
+ },
+ "thai": {
+ "xWidthAvg": 400
+ }
+ }
+ }
+ }
+ },
+ "waterBrush": {
+ "familyName": "Water Brush",
+ "fullName": "Water Brush Regular",
+ "postscriptName": "WaterBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1000,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 318,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 318
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Water Brush",
+ "fullName": "Water Brush Regular",
+ "postscriptName": "WaterBrush-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 1000,
+ "descent": -450,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 375,
+ "xWidthAvg": 318,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 318
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ }
+ }
+ },
+ "waterfall": {
+ "familyName": "Waterfall",
+ "fullName": "Waterfall Regular",
+ "postscriptName": "Waterfall-Regular",
+ "category": "handwriting",
+ "capHeight": 580,
+ "ascent": 880,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 215,
+ "xWidthAvg": 249,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 249
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Waterfall",
+ "fullName": "Waterfall Regular",
+ "postscriptName": "Waterfall-Regular",
+ "category": "handwriting",
+ "capHeight": 580,
+ "ascent": 880,
+ "descent": -280,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 215,
+ "xWidthAvg": 249,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 249
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "wavefont": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Regular",
+ "postscriptName": "Wavefont-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Thin",
+ "postscriptName": "Wavefont-Thin",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 25,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 25
+ },
+ "thai": {
+ "xWidthAvg": 25
+ }
+ }
+ },
+ "200": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont ExtraLight",
+ "postscriptName": "Wavefont-ExtraLight",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 50,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 50
+ },
+ "thai": {
+ "xWidthAvg": 50
+ }
+ }
+ },
+ "300": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Light",
+ "postscriptName": "Wavefont-Light",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 75,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 75
+ },
+ "thai": {
+ "xWidthAvg": 75
+ }
+ }
+ },
+ "500": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Medium",
+ "postscriptName": "Wavefont-Medium",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 125,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 125
+ },
+ "thai": {
+ "xWidthAvg": 125
+ }
+ }
+ },
+ "600": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont SemiBold",
+ "postscriptName": "Wavefont-SemiBold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 150,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 150
+ },
+ "thai": {
+ "xWidthAvg": 150
+ }
+ }
+ },
+ "700": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Bold",
+ "postscriptName": "Wavefont-Bold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 175,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 175
+ },
+ "thai": {
+ "xWidthAvg": 175
+ }
+ }
+ },
+ "800": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont ExtraBold",
+ "postscriptName": "Wavefont-ExtraBold",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 200,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 200
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ },
+ "900": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Black",
+ "postscriptName": "Wavefont-Black",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 225,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 225
+ },
+ "thai": {
+ "xWidthAvg": 225
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Wavefont",
+ "fullName": "Wavefont Regular",
+ "postscriptName": "Wavefont-Regular",
+ "category": "display",
+ "capHeight": 0,
+ "ascent": 1200,
+ "descent": -200,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 0,
+ "xWidthAvg": 100,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 100
+ },
+ "thai": {
+ "xWidthAvg": 100
+ }
+ }
+ }
+ }
+ },
+ "wellfleet": {
+ "familyName": "Wellfleet",
+ "fullName": "Wellfleet",
+ "postscriptName": "Wellfleet-Regular",
+ "category": "serif",
+ "capHeight": 1535,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 747,
+ "xWidthAvg": 1030,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1030
+ },
+ "thai": {
+ "xWidthAvg": 1877
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Wellfleet",
+ "fullName": "Wellfleet",
+ "postscriptName": "Wellfleet-Regular",
+ "category": "serif",
+ "capHeight": 1535,
+ "ascent": 2020,
+ "descent": -540,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 747,
+ "xWidthAvg": 1030,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 1030
+ },
+ "thai": {
+ "xWidthAvg": 1877
+ }
+ }
+ }
+ }
+ },
+ "wendyOne": {
+ "familyName": "Wendy One",
+ "fullName": "Wendy One",
+ "postscriptName": "WendyOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 606,
+ "ascent": 819,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Wendy One",
+ "fullName": "Wendy One",
+ "postscriptName": "WendyOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 606,
+ "ascent": 819,
+ "descent": -236,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 474,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 200
+ }
+ }
+ }
+ }
+ },
+ "whisper": {
+ "familyName": "Whisper",
+ "fullName": "Whisper Regular",
+ "postscriptName": "Whisper-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 880,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Whisper",
+ "fullName": "Whisper Regular",
+ "postscriptName": "Whisper-Regular",
+ "category": "handwriting",
+ "capHeight": 620,
+ "ascent": 880,
+ "descent": -400,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 300,
+ "xWidthAvg": 305,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 305
+ },
+ "thai": {
+ "xWidthAvg": 370
+ }
+ }
+ }
+ }
+ },
+ "windSong": {
+ "familyName": "WindSong",
+ "fullName": "WindSong Regular",
+ "postscriptName": "WindSong-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 890,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 268,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "WindSong",
+ "fullName": "WindSong Medium",
+ "postscriptName": "WindSong-Medium",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 890,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 268,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ },
+ "regular": {
+ "familyName": "WindSong",
+ "fullName": "WindSong Regular",
+ "postscriptName": "WindSong-Regular",
+ "category": "handwriting",
+ "capHeight": 705,
+ "ascent": 890,
+ "descent": -515,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 268,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 495
+ }
+ }
+ }
+ }
+ },
+ "wireOne": {
+ "familyName": "Wire One",
+ "fullName": "Wire One Regular",
+ "postscriptName": "WireOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 890,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 232
+ },
+ "thai": {
+ "xWidthAvg": 288
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Wire One",
+ "fullName": "Wire One Regular",
+ "postscriptName": "WireOne-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 890,
+ "descent": -210,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 232,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 232
+ },
+ "thai": {
+ "xWidthAvg": 288
+ }
+ }
+ }
+ }
+ },
+ "wittgenstein": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Regular",
+ "postscriptName": "Wittgenstein-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Medium",
+ "postscriptName": "Wittgenstein-Medium",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 461,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 461
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "600": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein SemiBold",
+ "postscriptName": "Wittgenstein-SemiBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "700": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Bold",
+ "postscriptName": "Wittgenstein-Bold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein ExtraBold",
+ "postscriptName": "Wittgenstein-ExtraBold",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "900": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Black",
+ "postscriptName": "Wittgenstein-Black",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 484,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 484
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Regular",
+ "postscriptName": "Wittgenstein-Regular",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Italic",
+ "postscriptName": "Wittgenstein-Italic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 736
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Black Italic",
+ "postscriptName": "Wittgenstein-BlackItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 475,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 475
+ },
+ "thai": {
+ "xWidthAvg": 700
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein ExtraBold Italic",
+ "postscriptName": "Wittgenstein-ExtraBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 707
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Bold Italic",
+ "postscriptName": "Wittgenstein-BoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 714
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein SemiBold Italic",
+ "postscriptName": "Wittgenstein-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 722
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Wittgenstein",
+ "fullName": "Wittgenstein Medium Italic",
+ "postscriptName": "Wittgenstein-MediumItalic",
+ "category": "serif",
+ "capHeight": 700,
+ "ascent": 1065,
+ "descent": -435,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 729
+ }
+ }
+ }
+ }
+ },
+ "wixMadeforDisplay": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display Regular",
+ "postscriptName": "WixMadeforDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display Medium",
+ "postscriptName": "WixMadeforDisplay-Medium",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display SemiBold",
+ "postscriptName": "WixMadeforDisplay-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 478,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 478
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display Bold",
+ "postscriptName": "WixMadeforDisplay-Bold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display ExtraBold",
+ "postscriptName": "WixMadeforDisplay-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Wix Madefor Display",
+ "fullName": "Wix Madefor Display Regular",
+ "postscriptName": "WixMadeforDisplay-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "wixMadeforText": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Regular",
+ "postscriptName": "WixMadeforText-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Medium",
+ "postscriptName": "WixMadeforText-Medium",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text SemiBold",
+ "postscriptName": "WixMadeforText-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 477,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 477
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Bold",
+ "postscriptName": "WixMadeforText-Bold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 482,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 482
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text ExtraBold",
+ "postscriptName": "WixMadeforText-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 490,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 490
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Regular",
+ "postscriptName": "WixMadeforText-Regular",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 467,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 467
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Italic",
+ "postscriptName": "WixMadeforText-Italic",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 492,
+ "xWidthAvg": 459,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 459
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text ExtraBold Italic",
+ "postscriptName": "WixMadeforText-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 480,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 480
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Bold Italic",
+ "postscriptName": "WixMadeforText-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 503,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text SemiBold Italic",
+ "postscriptName": "WixMadeforText-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Wix Madefor Text",
+ "fullName": "Wix Madefor Text Medium Italic",
+ "postscriptName": "WixMadeforText-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 715,
+ "ascent": 1008,
+ "descent": -252,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 497,
+ "xWidthAvg": 464,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 464
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "workSans": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Regular",
+ "postscriptName": "WorkSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Thin",
+ "postscriptName": "WorkSans-Thin",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 444,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 444
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans ExtraLight",
+ "postscriptName": "WorkSans-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Light",
+ "postscriptName": "WorkSans-Light",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Medium",
+ "postscriptName": "WorkSans-Medium",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans SemiBold",
+ "postscriptName": "WorkSans-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Bold",
+ "postscriptName": "WorkSans-Bold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans ExtraBold",
+ "postscriptName": "WorkSans-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 502,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 502
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Black",
+ "postscriptName": "WorkSans-Black",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 503,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 503
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Regular",
+ "postscriptName": "WorkSans-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 499,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 499
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Italic",
+ "postscriptName": "WorkSans-Italic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 493,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 493
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Black Italic",
+ "postscriptName": "WorkSans-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 507,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 507
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans ExtraBold Italic",
+ "postscriptName": "WorkSans-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 504,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 504
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Bold Italic",
+ "postscriptName": "WorkSans-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 501,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 501
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans SemiBold Italic",
+ "postscriptName": "WorkSans-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Medium Italic",
+ "postscriptName": "WorkSans-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 496,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 496
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Light Italic",
+ "postscriptName": "WorkSans-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans ExtraLight Italic",
+ "postscriptName": "WorkSans-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 455,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 455
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Work Sans",
+ "fullName": "Work Sans Thin Italic",
+ "postscriptName": "WorkSans-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 930,
+ "descent": -243,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 446,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 446
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "workbench": {
+ "familyName": "Workbench",
+ "fullName": "Workbench Regular",
+ "postscriptName": "Workbench-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Workbench",
+ "fullName": "Workbench Regular",
+ "postscriptName": "Workbench-Regular",
+ "category": "monospace",
+ "capHeight": 896,
+ "ascent": 896,
+ "descent": -128,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 640,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ }
+ }
+ },
+ "xanhMono": {
+ "familyName": "Xanh Mono",
+ "fullName": "Xanh Mono Regular",
+ "postscriptName": "XanhMono-Regular",
+ "category": "monospace",
+ "capHeight": 740,
+ "ascent": 970,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Xanh Mono",
+ "fullName": "Xanh Mono Regular",
+ "postscriptName": "XanhMono-Regular",
+ "category": "monospace",
+ "capHeight": 740,
+ "ascent": 970,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Xanh Mono",
+ "fullName": "Xanh Mono Italic",
+ "postscriptName": "XanhMono-Italic",
+ "category": "monospace",
+ "capHeight": 740,
+ "ascent": 970,
+ "descent": -220,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 540,
+ "xWidthAvg": 500,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 500
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yaldevi": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi Regular",
+ "postscriptName": "Yaldevi-Regular",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi ExtraLight",
+ "postscriptName": "Yaldevi-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "300": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi Light",
+ "postscriptName": "Yaldevi-Light",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "500": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi Medium",
+ "postscriptName": "Yaldevi-Medium",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "600": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi SemiBold",
+ "postscriptName": "Yaldevi-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "700": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi Bold",
+ "postscriptName": "Yaldevi-Bold",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 462,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 462
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Yaldevi",
+ "fullName": "Yaldevi Regular",
+ "postscriptName": "Yaldevi-Regular",
+ "category": "sans-serif",
+ "capHeight": 769,
+ "ascent": 1060,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 570,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 719
+ }
+ }
+ }
+ }
+ },
+ "yanoneKaffeesatz": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz Regular",
+ "postscriptName": "YanoneKaffeesatz-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz ExtraLight",
+ "postscriptName": "YanoneKaffeesatz-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 334,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 334
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "300": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz Light",
+ "postscriptName": "YanoneKaffeesatz-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 324,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 324
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "500": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz Medium",
+ "postscriptName": "YanoneKaffeesatz-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 303,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 303
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "600": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz SemiBold",
+ "postscriptName": "YanoneKaffeesatz-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 298,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 298
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "700": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz Bold",
+ "postscriptName": "YanoneKaffeesatz-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 293,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 293
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Yanone Kaffeesatz",
+ "fullName": "Yanone Kaffeesatz Regular",
+ "postscriptName": "YanoneKaffeesatz-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 735,
+ "descent": -200,
+ "lineGap": 57,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 308,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 308
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yantramanav": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Regular",
+ "postscriptName": "Yantramanav-Regular",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 843,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 843
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Thin",
+ "postscriptName": "Yantramanav-Thin",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 802,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 802
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ },
+ "300": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Light",
+ "postscriptName": "Yantramanav-Light",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 822,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 822
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ },
+ "500": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Medium",
+ "postscriptName": "Yantramanav-Medium",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ },
+ "700": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Bold",
+ "postscriptName": "Yantramanav-Bold",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 845,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 845
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ },
+ "900": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Black",
+ "postscriptName": "Yantramanav-Black",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 848,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 848
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Yantramanav",
+ "fullName": "Yantramanav Regular",
+ "postscriptName": "Yantramanav-Regular",
+ "category": "sans-serif",
+ "capHeight": 1279,
+ "ascent": 1923,
+ "descent": -733,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 986,
+ "xWidthAvg": 843,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 843
+ },
+ "thai": {
+ "xWidthAvg": 817
+ }
+ }
+ }
+ }
+ },
+ "yarndings12": {
+ "familyName": "Yarndings 12",
+ "fullName": "Yarndings 12 Regular",
+ "postscriptName": "Yarndings12-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 910,
+ "descent": -130,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 500,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yarndings 12",
+ "fullName": "Yarndings 12 Regular",
+ "postscriptName": "Yarndings12-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 910,
+ "descent": -130,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 500,
+ "xWidthAvg": 740,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 740
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ }
+ }
+ },
+ "yarndings12Charted": {
+ "familyName": "Yarndings 12 Charted",
+ "fullName": "Yarndings 12 Charted Regular",
+ "postscriptName": "Yarndings12Charted-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 910,
+ "descent": -130,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 500,
+ "xWidthAvg": 747,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 747
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yarndings 12 Charted",
+ "fullName": "Yarndings 12 Charted Regular",
+ "postscriptName": "Yarndings12Charted-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 910,
+ "descent": -130,
+ "lineGap": 0,
+ "unitsPerEm": 1040,
+ "xHeight": 500,
+ "xWidthAvg": 747,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 747
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ }
+ }
+ },
+ "yarndings20": {
+ "familyName": "Yarndings 20",
+ "fullName": "Yarndings 20 Regular",
+ "postscriptName": "Yarndings20-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -80,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 500,
+ "xWidthAvg": 676,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 676
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yarndings 20",
+ "fullName": "Yarndings 20 Regular",
+ "postscriptName": "Yarndings20-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -80,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 500,
+ "xWidthAvg": 676,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 676
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ }
+ }
+ },
+ "yarndings20Charted": {
+ "familyName": "Yarndings 20 Charted",
+ "fullName": "Yarndings 20 Charted Regular",
+ "postscriptName": "Yarndings20Charted-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -80,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 500,
+ "xWidthAvg": 676,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 676
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yarndings 20 Charted",
+ "fullName": "Yarndings 20 Charted Regular",
+ "postscriptName": "Yarndings20Charted-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -80,
+ "lineGap": 0,
+ "unitsPerEm": 960,
+ "xHeight": 500,
+ "xWidthAvg": 676,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 676
+ },
+ "thai": {
+ "xWidthAvg": 480
+ }
+ }
+ }
+ }
+ },
+ "yatraOne": {
+ "familyName": "Yatra One",
+ "fullName": "Yatra One Regular",
+ "postscriptName": "YatraOne-Regular",
+ "category": "display",
+ "capHeight": 679,
+ "ascent": 991,
+ "descent": -487,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yatra One",
+ "fullName": "Yatra One Regular",
+ "postscriptName": "YatraOne-Regular",
+ "category": "display",
+ "capHeight": 679,
+ "ascent": 991,
+ "descent": -487,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 497,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 497
+ },
+ "thai": {
+ "xWidthAvg": 756
+ }
+ }
+ }
+ }
+ },
+ "yellowtail": {
+ "familyName": "Yellowtail",
+ "fullName": "Yellowtail Regular",
+ "postscriptName": "Yellowtail-Regular",
+ "category": "handwriting",
+ "ascent": 1990,
+ "descent": -617,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 691,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 691
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yellowtail",
+ "fullName": "Yellowtail Regular",
+ "postscriptName": "Yellowtail-Regular",
+ "category": "handwriting",
+ "ascent": 1990,
+ "descent": -617,
+ "lineGap": 184,
+ "unitsPerEm": 2048,
+ "xWidthAvg": 691,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 691
+ },
+ "thai": {
+ "xWidthAvg": 2048
+ }
+ }
+ }
+ }
+ },
+ "yeonSung": {
+ "familyName": "Yeon Sung",
+ "fullName": "Yeon Sung Regular",
+ "postscriptName": "YeonSung-Regular",
+ "category": "display",
+ "capHeight": 659,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 446,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yeon Sung",
+ "fullName": "Yeon Sung Regular",
+ "postscriptName": "YeonSung-Regular",
+ "category": "display",
+ "capHeight": 659,
+ "ascent": 800,
+ "descent": -200,
+ "lineGap": 250,
+ "unitsPerEm": 1000,
+ "xHeight": 446,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 900
+ }
+ }
+ }
+ }
+ },
+ "yesevaOne": {
+ "familyName": "Yeseva One",
+ "fullName": "Yeseva One Regular",
+ "postscriptName": "YesevaOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 915,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 285
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yeseva One",
+ "fullName": "Yeseva One Regular",
+ "postscriptName": "YesevaOne-Regular",
+ "category": "display",
+ "capHeight": 700,
+ "ascent": 915,
+ "descent": -240,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 285
+ }
+ }
+ }
+ }
+ },
+ "yesteryear": {
+ "familyName": "Yesteryear",
+ "fullName": "Yesteryear",
+ "postscriptName": "Yesteryear-Regular",
+ "category": "handwriting",
+ "capHeight": 1581,
+ "ascent": 2001,
+ "descent": -1004,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 625,
+ "xWidthAvg": 688,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 688
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yesteryear",
+ "fullName": "Yesteryear",
+ "postscriptName": "Yesteryear-Regular",
+ "category": "handwriting",
+ "capHeight": 1581,
+ "ascent": 2001,
+ "descent": -1004,
+ "lineGap": 0,
+ "unitsPerEm": 2048,
+ "xHeight": 625,
+ "xWidthAvg": 688,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 688
+ },
+ "thai": {
+ "xWidthAvg": 461
+ }
+ }
+ }
+ }
+ },
+ "yomogi": {
+ "familyName": "Yomogi",
+ "fullName": "Yomogi Regular",
+ "postscriptName": "Yomogi-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yomogi",
+ "fullName": "Yomogi Regular",
+ "postscriptName": "Yomogi-Regular",
+ "category": "handwriting",
+ "capHeight": 720,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 475,
+ "xWidthAvg": 516,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 516
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "youngSerif": {
+ "familyName": "Young Serif",
+ "fullName": "Young Serif Regular",
+ "postscriptName": "YoungSerif-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1046,
+ "descent": -366,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Young Serif",
+ "fullName": "Young Serif Regular",
+ "postscriptName": "YoungSerif-Regular",
+ "category": "serif",
+ "capHeight": 750,
+ "ascent": 1046,
+ "descent": -366,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 500,
+ "xWidthAvg": 511,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 511
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yrsa": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Regular",
+ "postscriptName": "Yrsa-Regular",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Light",
+ "postscriptName": "Yrsa-Light",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "500": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Medium",
+ "postscriptName": "Yrsa-Medium",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "600": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa SemiBold",
+ "postscriptName": "Yrsa-SemiBold",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "700": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Bold",
+ "postscriptName": "Yrsa-Bold",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Regular",
+ "postscriptName": "Yrsa-Regular",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 643
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Italic",
+ "postscriptName": "Yrsa-Italic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 371,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 371
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Bold Italic",
+ "postscriptName": "Yrsa-BoldItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa SemiBold Italic",
+ "postscriptName": "Yrsa-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 387,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 387
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Medium Italic",
+ "postscriptName": "Yrsa-MediumItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 379,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 379
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Yrsa",
+ "fullName": "Yrsa Light Italic",
+ "postscriptName": "Yrsa-LightItalic",
+ "category": "serif",
+ "capHeight": 568,
+ "ascent": 728,
+ "descent": -272,
+ "lineGap": 218,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 363,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 363
+ },
+ "thai": {
+ "xWidthAvg": 645
+ }
+ }
+ }
+ }
+ },
+ "ysabeau": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Regular",
+ "postscriptName": "Ysabeau-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Thin",
+ "postscriptName": "Ysabeau-Thin",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 413,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 413
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau ExtraLight",
+ "postscriptName": "Ysabeau-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 415,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 415
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Light",
+ "postscriptName": "Ysabeau-Light",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 418,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 418
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Medium",
+ "postscriptName": "Ysabeau-Medium",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau SemiBold",
+ "postscriptName": "Ysabeau-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Bold",
+ "postscriptName": "Ysabeau-Bold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 427,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 427
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau ExtraBold",
+ "postscriptName": "Ysabeau-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Black",
+ "postscriptName": "Ysabeau-Black",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Regular",
+ "postscriptName": "Ysabeau-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Italic",
+ "postscriptName": "Ysabeau-Italic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Black Italic",
+ "postscriptName": "Ysabeau-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau ExtraBold Italic",
+ "postscriptName": "Ysabeau-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Bold Italic",
+ "postscriptName": "Ysabeau-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 517
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau SemiBold Italic",
+ "postscriptName": "Ysabeau-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Medium Italic",
+ "postscriptName": "Ysabeau-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 507
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Light Italic",
+ "postscriptName": "Ysabeau-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 397,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 397
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau ExtraLight Italic",
+ "postscriptName": "Ysabeau-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Ysabeau",
+ "fullName": "Ysabeau Thin Italic",
+ "postscriptName": "Ysabeau-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 390,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 390
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "ysabeauInfant": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Regular",
+ "postscriptName": "YsabeauInfant-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Thin",
+ "postscriptName": "YsabeauInfant-Thin",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 421,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 421
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant ExtraLight",
+ "postscriptName": "YsabeauInfant-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 424,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 424
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Light",
+ "postscriptName": "YsabeauInfant-Light",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 426,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 426
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Medium",
+ "postscriptName": "YsabeauInfant-Medium",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant SemiBold",
+ "postscriptName": "YsabeauInfant-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 432,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 432
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Bold",
+ "postscriptName": "YsabeauInfant-Bold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 435,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 435
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant ExtraBold",
+ "postscriptName": "YsabeauInfant-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Black",
+ "postscriptName": "YsabeauInfant-Black",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 456,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 456
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Regular",
+ "postscriptName": "YsabeauInfant-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Italic",
+ "postscriptName": "YsabeauInfant-Italic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Black Italic",
+ "postscriptName": "YsabeauInfant-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant ExtraBold Italic",
+ "postscriptName": "YsabeauInfant-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 429,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 429
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Bold Italic",
+ "postscriptName": "YsabeauInfant-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 517
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant SemiBold Italic",
+ "postscriptName": "YsabeauInfant-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Medium Italic",
+ "postscriptName": "YsabeauInfant-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 507
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Light Italic",
+ "postscriptName": "YsabeauInfant-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant ExtraLight Italic",
+ "postscriptName": "YsabeauInfant-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 395,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 395
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Ysabeau Infant",
+ "fullName": "Ysabeau Infant Thin Italic",
+ "postscriptName": "YsabeauInfant-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 392,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 392
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "ysabeauOffice": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Regular",
+ "postscriptName": "YsabeauOffice-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Thin",
+ "postscriptName": "YsabeauOffice-Thin",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 414,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 414
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office ExtraLight",
+ "postscriptName": "YsabeauOffice-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 416,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 416
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Light",
+ "postscriptName": "YsabeauOffice-Light",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 419,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 419
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Medium",
+ "postscriptName": "YsabeauOffice-Medium",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 422,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 422
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office SemiBold",
+ "postscriptName": "YsabeauOffice-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 425,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 425
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Bold",
+ "postscriptName": "YsabeauOffice-Bold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office ExtraBold",
+ "postscriptName": "YsabeauOffice-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Black",
+ "postscriptName": "YsabeauOffice-Black",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Regular",
+ "postscriptName": "YsabeauOffice-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 420,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 420
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Italic",
+ "postscriptName": "YsabeauOffice-Italic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 401,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 401
+ },
+ "thai": {
+ "xWidthAvg": 505
+ }
+ }
+ },
+ "900italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Black Italic",
+ "postscriptName": "YsabeauOffice-BlackItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 449,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 449
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "800italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office ExtraBold Italic",
+ "postscriptName": "YsabeauOffice-ExtraBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 520
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Bold Italic",
+ "postscriptName": "YsabeauOffice-BoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 517
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office SemiBold Italic",
+ "postscriptName": "YsabeauOffice-SemiBoldItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 406,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 406
+ },
+ "thai": {
+ "xWidthAvg": 512
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Medium Italic",
+ "postscriptName": "YsabeauOffice-MediumItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 403,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 403
+ },
+ "thai": {
+ "xWidthAvg": 507
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Light Italic",
+ "postscriptName": "YsabeauOffice-LightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 399,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 399
+ },
+ "thai": {
+ "xWidthAvg": 502
+ }
+ }
+ },
+ "200italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office ExtraLight Italic",
+ "postscriptName": "YsabeauOffice-ExtraLightItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 396,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 396
+ },
+ "thai": {
+ "xWidthAvg": 498
+ }
+ }
+ },
+ "100italic": {
+ "familyName": "Ysabeau Office",
+ "fullName": "Ysabeau Office Thin Italic",
+ "postscriptName": "YsabeauOffice-ThinItalic",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 393,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 393
+ },
+ "thai": {
+ "xWidthAvg": 494
+ }
+ }
+ }
+ }
+ },
+ "ysabeauSC": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Regular",
+ "postscriptName": "YsabeauSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ },
+ "variants": {
+ "100": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Thin",
+ "postscriptName": "YsabeauSC-Thin",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 408,
+ "xWidthAvg": 463,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 463
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "200": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC ExtraLight",
+ "postscriptName": "YsabeauSC-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 410,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "300": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Light",
+ "postscriptName": "YsabeauSC-Light",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 413,
+ "xWidthAvg": 468,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 468
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "500": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Medium",
+ "postscriptName": "YsabeauSC-Medium",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 416,
+ "xWidthAvg": 471,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 471
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "600": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC SemiBold",
+ "postscriptName": "YsabeauSC-SemiBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 418,
+ "xWidthAvg": 473,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 473
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "700": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Bold",
+ "postscriptName": "YsabeauSC-Bold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 421,
+ "xWidthAvg": 476,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 476
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "800": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC ExtraBold",
+ "postscriptName": "YsabeauSC-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 424,
+ "xWidthAvg": 485,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 485
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Black",
+ "postscriptName": "YsabeauSC-Black",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 427,
+ "xWidthAvg": 495,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 495
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Ysabeau SC",
+ "fullName": "Ysabeau SC Regular",
+ "postscriptName": "YsabeauSC-Regular",
+ "category": "sans-serif",
+ "capHeight": 658,
+ "ascent": 1054,
+ "descent": -289,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 414,
+ "xWidthAvg": 469,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 469
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ }
+ }
+ },
+ "yujiBoku": {
+ "familyName": "Yuji Boku",
+ "fullName": "Yuji Boku Regular",
+ "postscriptName": "YujiBoku-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yuji Boku",
+ "fullName": "Yuji Boku Regular",
+ "postscriptName": "YujiBoku-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 512,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 512
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yujiHentaiganaAkari": {
+ "familyName": "Yuji Hentaigana Akari",
+ "fullName": "Yuji Hentaigana Akari Regular",
+ "postscriptName": "YujiHentaiganaAkari-Regular",
+ "category": "handwriting",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 626,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 626
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yuji Hentaigana Akari",
+ "fullName": "Yuji Hentaigana Akari Regular",
+ "postscriptName": "YujiHentaiganaAkari-Regular",
+ "category": "handwriting",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 626,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 626
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yujiHentaiganaAkebono": {
+ "familyName": "Yuji Hentaigana Akebono",
+ "fullName": "Yuji Hentaigana Akebono Regular",
+ "postscriptName": "YujiHentaiganaAkebono-Regular",
+ "category": "handwriting",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 626,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 626
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yuji Hentaigana Akebono",
+ "fullName": "Yuji Hentaigana Akebono Regular",
+ "postscriptName": "YujiHentaiganaAkebono-Regular",
+ "category": "handwriting",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 626,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 626
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yujiMai": {
+ "familyName": "Yuji Mai",
+ "fullName": "Yuji Mai Regular",
+ "postscriptName": "YujiMai-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yuji Mai",
+ "fullName": "Yuji Mai Regular",
+ "postscriptName": "YujiMai-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 534,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 534
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yujiSyuku": {
+ "familyName": "Yuji Syuku",
+ "fullName": "Yuji Syuku Regular",
+ "postscriptName": "YujiSyuku-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yuji Syuku",
+ "fullName": "Yuji Syuku Regular",
+ "postscriptName": "YujiSyuku-Regular",
+ "category": "serif",
+ "capHeight": 761,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 545,
+ "xWidthAvg": 533,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 533
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "yuseiMagic": {
+ "familyName": "Yusei Magic",
+ "fullName": "Yusei Magic Regular",
+ "postscriptName": "YuseiMagic-Regular",
+ "category": "sans-serif",
+ "capHeight": 760,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Yusei Magic",
+ "fullName": "Yusei Magic Regular",
+ "postscriptName": "YuseiMagic-Regular",
+ "category": "sans-serif",
+ "capHeight": 760,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 510,
+ "xWidthAvg": 498,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 498
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zCOOLKuaiLe": {
+ "familyName": "ZCOOL KuaiLe",
+ "fullName": "ZCOOL KuaiLe Regular",
+ "postscriptName": "ZCOOLKuaiLe-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "ZCOOL KuaiLe",
+ "fullName": "ZCOOL KuaiLe Regular",
+ "postscriptName": "ZCOOLKuaiLe-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 512,
+ "xWidthAvg": 489,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 489
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "zCOOLQingKeHuangYou": {
+ "familyName": "ZCOOL QingKe HuangYou",
+ "fullName": "ZCOOL QingKe HuangYou Regular",
+ "postscriptName": "ZCOOLQingKeHuangYou-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "ZCOOL QingKe HuangYou",
+ "fullName": "ZCOOL QingKe HuangYou Regular",
+ "postscriptName": "ZCOOLQingKeHuangYou-Regular",
+ "category": "sans-serif",
+ "capHeight": 710,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 485,
+ "xWidthAvg": 353,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 353
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "zCOOLXiaoWei": {
+ "familyName": "ZCOOL XiaoWei",
+ "fullName": "ZCOOL XiaoWei Regular",
+ "postscriptName": "ZCOOLXiaoWei-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "ZCOOL XiaoWei",
+ "fullName": "ZCOOL XiaoWei Regular",
+ "postscriptName": "ZCOOLXiaoWei-Regular",
+ "category": "sans-serif",
+ "capHeight": 660,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 470,
+ "xWidthAvg": 428,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 428
+ },
+ "thai": {
+ "xWidthAvg": 1024
+ }
+ }
+ }
+ }
+ },
+ "zain": {
+ "familyName": "Zain",
+ "fullName": "Zain Regular",
+ "postscriptName": "Zain-Regular",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 368,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ },
+ "variants": {
+ "200": {
+ "familyName": "Zain",
+ "fullName": "Zain ExtraLight",
+ "postscriptName": "Zain-ExtraLight",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 331,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 331
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "300": {
+ "familyName": "Zain",
+ "fullName": "Zain Light",
+ "postscriptName": "Zain-Light",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 360,
+ "xWidthAvg": 340,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 340
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zain",
+ "fullName": "Zain Bold",
+ "postscriptName": "Zain-Bold",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 376,
+ "xWidthAvg": 351,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 351
+ },
+ "thai": {
+ "xWidthAvg": 524
+ }
+ }
+ },
+ "800": {
+ "familyName": "Zain",
+ "fullName": "Zain ExtraBold",
+ "postscriptName": "Zain-ExtraBold",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 382,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 527
+ }
+ }
+ },
+ "900": {
+ "familyName": "Zain",
+ "fullName": "Zain Black",
+ "postscriptName": "Zain-Black",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 386,
+ "xWidthAvg": 355,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 355
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zain",
+ "fullName": "Zain Regular",
+ "postscriptName": "Zain-Regular",
+ "category": "sans-serif",
+ "capHeight": 556,
+ "ascent": 900,
+ "descent": -500,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 368,
+ "xWidthAvg": 348,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 348
+ },
+ "thai": {
+ "xWidthAvg": 531
+ }
+ }
+ }
+ }
+ },
+ "zenAntique": {
+ "familyName": "Zen Antique",
+ "fullName": "Zen Antique Regular",
+ "postscriptName": "ZenAntique-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Antique",
+ "fullName": "Zen Antique Regular",
+ "postscriptName": "ZenAntique-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenAntiqueSoft": {
+ "familyName": "Zen Antique Soft",
+ "fullName": "Zen Antique Soft Regular",
+ "postscriptName": "ZenAntiqueSoft-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Antique Soft",
+ "fullName": "Zen Antique Soft Regular",
+ "postscriptName": "ZenAntiqueSoft-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenDots": {
+ "familyName": "Zen Dots",
+ "fullName": "Zen Dots Regular",
+ "postscriptName": "ZenDots-Regular",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 625,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 625
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Dots",
+ "fullName": "Zen Dots Regular",
+ "postscriptName": "ZenDots-Regular",
+ "category": "display",
+ "capHeight": 715,
+ "ascent": 930,
+ "descent": -270,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 515,
+ "xWidthAvg": 625,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 625
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "zenKakuGothicAntique": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Regular",
+ "postscriptName": "ZenKakuGothicAntique-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Light",
+ "postscriptName": "ZenKakuGothicAntique-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Medium",
+ "postscriptName": "ZenKakuGothicAntique-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Bold",
+ "postscriptName": "ZenKakuGothicAntique-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Black",
+ "postscriptName": "ZenKakuGothicAntique-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zen Kaku Gothic Antique",
+ "fullName": "Zen Kaku Gothic Antique Regular",
+ "postscriptName": "ZenKakuGothicAntique-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenKakuGothicNew": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Regular",
+ "postscriptName": "ZenKakuGothicNew-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Light",
+ "postscriptName": "ZenKakuGothicNew-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Medium",
+ "postscriptName": "ZenKakuGothicNew-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Bold",
+ "postscriptName": "ZenKakuGothicNew-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Black",
+ "postscriptName": "ZenKakuGothicNew-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zen Kaku Gothic New",
+ "fullName": "Zen Kaku Gothic New Regular",
+ "postscriptName": "ZenKakuGothicNew-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenKurenaido": {
+ "familyName": "Zen Kurenaido",
+ "fullName": "Zen Kurenaido Regular",
+ "postscriptName": "ZenKurenaido-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 406,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Kurenaido",
+ "fullName": "Zen Kurenaido Regular",
+ "postscriptName": "ZenKurenaido-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 406,
+ "xWidthAvg": 404,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 404
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ }
+ }
+ },
+ "zenLoop": {
+ "familyName": "Zen Loop",
+ "fullName": "Zen Loop Regular",
+ "postscriptName": "ZenLoop-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 850,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 477,
+ "xWidthAvg": 268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 268
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Loop",
+ "fullName": "Zen Loop Regular",
+ "postscriptName": "ZenLoop-Regular",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 850,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 477,
+ "xWidthAvg": 268,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 268
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Zen Loop",
+ "fullName": "Zen Loop Italic",
+ "postscriptName": "ZenLoop-Italic",
+ "category": "display",
+ "capHeight": 690,
+ "ascent": 850,
+ "descent": -275,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 477,
+ "xWidthAvg": 270,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 270
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "zenMaruGothic": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Regular",
+ "postscriptName": "ZenMaruGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Light",
+ "postscriptName": "ZenMaruGothic-Light",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 478,
+ "xWidthAvg": 440,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 440
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "500": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Medium",
+ "postscriptName": "ZenMaruGothic-Medium",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 480,
+ "xWidthAvg": 445,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 445
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Bold",
+ "postscriptName": "ZenMaruGothic-Bold",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 481,
+ "xWidthAvg": 447,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 447
+ },
+ "thai": {
+ "xWidthAvg": 851
+ }
+ }
+ },
+ "900": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Black",
+ "postscriptName": "ZenMaruGothic-Black",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 482,
+ "xWidthAvg": 448,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 448
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zen Maru Gothic",
+ "fullName": "Zen Maru Gothic Regular",
+ "postscriptName": "ZenMaruGothic-Regular",
+ "category": "sans-serif",
+ "capHeight": 700,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 479,
+ "xWidthAvg": 442,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 442
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenOldMincho": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho Regular",
+ "postscriptName": "ZenOldMincho-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "500": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho Medium",
+ "postscriptName": "ZenOldMincho-Medium",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 440,
+ "xWidthAvg": 450,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 450
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "600": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho SemiBold",
+ "postscriptName": "ZenOldMincho-SemiBold",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 453,
+ "xWidthAvg": 465,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 465
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho Bold",
+ "postscriptName": "ZenOldMincho-Bold",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 460,
+ "xWidthAvg": 474,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 474
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ },
+ "900": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho Black",
+ "postscriptName": "ZenOldMincho-Black",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 473,
+ "xWidthAvg": 488,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 488
+ },
+ "thai": {
+ "xWidthAvg": 600
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zen Old Mincho",
+ "fullName": "Zen Old Mincho Regular",
+ "postscriptName": "ZenOldMincho-Regular",
+ "category": "serif",
+ "capHeight": 726,
+ "ascent": 1160,
+ "descent": -288,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 430,
+ "xWidthAvg": 438,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 438
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zenTokyoZoo": {
+ "familyName": "Zen Tokyo Zoo",
+ "fullName": "Zen Tokyo Zoo Regular",
+ "postscriptName": "ZenTokyoZoo-Regular",
+ "category": "display",
+ "capHeight": 804,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 402,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zen Tokyo Zoo",
+ "fullName": "Zen Tokyo Zoo Regular",
+ "postscriptName": "ZenTokyoZoo-Regular",
+ "category": "display",
+ "capHeight": 804,
+ "ascent": 950,
+ "descent": -250,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 402,
+ "xWidthAvg": 383,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 383
+ },
+ "thai": {
+ "xWidthAvg": 500
+ }
+ }
+ }
+ }
+ },
+ "zeyada": {
+ "familyName": "Zeyada",
+ "fullName": "Zeyada",
+ "postscriptName": "Zeyada",
+ "category": "handwriting",
+ "capHeight": 602,
+ "ascent": 934,
+ "descent": -680,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 312,
+ "xWidthAvg": 357,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 357
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zeyada",
+ "fullName": "Zeyada",
+ "postscriptName": "Zeyada",
+ "category": "handwriting",
+ "capHeight": 602,
+ "ascent": 934,
+ "descent": -680,
+ "lineGap": 0,
+ "unitsPerEm": 1024,
+ "xHeight": 312,
+ "xWidthAvg": 357,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 357
+ },
+ "thai": {
+ "xWidthAvg": 384
+ }
+ }
+ }
+ }
+ },
+ "zhiMangXing": {
+ "familyName": "Zhi Mang Xing",
+ "fullName": "Zhi Mang Xing Regular",
+ "postscriptName": "ZhiMangXing-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ },
+ "variants": {
+ "regular": {
+ "familyName": "Zhi Mang Xing",
+ "fullName": "Zhi Mang Xing Regular",
+ "postscriptName": "ZhiMangXing-Regular",
+ "category": "handwriting",
+ "capHeight": 750,
+ "ascent": 880,
+ "descent": -120,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 496,
+ "xWidthAvg": 311,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 311
+ },
+ "thai": {
+ "xWidthAvg": 1000
+ }
+ }
+ }
+ }
+ },
+ "zillaSlab": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab",
+ "postscriptName": "ZillaSlab-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ },
+ "variants": {
+ "300": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Light",
+ "postscriptName": "ZillaSlab-Light",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 444,
+ "xWidthAvg": 431,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 431
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "500": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Medium",
+ "postscriptName": "ZillaSlab-Medium",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 447,
+ "xWidthAvg": 436,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 436
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "600": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab SemiBold",
+ "postscriptName": "ZillaSlab-SemiBold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 449,
+ "xWidthAvg": 439,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 439
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "700": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Bold",
+ "postscriptName": "ZillaSlab-Bold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 443,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 443
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab",
+ "postscriptName": "ZillaSlab-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "italic": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Italic",
+ "postscriptName": "ZillaSlab-Italic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 407,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 407
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "700italic": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Bold Italic",
+ "postscriptName": "ZillaSlab-BoldItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 412,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 412
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "600italic": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab SemiBold Italic",
+ "postscriptName": "ZillaSlab-SemiBoldItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 410,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 410
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "500italic": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Medium Italic",
+ "postscriptName": "ZillaSlab-MediumItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 408,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 408
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "300italic": {
+ "familyName": "Zilla Slab",
+ "fullName": "Zilla Slab Light Italic",
+ "postscriptName": "ZillaSlab-LightItalic",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 441,
+ "xWidthAvg": 405,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 405
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ }
+ }
+ },
+ "zillaSlabHighlight": {
+ "familyName": "Zilla Slab Highlight",
+ "fullName": "Zilla Slab Highlight",
+ "postscriptName": "ZillaSlabHighlight-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ },
+ "variants": {
+ "700": {
+ "familyName": "Zilla Slab Highlight",
+ "fullName": "Zilla Slab Highlight Bold",
+ "postscriptName": "ZillaSlabHighlight-Bold",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 451,
+ "xWidthAvg": 441,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 441
+ },
+ "thai": {
+ "xWidthAvg": 712
+ }
+ }
+ },
+ "regular": {
+ "familyName": "Zilla Slab Highlight",
+ "fullName": "Zilla Slab Highlight",
+ "postscriptName": "ZillaSlabHighlight-Regular",
+ "category": "serif",
+ "capHeight": 650,
+ "ascent": 944,
+ "descent": -256,
+ "lineGap": 0,
+ "unitsPerEm": 1000,
+ "xHeight": 445,
+ "xWidthAvg": 434,
+ "subsets": {
+ "latin": {
+ "xWidthAvg": 434
+ },
+ "thai": {
+ "xWidthAvg": 528
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/ci-info.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/ci-info.js
new file mode 100644
index 0000000000000000000000000000000000000000..6d853557feb8a52474bf9fbe795f7ebe79c6b2be
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/ci-info.js
@@ -0,0 +1,41 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ hasNextSupport: null,
+ isCI: null,
+ name: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ hasNextSupport: function() {
+ return hasNextSupport;
+ },
+ isCI: function() {
+ return isCI;
+ },
+ name: function() {
+ return name;
+ }
+});
+const _ciinfo = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/ci-info"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const { isCI: _isCI, name: _name } = _ciinfo.default;
+const isZeitNow = !!process.env.NOW_BUILDER;
+const envStack = process.env.STACK;
+const isHeroku = typeof envStack === 'string' && envStack.toLowerCase().includes('heroku');
+const isCI = isZeitNow || isHeroku || _isCI;
+const name = isZeitNow ? 'ZEIT Now' : isHeroku ? 'Heroku' : _name;
+const hasNextSupport = Boolean(isZeitNow);
+
+//# sourceMappingURL=ci-info.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/client-component-renderer-logger.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/client-component-renderer-logger.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cf08ad4ce4a2c1f87e971df350142d6ee409c57
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/client-component-renderer-logger.js
@@ -0,0 +1,70 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getClientComponentLoaderMetrics: null,
+ wrapClientComponentLoader: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getClientComponentLoaderMetrics: function() {
+ return getClientComponentLoaderMetrics;
+ },
+ wrapClientComponentLoader: function() {
+ return wrapClientComponentLoader;
+ }
+});
+// Combined load times for loading client components
+let clientComponentLoadStart = 0;
+let clientComponentLoadTimes = 0;
+let clientComponentLoadCount = 0;
+function wrapClientComponentLoader(ComponentMod) {
+ if (!('performance' in globalThis)) {
+ return ComponentMod.__next_app__;
+ }
+ return {
+ require: (...args)=>{
+ const startTime = performance.now();
+ if (clientComponentLoadStart === 0) {
+ clientComponentLoadStart = startTime;
+ }
+ try {
+ clientComponentLoadCount += 1;
+ return ComponentMod.__next_app__.require(...args);
+ } finally{
+ clientComponentLoadTimes += performance.now() - startTime;
+ }
+ },
+ loadChunk: (...args)=>{
+ const startTime = performance.now();
+ const result = ComponentMod.__next_app__.loadChunk(...args);
+ // Avoid wrapping `loadChunk`'s result in an extra promise in case something like React depends on its identity.
+ // We only need to know when it's settled.
+ result.finally(()=>{
+ clientComponentLoadTimes += performance.now() - startTime;
+ });
+ return result;
+ }
+ };
+}
+function getClientComponentLoaderMetrics(options = {}) {
+ const metrics = clientComponentLoadStart === 0 ? undefined : {
+ clientComponentLoadStart,
+ clientComponentLoadTimes,
+ clientComponentLoadCount
+ };
+ if (options.reset) {
+ clientComponentLoadStart = 0;
+ clientComponentLoadTimes = 0;
+ clientComponentLoadCount = 0;
+ }
+ return metrics;
+}
+
+//# sourceMappingURL=client-component-renderer-logger.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-schema.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-schema.js
new file mode 100644
index 0000000000000000000000000000000000000000..069642b95ba21baccf91870b1af62b8de4475765
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-schema.js
@@ -0,0 +1,622 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "configSchema", {
+ enumerable: true,
+ get: function() {
+ return configSchema;
+ }
+});
+const _imageconfig = require("../shared/lib/image-config");
+const _zod = require("next/dist/compiled/zod");
+const _nexttest = require("../cli/next-test");
+// A custom zod schema for the SizeLimit type
+const zSizeLimit = _zod.z.custom((val)=>{
+ if (typeof val === 'number' || typeof val === 'string') {
+ return true;
+ }
+ return false;
+});
+const zExportMap = _zod.z.record(_zod.z.string(), _zod.z.object({
+ page: _zod.z.string(),
+ query: _zod.z.any(),
+ // private optional properties
+ _fallbackRouteParams: _zod.z.array(_zod.z.string()).optional(),
+ _isAppDir: _zod.z.boolean().optional(),
+ _isDynamicError: _zod.z.boolean().optional(),
+ _isRoutePPREnabled: _zod.z.boolean().optional(),
+ _allowEmptyStaticShell: _zod.z.boolean().optional()
+}));
+const zRouteHas = _zod.z.union([
+ _zod.z.object({
+ type: _zod.z.enum([
+ 'header',
+ 'query',
+ 'cookie'
+ ]),
+ key: _zod.z.string(),
+ value: _zod.z.string().optional()
+ }),
+ _zod.z.object({
+ type: _zod.z.literal('host'),
+ key: _zod.z.undefined().optional(),
+ value: _zod.z.string()
+ })
+]);
+const zRewrite = _zod.z.object({
+ source: _zod.z.string(),
+ destination: _zod.z.string(),
+ basePath: _zod.z.literal(false).optional(),
+ locale: _zod.z.literal(false).optional(),
+ has: _zod.z.array(zRouteHas).optional(),
+ missing: _zod.z.array(zRouteHas).optional(),
+ internal: _zod.z.boolean().optional()
+});
+const zRedirect = _zod.z.object({
+ source: _zod.z.string(),
+ destination: _zod.z.string(),
+ basePath: _zod.z.literal(false).optional(),
+ locale: _zod.z.literal(false).optional(),
+ has: _zod.z.array(zRouteHas).optional(),
+ missing: _zod.z.array(zRouteHas).optional(),
+ internal: _zod.z.boolean().optional()
+}).and(_zod.z.union([
+ _zod.z.object({
+ statusCode: _zod.z.never().optional(),
+ permanent: _zod.z.boolean()
+ }),
+ _zod.z.object({
+ statusCode: _zod.z.number(),
+ permanent: _zod.z.never().optional()
+ })
+]));
+const zHeader = _zod.z.object({
+ source: _zod.z.string(),
+ basePath: _zod.z.literal(false).optional(),
+ locale: _zod.z.literal(false).optional(),
+ headers: _zod.z.array(_zod.z.object({
+ key: _zod.z.string(),
+ value: _zod.z.string()
+ })),
+ has: _zod.z.array(zRouteHas).optional(),
+ missing: _zod.z.array(zRouteHas).optional(),
+ internal: _zod.z.boolean().optional()
+});
+const zTurboLoaderItem = _zod.z.union([
+ _zod.z.string(),
+ _zod.z.object({
+ loader: _zod.z.string(),
+ // Any JSON value can be used as turbo loader options, so use z.any() here
+ options: _zod.z.record(_zod.z.string(), _zod.z.any())
+ })
+]);
+const zTurboRuleConfigItemOptions = _zod.z.object({
+ loaders: _zod.z.array(zTurboLoaderItem),
+ as: _zod.z.string().optional()
+});
+const zTurboRuleConfigItem = _zod.z.union([
+ _zod.z.literal(false),
+ _zod.z.record(_zod.z.string(), _zod.z.lazy(()=>zTurboRuleConfigItem)),
+ zTurboRuleConfigItemOptions
+]);
+const zTurboRuleConfigItemOrShortcut = _zod.z.union([
+ _zod.z.array(zTurboLoaderItem),
+ zTurboRuleConfigItem
+]);
+const zTurboCondition = _zod.z.object({
+ path: _zod.z.union([
+ _zod.z.string(),
+ _zod.z.instanceof(RegExp)
+ ])
+});
+const zTurbopackConfig = _zod.z.strictObject({
+ rules: _zod.z.record(_zod.z.string(), zTurboRuleConfigItemOrShortcut).optional(),
+ conditions: _zod.z.record(_zod.z.string(), zTurboCondition).optional(),
+ resolveAlias: _zod.z.record(_zod.z.string(), _zod.z.union([
+ _zod.z.string(),
+ _zod.z.array(_zod.z.string()),
+ _zod.z.record(_zod.z.string(), _zod.z.union([
+ _zod.z.string(),
+ _zod.z.array(_zod.z.string())
+ ]))
+ ])).optional(),
+ resolveExtensions: _zod.z.array(_zod.z.string()).optional(),
+ moduleIds: _zod.z.enum([
+ 'named',
+ 'deterministic'
+ ]).optional(),
+ root: _zod.z.string().optional()
+});
+// Same as zTurbopackConfig but with deprecated properties. Unfortunately, base
+// properties are duplicated here as `ZodType`s do not export `extend()`.
+const zDeprecatedExperimentalTurboConfig = _zod.z.strictObject({
+ loaders: _zod.z.record(_zod.z.string(), _zod.z.array(zTurboLoaderItem)).optional(),
+ rules: _zod.z.record(_zod.z.string(), zTurboRuleConfigItemOrShortcut).optional(),
+ resolveAlias: _zod.z.record(_zod.z.string(), _zod.z.union([
+ _zod.z.string(),
+ _zod.z.array(_zod.z.string()),
+ _zod.z.record(_zod.z.string(), _zod.z.union([
+ _zod.z.string(),
+ _zod.z.array(_zod.z.string())
+ ]))
+ ])).optional(),
+ resolveExtensions: _zod.z.array(_zod.z.string()).optional(),
+ treeShaking: _zod.z.boolean().optional(),
+ persistentCaching: _zod.z.union([
+ _zod.z.number(),
+ _zod.z.literal(false)
+ ]).optional(),
+ memoryLimit: _zod.z.number().optional(),
+ moduleIds: _zod.z.enum([
+ 'named',
+ 'deterministic'
+ ]).optional(),
+ minify: _zod.z.boolean().optional(),
+ sourceMaps: _zod.z.boolean().optional(),
+ root: _zod.z.string().optional()
+});
+const configSchema = _zod.z.lazy(()=>_zod.z.strictObject({
+ allowedDevOrigins: _zod.z.array(_zod.z.string()).optional(),
+ amp: _zod.z.object({
+ canonicalBase: _zod.z.string().optional()
+ }).optional(),
+ assetPrefix: _zod.z.string().optional(),
+ basePath: _zod.z.string().optional(),
+ bundlePagesRouterDependencies: _zod.z.boolean().optional(),
+ cacheHandler: _zod.z.string().min(1).optional(),
+ cacheMaxMemorySize: _zod.z.number().optional(),
+ cleanDistDir: _zod.z.boolean().optional(),
+ compiler: _zod.z.strictObject({
+ emotion: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.object({
+ sourceMap: _zod.z.boolean().optional(),
+ autoLabel: _zod.z.union([
+ _zod.z.literal('always'),
+ _zod.z.literal('dev-only'),
+ _zod.z.literal('never')
+ ]).optional(),
+ labelFormat: _zod.z.string().min(1).optional(),
+ importMap: _zod.z.record(_zod.z.string(), _zod.z.record(_zod.z.string(), _zod.z.object({
+ canonicalImport: _zod.z.tuple([
+ _zod.z.string(),
+ _zod.z.string()
+ ]).optional(),
+ styledBaseImport: _zod.z.tuple([
+ _zod.z.string(),
+ _zod.z.string()
+ ]).optional()
+ }))).optional()
+ })
+ ]).optional(),
+ reactRemoveProperties: _zod.z.union([
+ _zod.z.boolean().optional(),
+ _zod.z.object({
+ properties: _zod.z.array(_zod.z.string()).optional()
+ })
+ ]).optional(),
+ relay: _zod.z.object({
+ src: _zod.z.string(),
+ artifactDirectory: _zod.z.string().optional(),
+ language: _zod.z.enum([
+ 'javascript',
+ 'typescript',
+ 'flow'
+ ]).optional(),
+ eagerEsModules: _zod.z.boolean().optional()
+ }).optional(),
+ removeConsole: _zod.z.union([
+ _zod.z.boolean().optional(),
+ _zod.z.object({
+ exclude: _zod.z.array(_zod.z.string()).min(1).optional()
+ })
+ ]).optional(),
+ styledComponents: _zod.z.union([
+ _zod.z.boolean().optional(),
+ _zod.z.object({
+ displayName: _zod.z.boolean().optional(),
+ topLevelImportPaths: _zod.z.array(_zod.z.string()).optional(),
+ ssr: _zod.z.boolean().optional(),
+ fileName: _zod.z.boolean().optional(),
+ meaninglessFileNames: _zod.z.array(_zod.z.string()).optional(),
+ minify: _zod.z.boolean().optional(),
+ transpileTemplateLiterals: _zod.z.boolean().optional(),
+ namespace: _zod.z.string().min(1).optional(),
+ pure: _zod.z.boolean().optional(),
+ cssProp: _zod.z.boolean().optional()
+ })
+ ]),
+ styledJsx: _zod.z.union([
+ _zod.z.boolean().optional(),
+ _zod.z.object({
+ useLightningcss: _zod.z.boolean().optional()
+ })
+ ]),
+ define: _zod.z.record(_zod.z.string(), _zod.z.string()).optional(),
+ defineServer: _zod.z.record(_zod.z.string(), _zod.z.string()).optional(),
+ runAfterProductionCompile: _zod.z.function().returns(_zod.z.promise(_zod.z.void())).optional()
+ }).optional(),
+ compress: _zod.z.boolean().optional(),
+ configOrigin: _zod.z.string().optional(),
+ crossOrigin: _zod.z.union([
+ _zod.z.literal('anonymous'),
+ _zod.z.literal('use-credentials')
+ ]).optional(),
+ deploymentId: _zod.z.string().optional(),
+ devIndicators: _zod.z.union([
+ _zod.z.object({
+ buildActivityPosition: _zod.z.union([
+ _zod.z.literal('bottom-left'),
+ _zod.z.literal('bottom-right'),
+ _zod.z.literal('top-left'),
+ _zod.z.literal('top-right')
+ ]).optional(),
+ position: _zod.z.union([
+ _zod.z.literal('bottom-left'),
+ _zod.z.literal('bottom-right'),
+ _zod.z.literal('top-left'),
+ _zod.z.literal('top-right')
+ ]).optional()
+ }),
+ _zod.z.literal(false)
+ ]).optional(),
+ distDir: _zod.z.string().min(1).optional(),
+ env: _zod.z.record(_zod.z.string(), _zod.z.union([
+ _zod.z.string(),
+ _zod.z.undefined()
+ ])).optional(),
+ eslint: _zod.z.strictObject({
+ dirs: _zod.z.array(_zod.z.string().min(1)).optional(),
+ ignoreDuringBuilds: _zod.z.boolean().optional()
+ }).optional(),
+ excludeDefaultMomentLocales: _zod.z.boolean().optional(),
+ experimental: _zod.z.strictObject({
+ adapterPath: _zod.z.string().optional(),
+ useSkewCookie: _zod.z.boolean().optional(),
+ nodeMiddleware: _zod.z.boolean().optional(),
+ after: _zod.z.boolean().optional(),
+ appDocumentPreloading: _zod.z.boolean().optional(),
+ appNavFailHandling: _zod.z.boolean().optional(),
+ preloadEntriesOnStart: _zod.z.boolean().optional(),
+ allowedRevalidateHeaderKeys: _zod.z.array(_zod.z.string()).optional(),
+ amp: _zod.z.object({
+ // AMP optimizer option is unknown, use z.any() here
+ optimizer: _zod.z.any().optional(),
+ skipValidation: _zod.z.boolean().optional(),
+ validator: _zod.z.string().optional()
+ }).optional(),
+ staleTimes: _zod.z.object({
+ dynamic: _zod.z.number().optional(),
+ static: _zod.z.number().optional()
+ }).optional(),
+ cacheLife: _zod.z.record(_zod.z.object({
+ stale: _zod.z.number().optional(),
+ revalidate: _zod.z.number().optional(),
+ expire: _zod.z.number().optional()
+ })).optional(),
+ cacheHandlers: _zod.z.record(_zod.z.string(), _zod.z.string().optional()).optional(),
+ clientRouterFilter: _zod.z.boolean().optional(),
+ clientRouterFilterRedirects: _zod.z.boolean().optional(),
+ clientRouterFilterAllowedRate: _zod.z.number().optional(),
+ cpus: _zod.z.number().optional(),
+ memoryBasedWorkersCount: _zod.z.boolean().optional(),
+ craCompat: _zod.z.boolean().optional(),
+ caseSensitiveRoutes: _zod.z.boolean().optional(),
+ clientSegmentCache: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.literal('client-only')
+ ]).optional(),
+ dynamicOnHover: _zod.z.boolean().optional(),
+ disableOptimizedLoading: _zod.z.boolean().optional(),
+ disablePostcssPresetEnv: _zod.z.boolean().optional(),
+ dynamicIO: _zod.z.boolean().optional(),
+ inlineCss: _zod.z.boolean().optional(),
+ esmExternals: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.literal('loose')
+ ]).optional(),
+ serverActions: _zod.z.object({
+ bodySizeLimit: zSizeLimit.optional(),
+ allowedOrigins: _zod.z.array(_zod.z.string()).optional()
+ }).optional(),
+ // The original type was Record
+ extensionAlias: _zod.z.record(_zod.z.string(), _zod.z.any()).optional(),
+ externalDir: _zod.z.boolean().optional(),
+ externalMiddlewareRewritesResolve: _zod.z.boolean().optional(),
+ fallbackNodePolyfills: _zod.z.literal(false).optional(),
+ fetchCacheKeyPrefix: _zod.z.string().optional(),
+ forceSwcTransforms: _zod.z.boolean().optional(),
+ fullySpecified: _zod.z.boolean().optional(),
+ gzipSize: _zod.z.boolean().optional(),
+ imgOptConcurrency: _zod.z.number().int().optional().nullable(),
+ imgOptTimeoutInSeconds: _zod.z.number().int().optional(),
+ imgOptMaxInputPixels: _zod.z.number().int().optional(),
+ imgOptSequentialRead: _zod.z.boolean().optional().nullable(),
+ isrFlushToDisk: _zod.z.boolean().optional(),
+ largePageDataBytes: _zod.z.number().optional(),
+ linkNoTouchStart: _zod.z.boolean().optional(),
+ manualClientBasePath: _zod.z.boolean().optional(),
+ middlewarePrefetch: _zod.z.enum([
+ 'strict',
+ 'flexible'
+ ]).optional(),
+ multiZoneDraftMode: _zod.z.boolean().optional(),
+ cssChunking: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.literal('strict')
+ ]).optional(),
+ nextScriptWorkers: _zod.z.boolean().optional(),
+ // The critter option is unknown, use z.any() here
+ optimizeCss: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.any()
+ ]).optional(),
+ optimisticClientCache: _zod.z.boolean().optional(),
+ parallelServerCompiles: _zod.z.boolean().optional(),
+ parallelServerBuildTraces: _zod.z.boolean().optional(),
+ ppr: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.literal('incremental')
+ ]).readonly().optional(),
+ taint: _zod.z.boolean().optional(),
+ prerenderEarlyExit: _zod.z.boolean().optional(),
+ proxyTimeout: _zod.z.number().gte(0).optional(),
+ routerBFCache: _zod.z.boolean().optional(),
+ removeUncaughtErrorAndRejectionListeners: _zod.z.boolean().optional(),
+ validateRSCRequestHeaders: _zod.z.boolean().optional(),
+ scrollRestoration: _zod.z.boolean().optional(),
+ sri: _zod.z.object({
+ algorithm: _zod.z.enum([
+ 'sha256',
+ 'sha384',
+ 'sha512'
+ ]).optional()
+ }).optional(),
+ strictNextHead: _zod.z.boolean().optional(),
+ swcPlugins: _zod.z// The specific swc plugin's option is unknown, use z.any() here
+ .array(_zod.z.tuple([
+ _zod.z.string(),
+ _zod.z.record(_zod.z.string(), _zod.z.any())
+ ])).optional(),
+ swcTraceProfiling: _zod.z.boolean().optional(),
+ // NonNullable['buildHttp']
+ urlImports: _zod.z.any().optional(),
+ viewTransition: _zod.z.boolean().optional(),
+ workerThreads: _zod.z.boolean().optional(),
+ webVitalsAttribution: _zod.z.array(_zod.z.union([
+ _zod.z.literal('CLS'),
+ _zod.z.literal('FCP'),
+ _zod.z.literal('FID'),
+ _zod.z.literal('INP'),
+ _zod.z.literal('LCP'),
+ _zod.z.literal('TTFB')
+ ])).optional(),
+ // This is partial set of mdx-rs transform options we support, aligned
+ // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.
+ mdxRs: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.object({
+ development: _zod.z.boolean().optional(),
+ jsxRuntime: _zod.z.string().optional(),
+ jsxImportSource: _zod.z.string().optional(),
+ providerImportSource: _zod.z.string().optional(),
+ mdxType: _zod.z.enum([
+ 'gfm',
+ 'commonmark'
+ ]).optional()
+ })
+ ]).optional(),
+ typedRoutes: _zod.z.boolean().optional(),
+ webpackBuildWorker: _zod.z.boolean().optional(),
+ webpackMemoryOptimizations: _zod.z.boolean().optional(),
+ /**
+ * @deprecated Use `config.turbopack` instead.
+ */ turbo: zDeprecatedExperimentalTurboConfig.optional(),
+ turbopackMemoryLimit: _zod.z.number().optional(),
+ turbopackMinify: _zod.z.boolean().optional(),
+ turbopackPersistentCaching: _zod.z.boolean().optional(),
+ turbopackSourceMaps: _zod.z.boolean().optional(),
+ turbopackTreeShaking: _zod.z.boolean().optional(),
+ turbopackRemoveUnusedExports: _zod.z.boolean().optional(),
+ turbopackScopeHoisting: _zod.z.boolean().optional(),
+ optimizePackageImports: _zod.z.array(_zod.z.string()).optional(),
+ optimizeServerReact: _zod.z.boolean().optional(),
+ clientTraceMetadata: _zod.z.array(_zod.z.string()).optional(),
+ serverMinification: _zod.z.boolean().optional(),
+ enablePrerenderSourceMaps: _zod.z.boolean().optional(),
+ serverSourceMaps: _zod.z.boolean().optional(),
+ useWasmBinary: _zod.z.boolean().optional(),
+ useLightningcss: _zod.z.boolean().optional(),
+ testProxy: _zod.z.boolean().optional(),
+ defaultTestRunner: _zod.z.enum(_nexttest.SUPPORTED_TEST_RUNNERS_LIST).optional(),
+ allowDevelopmentBuild: _zod.z.literal(true).optional(),
+ reactCompiler: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.object({
+ compilationMode: _zod.z.enum([
+ 'infer',
+ 'annotation',
+ 'all'
+ ]).optional(),
+ panicThreshold: _zod.z.enum([
+ 'ALL_ERRORS',
+ 'CRITICAL_ERRORS',
+ 'NONE'
+ ]).optional()
+ }).optional()
+ ]),
+ staticGenerationRetryCount: _zod.z.number().int().optional(),
+ staticGenerationMaxConcurrency: _zod.z.number().int().optional(),
+ staticGenerationMinPagesPerWorker: _zod.z.number().int().optional(),
+ typedEnv: _zod.z.boolean().optional(),
+ serverComponentsHmrCache: _zod.z.boolean().optional(),
+ authInterrupts: _zod.z.boolean().optional(),
+ useCache: _zod.z.boolean().optional(),
+ slowModuleDetection: _zod.z.object({
+ buildTimeThresholdMs: _zod.z.number().int()
+ }).optional(),
+ globalNotFound: _zod.z.boolean().optional(),
+ devtoolSegmentExplorer: _zod.z.boolean().optional(),
+ devtoolNewPanelUI: _zod.z.boolean().optional(),
+ browserDebugInfoInTerminal: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.object({
+ depthLimit: _zod.z.number().int().positive().optional(),
+ edgeLimit: _zod.z.number().int().positive().optional(),
+ showSourceLocation: _zod.z.boolean().optional()
+ })
+ ]).optional(),
+ optimizeRouterScrolling: _zod.z.boolean().optional()
+ }).optional(),
+ exportPathMap: _zod.z.function().args(zExportMap, _zod.z.object({
+ dev: _zod.z.boolean(),
+ dir: _zod.z.string(),
+ outDir: _zod.z.string().nullable(),
+ distDir: _zod.z.string(),
+ buildId: _zod.z.string()
+ })).returns(_zod.z.union([
+ zExportMap,
+ _zod.z.promise(zExportMap)
+ ])).optional(),
+ generateBuildId: _zod.z.function().args().returns(_zod.z.union([
+ _zod.z.string(),
+ _zod.z.null(),
+ _zod.z.promise(_zod.z.union([
+ _zod.z.string(),
+ _zod.z.null()
+ ]))
+ ])).optional(),
+ generateEtags: _zod.z.boolean().optional(),
+ headers: _zod.z.function().args().returns(_zod.z.promise(_zod.z.array(zHeader))).optional(),
+ htmlLimitedBots: _zod.z.instanceof(RegExp).optional(),
+ httpAgentOptions: _zod.z.strictObject({
+ keepAlive: _zod.z.boolean().optional()
+ }).optional(),
+ i18n: _zod.z.strictObject({
+ defaultLocale: _zod.z.string().min(1),
+ domains: _zod.z.array(_zod.z.strictObject({
+ defaultLocale: _zod.z.string().min(1),
+ domain: _zod.z.string().min(1),
+ http: _zod.z.literal(true).optional(),
+ locales: _zod.z.array(_zod.z.string().min(1)).optional()
+ })).optional(),
+ localeDetection: _zod.z.literal(false).optional(),
+ locales: _zod.z.array(_zod.z.string().min(1))
+ }).nullable().optional(),
+ images: _zod.z.strictObject({
+ localPatterns: _zod.z.array(_zod.z.strictObject({
+ pathname: _zod.z.string().optional(),
+ search: _zod.z.string().optional()
+ })).max(25).optional(),
+ remotePatterns: _zod.z.array(_zod.z.union([
+ _zod.z.instanceof(URL),
+ _zod.z.strictObject({
+ hostname: _zod.z.string(),
+ pathname: _zod.z.string().optional(),
+ port: _zod.z.string().max(5).optional(),
+ protocol: _zod.z.enum([
+ 'http',
+ 'https'
+ ]).optional(),
+ search: _zod.z.string().optional()
+ })
+ ])).max(50).optional(),
+ unoptimized: _zod.z.boolean().optional(),
+ contentSecurityPolicy: _zod.z.string().optional(),
+ contentDispositionType: _zod.z.enum([
+ 'inline',
+ 'attachment'
+ ]).optional(),
+ dangerouslyAllowSVG: _zod.z.boolean().optional(),
+ deviceSizes: _zod.z.array(_zod.z.number().int().gte(1).lte(10000)).max(25).optional(),
+ disableStaticImages: _zod.z.boolean().optional(),
+ domains: _zod.z.array(_zod.z.string()).max(50).optional(),
+ formats: _zod.z.array(_zod.z.enum([
+ 'image/avif',
+ 'image/webp'
+ ])).max(4).optional(),
+ imageSizes: _zod.z.array(_zod.z.number().int().gte(1).lte(10000)).min(0).max(25).optional(),
+ loader: _zod.z.enum(_imageconfig.VALID_LOADERS).optional(),
+ loaderFile: _zod.z.string().optional(),
+ minimumCacheTTL: _zod.z.number().int().gte(0).optional(),
+ path: _zod.z.string().optional(),
+ qualities: _zod.z.array(_zod.z.number().int().gte(1).lte(100)).min(1).max(20).optional()
+ }).optional(),
+ logging: _zod.z.union([
+ _zod.z.object({
+ fetches: _zod.z.object({
+ fullUrl: _zod.z.boolean().optional(),
+ hmrRefreshes: _zod.z.boolean().optional()
+ }).optional(),
+ incomingRequests: _zod.z.union([
+ _zod.z.boolean(),
+ _zod.z.object({
+ ignore: _zod.z.array(_zod.z.instanceof(RegExp))
+ })
+ ]).optional()
+ }),
+ _zod.z.literal(false)
+ ]).optional(),
+ modularizeImports: _zod.z.record(_zod.z.string(), _zod.z.object({
+ transform: _zod.z.union([
+ _zod.z.string(),
+ _zod.z.record(_zod.z.string(), _zod.z.string())
+ ]),
+ preventFullImport: _zod.z.boolean().optional(),
+ skipDefaultConversion: _zod.z.boolean().optional()
+ })).optional(),
+ onDemandEntries: _zod.z.strictObject({
+ maxInactiveAge: _zod.z.number().optional(),
+ pagesBufferLength: _zod.z.number().optional()
+ }).optional(),
+ output: _zod.z.enum([
+ 'standalone',
+ 'export'
+ ]).optional(),
+ outputFileTracingRoot: _zod.z.string().optional(),
+ outputFileTracingExcludes: _zod.z.record(_zod.z.string(), _zod.z.array(_zod.z.string())).optional(),
+ outputFileTracingIncludes: _zod.z.record(_zod.z.string(), _zod.z.array(_zod.z.string())).optional(),
+ pageExtensions: _zod.z.array(_zod.z.string()).min(1).optional(),
+ poweredByHeader: _zod.z.boolean().optional(),
+ productionBrowserSourceMaps: _zod.z.boolean().optional(),
+ publicRuntimeConfig: _zod.z.record(_zod.z.string(), _zod.z.any()).optional(),
+ reactProductionProfiling: _zod.z.boolean().optional(),
+ reactStrictMode: _zod.z.boolean().nullable().optional(),
+ reactMaxHeadersLength: _zod.z.number().nonnegative().int().optional(),
+ redirects: _zod.z.function().args().returns(_zod.z.promise(_zod.z.array(zRedirect))).optional(),
+ rewrites: _zod.z.function().args().returns(_zod.z.promise(_zod.z.union([
+ _zod.z.array(zRewrite),
+ _zod.z.object({
+ beforeFiles: _zod.z.array(zRewrite),
+ afterFiles: _zod.z.array(zRewrite),
+ fallback: _zod.z.array(zRewrite)
+ })
+ ]))).optional(),
+ // sassOptions properties are unknown besides implementation, use z.any() here
+ sassOptions: _zod.z.object({
+ implementation: _zod.z.string().optional()
+ }).catchall(_zod.z.any()).optional(),
+ serverExternalPackages: _zod.z.array(_zod.z.string()).optional(),
+ serverRuntimeConfig: _zod.z.record(_zod.z.string(), _zod.z.any()).optional(),
+ skipMiddlewareUrlNormalize: _zod.z.boolean().optional(),
+ skipTrailingSlashRedirect: _zod.z.boolean().optional(),
+ staticPageGenerationTimeout: _zod.z.number().optional(),
+ expireTime: _zod.z.number().optional(),
+ target: _zod.z.string().optional(),
+ trailingSlash: _zod.z.boolean().optional(),
+ transpilePackages: _zod.z.array(_zod.z.string()).optional(),
+ turbopack: zTurbopackConfig.optional(),
+ typescript: _zod.z.strictObject({
+ ignoreBuildErrors: _zod.z.boolean().optional(),
+ tsconfigPath: _zod.z.string().min(1).optional()
+ }).optional(),
+ useFileSystemPublicRoutes: _zod.z.boolean().optional(),
+ // The webpack config type is unknown, use z.any() here
+ webpack: _zod.z.any().nullable().optional(),
+ watchOptions: _zod.z.strictObject({
+ pollIntervalMs: _zod.z.number().positive().finite().optional()
+ }).optional()
+ }));
+
+//# sourceMappingURL=config-schema.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-shared.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-shared.js
new file mode 100644
index 0000000000000000000000000000000000000000..bf57b5fe56546546d0f4561f18b2c519b9a01022
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-shared.js
@@ -0,0 +1,251 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ defaultConfig: null,
+ normalizeConfig: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ defaultConfig: function() {
+ return defaultConfig;
+ },
+ normalizeConfig: function() {
+ return normalizeConfig;
+ }
+});
+const _os = /*#__PURE__*/ _interop_require_default(require("os"));
+const _imageconfig = require("../shared/lib/image-config");
+const _constants = require("../lib/constants");
+const _canaryonly = require("../shared/lib/canary-only");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const defaultConfig = {
+ env: {},
+ webpack: null,
+ eslint: {
+ ignoreDuringBuilds: false
+ },
+ typescript: {
+ ignoreBuildErrors: false,
+ tsconfigPath: 'tsconfig.json'
+ },
+ distDir: '.next',
+ cleanDistDir: true,
+ assetPrefix: '',
+ cacheHandler: process.env.NEXT_CACHE_HANDLER_PATH,
+ // default to 50MB limit
+ cacheMaxMemorySize: 50 * 1024 * 1024,
+ configOrigin: 'default',
+ useFileSystemPublicRoutes: true,
+ generateBuildId: ()=>null,
+ generateEtags: true,
+ pageExtensions: [
+ 'tsx',
+ 'ts',
+ 'jsx',
+ 'js'
+ ],
+ poweredByHeader: true,
+ compress: true,
+ images: _imageconfig.imageConfigDefault,
+ devIndicators: {
+ position: 'bottom-left'
+ },
+ onDemandEntries: {
+ maxInactiveAge: 60 * 1000,
+ pagesBufferLength: 5
+ },
+ amp: {
+ canonicalBase: ''
+ },
+ basePath: '',
+ sassOptions: {},
+ trailingSlash: false,
+ i18n: null,
+ productionBrowserSourceMaps: false,
+ excludeDefaultMomentLocales: true,
+ serverRuntimeConfig: {},
+ publicRuntimeConfig: {},
+ reactProductionProfiling: false,
+ reactStrictMode: null,
+ reactMaxHeadersLength: 6000,
+ httpAgentOptions: {
+ keepAlive: true
+ },
+ logging: {},
+ compiler: {},
+ expireTime: process.env.NEXT_PRIVATE_CDN_CONSUMED_SWR_CACHE_CONTROL ? undefined : 31536000,
+ staticPageGenerationTimeout: 60,
+ output: !!process.env.NEXT_PRIVATE_STANDALONE ? 'standalone' : undefined,
+ modularizeImports: undefined,
+ outputFileTracingRoot: process.env.NEXT_PRIVATE_OUTPUT_TRACE_ROOT || '',
+ allowedDevOrigins: undefined,
+ experimental: {
+ adapterPath: process.env.NEXT_ADAPTER_PATH || undefined,
+ useSkewCookie: false,
+ nodeMiddleware: false,
+ cacheLife: {
+ default: {
+ stale: undefined,
+ revalidate: 60 * 15,
+ expire: _constants.INFINITE_CACHE
+ },
+ seconds: {
+ stale: undefined,
+ revalidate: 1,
+ expire: 60
+ },
+ minutes: {
+ stale: 60 * 5,
+ revalidate: 60,
+ expire: 60 * 60
+ },
+ hours: {
+ stale: 60 * 5,
+ revalidate: 60 * 60,
+ expire: 60 * 60 * 24
+ },
+ days: {
+ stale: 60 * 5,
+ revalidate: 60 * 60 * 24,
+ expire: 60 * 60 * 24 * 7
+ },
+ weeks: {
+ stale: 60 * 5,
+ revalidate: 60 * 60 * 24 * 7,
+ expire: 60 * 60 * 24 * 30
+ },
+ max: {
+ stale: 60 * 5,
+ revalidate: 60 * 60 * 24 * 30,
+ expire: _constants.INFINITE_CACHE
+ }
+ },
+ cacheHandlers: {
+ default: process.env.NEXT_DEFAULT_CACHE_HANDLER_PATH,
+ remote: process.env.NEXT_REMOTE_CACHE_HANDLER_PATH,
+ static: process.env.NEXT_STATIC_CACHE_HANDLER_PATH
+ },
+ cssChunking: true,
+ multiZoneDraftMode: false,
+ appNavFailHandling: false,
+ prerenderEarlyExit: true,
+ serverMinification: true,
+ // Will default to dynamicIO value.
+ enablePrerenderSourceMaps: undefined,
+ serverSourceMaps: false,
+ linkNoTouchStart: false,
+ caseSensitiveRoutes: false,
+ clientSegmentCache: // TODO: Remove once we've made clientSegmentCache the default. We're
+ // piggybacking on the PPR test flag, instead of introducing a separate
+ // CI run.
+ //
+ // If we're testing, and the `__NEXT_EXPERIMENTAL_PPR` environment
+ // variable has been set to `true`, enable the experimental
+ // clientSegmentCache feature so long as it wasn't explicitly disabled in
+ // the config.
+ !!(process.env.__NEXT_TEST_MODE && process.env.__NEXT_EXPERIMENTAL_PPR === 'true'),
+ dynamicOnHover: false,
+ appDocumentPreloading: undefined,
+ preloadEntriesOnStart: true,
+ clientRouterFilter: true,
+ clientRouterFilterRedirects: false,
+ fetchCacheKeyPrefix: '',
+ middlewarePrefetch: 'flexible',
+ optimisticClientCache: true,
+ manualClientBasePath: false,
+ cpus: Math.max(1, (Number(process.env.CIRCLE_NODE_TOTAL) || (_os.default.cpus() || {
+ length: 1
+ }).length) - 1),
+ memoryBasedWorkersCount: false,
+ imgOptConcurrency: null,
+ imgOptTimeoutInSeconds: 7,
+ imgOptMaxInputPixels: 268402689,
+ imgOptSequentialRead: null,
+ isrFlushToDisk: true,
+ workerThreads: false,
+ proxyTimeout: undefined,
+ optimizeCss: false,
+ nextScriptWorkers: false,
+ scrollRestoration: false,
+ externalDir: false,
+ disableOptimizedLoading: false,
+ gzipSize: true,
+ craCompat: false,
+ esmExternals: true,
+ fullySpecified: false,
+ swcTraceProfiling: false,
+ forceSwcTransforms: false,
+ swcPlugins: undefined,
+ largePageDataBytes: 128 * 1000,
+ disablePostcssPresetEnv: undefined,
+ amp: undefined,
+ urlImports: undefined,
+ turbo: undefined,
+ typedRoutes: false,
+ typedEnv: false,
+ clientTraceMetadata: undefined,
+ parallelServerCompiles: false,
+ parallelServerBuildTraces: false,
+ ppr: // TODO: remove once we've made PPR default
+ // If we're testing, and the `__NEXT_EXPERIMENTAL_PPR` environment variable
+ // has been set to `true`, enable the experimental PPR feature so long as it
+ // wasn't explicitly disabled in the config.
+ !!(process.env.__NEXT_TEST_MODE && process.env.__NEXT_EXPERIMENTAL_PPR === 'true'),
+ authInterrupts: false,
+ webpackBuildWorker: undefined,
+ webpackMemoryOptimizations: false,
+ optimizeServerReact: true,
+ viewTransition: false,
+ routerBFCache: false,
+ removeUncaughtErrorAndRejectionListeners: false,
+ validateRSCRequestHeaders: !!(process.env.__NEXT_TEST_MODE || !(0, _canaryonly.isStableBuild)()),
+ staleTimes: {
+ dynamic: 0,
+ static: 300
+ },
+ allowDevelopmentBuild: undefined,
+ reactCompiler: undefined,
+ staticGenerationRetryCount: undefined,
+ serverComponentsHmrCache: true,
+ staticGenerationMaxConcurrency: 8,
+ staticGenerationMinPagesPerWorker: 25,
+ dynamicIO: // TODO: remove once we've made dynamicIO the default
+ // If we're testing, and the `__NEXT_EXPERIMENTAL_CACHE_COMPONENTS` environment
+ // variable has been set to `true`, enable the experimental dynamicIO feature so long as it
+ // wasn't explicitly disabled in the config.
+ !!(process.env.__NEXT_TEST_MODE && process.env.__NEXT_EXPERIMENTAL_CACHE_COMPONENTS === 'true'),
+ inlineCss: false,
+ useCache: undefined,
+ slowModuleDetection: undefined,
+ globalNotFound: false,
+ devtoolNewPanelUI: process.env.__NEXT_DEVTOOL_NEW_PANEL_UI === 'true',
+ devtoolSegmentExplorer: process.env.__NEXT_DEVTOOL_NEW_PANEL_UI === 'true',
+ browserDebugInfoInTerminal: false,
+ optimizeRouterScrolling: false,
+ strictNextHead: true
+ },
+ htmlLimitedBots: undefined,
+ bundlePagesRouterDependencies: false
+};
+async function normalizeConfig(phase, config) {
+ if (typeof config === 'function') {
+ config = config(phase, {
+ defaultConfig
+ });
+ }
+ // Support `new Promise` and `async () =>` as return values of the config export
+ return await config;
+}
+
+//# sourceMappingURL=config-shared.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..9627a77dd85f78ec534a6c9aca524b493d5fbaa7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config-utils.js
@@ -0,0 +1,187 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "loadWebpackHook", {
+ enumerable: true,
+ get: function() {
+ return loadWebpackHook;
+ }
+});
+let installed = false;
+function loadWebpackHook() {
+ const { init: initWebpack } = require('next/dist/compiled/webpack/webpack');
+ if (installed) {
+ return;
+ }
+ installed = true;
+ initWebpack();
+ require('../server/require-hook').addHookAliases([
+ [
+ 'webpack',
+ 'next/dist/compiled/webpack/webpack-lib'
+ ],
+ [
+ 'webpack/package',
+ 'next/dist/compiled/webpack/package'
+ ],
+ [
+ 'webpack/package.json',
+ 'next/dist/compiled/webpack/package'
+ ],
+ [
+ 'webpack/lib/webpack',
+ 'next/dist/compiled/webpack/webpack-lib'
+ ],
+ [
+ 'webpack/lib/webpack.js',
+ 'next/dist/compiled/webpack/webpack-lib'
+ ],
+ [
+ 'webpack/lib/node/NodeEnvironmentPlugin',
+ 'next/dist/compiled/webpack/NodeEnvironmentPlugin'
+ ],
+ [
+ 'webpack/lib/node/NodeEnvironmentPlugin.js',
+ 'next/dist/compiled/webpack/NodeEnvironmentPlugin'
+ ],
+ [
+ 'webpack/lib/BasicEvaluatedExpression',
+ 'next/dist/compiled/webpack/BasicEvaluatedExpression'
+ ],
+ [
+ 'webpack/lib/BasicEvaluatedExpression.js',
+ 'next/dist/compiled/webpack/BasicEvaluatedExpression'
+ ],
+ [
+ 'webpack/lib/node/NodeTargetPlugin',
+ 'next/dist/compiled/webpack/NodeTargetPlugin'
+ ],
+ [
+ 'webpack/lib/node/NodeTargetPlugin.js',
+ 'next/dist/compiled/webpack/NodeTargetPlugin'
+ ],
+ [
+ 'webpack/lib/node/NodeTemplatePlugin',
+ 'next/dist/compiled/webpack/NodeTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/node/NodeTemplatePlugin.js',
+ 'next/dist/compiled/webpack/NodeTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/LibraryTemplatePlugin',
+ 'next/dist/compiled/webpack/LibraryTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/LibraryTemplatePlugin.js',
+ 'next/dist/compiled/webpack/LibraryTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/SingleEntryPlugin',
+ 'next/dist/compiled/webpack/SingleEntryPlugin'
+ ],
+ [
+ 'webpack/lib/SingleEntryPlugin.js',
+ 'next/dist/compiled/webpack/SingleEntryPlugin'
+ ],
+ [
+ 'webpack/lib/optimize/LimitChunkCountPlugin',
+ 'next/dist/compiled/webpack/LimitChunkCountPlugin'
+ ],
+ [
+ 'webpack/lib/optimize/LimitChunkCountPlugin.js',
+ 'next/dist/compiled/webpack/LimitChunkCountPlugin'
+ ],
+ [
+ 'webpack/lib/webworker/WebWorkerTemplatePlugin',
+ 'next/dist/compiled/webpack/WebWorkerTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/webworker/WebWorkerTemplatePlugin.js',
+ 'next/dist/compiled/webpack/WebWorkerTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/ExternalsPlugin',
+ 'next/dist/compiled/webpack/ExternalsPlugin'
+ ],
+ [
+ 'webpack/lib/ExternalsPlugin.js',
+ 'next/dist/compiled/webpack/ExternalsPlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileWasmTemplatePlugin',
+ 'next/dist/compiled/webpack/FetchCompileWasmTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileWasmTemplatePlugin.js',
+ 'next/dist/compiled/webpack/FetchCompileWasmTemplatePlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileWasmPlugin',
+ 'next/dist/compiled/webpack/FetchCompileWasmPlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileWasmPlugin.js',
+ 'next/dist/compiled/webpack/FetchCompileWasmPlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileAsyncWasmPlugin',
+ 'next/dist/compiled/webpack/FetchCompileAsyncWasmPlugin'
+ ],
+ [
+ 'webpack/lib/web/FetchCompileAsyncWasmPlugin.js',
+ 'next/dist/compiled/webpack/FetchCompileAsyncWasmPlugin'
+ ],
+ [
+ 'webpack/lib/ModuleFilenameHelpers',
+ 'next/dist/compiled/webpack/ModuleFilenameHelpers'
+ ],
+ [
+ 'webpack/lib/ModuleFilenameHelpers.js',
+ 'next/dist/compiled/webpack/ModuleFilenameHelpers'
+ ],
+ [
+ 'webpack/lib/GraphHelpers',
+ 'next/dist/compiled/webpack/GraphHelpers'
+ ],
+ [
+ 'webpack/lib/GraphHelpers.js',
+ 'next/dist/compiled/webpack/GraphHelpers'
+ ],
+ [
+ 'webpack/lib/NormalModule',
+ 'next/dist/compiled/webpack/NormalModule'
+ ],
+ [
+ 'webpack-sources',
+ 'next/dist/compiled/webpack/sources'
+ ],
+ [
+ 'webpack-sources/lib',
+ 'next/dist/compiled/webpack/sources'
+ ],
+ [
+ 'webpack-sources/lib/index',
+ 'next/dist/compiled/webpack/sources'
+ ],
+ [
+ 'webpack-sources/lib/index.js',
+ 'next/dist/compiled/webpack/sources'
+ ],
+ [
+ '@babel/runtime',
+ 'next/dist/compiled/@babel/runtime/package.json'
+ ],
+ [
+ '@babel/runtime/package.json',
+ 'next/dist/compiled/@babel/runtime/package.json'
+ ]
+ ].map(// Use dynamic require.resolve to avoid statically analyzable since they're only for build time
+ ([request, replacement])=>[
+ request,
+ require.resolve(replacement)
+ ]));
+}
+
+//# sourceMappingURL=config-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config.js
new file mode 100644
index 0000000000000000000000000000000000000000..f69966dda7b605580eee3e939bd8e07703cae52e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/config.js
@@ -0,0 +1,1213 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ addConfiguredExperimentalFeature: null,
+ default: null,
+ normalizeConfig: null,
+ warnOptionHasBeenDeprecated: null,
+ warnOptionHasBeenMovedOutOfExperimental: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ addConfiguredExperimentalFeature: function() {
+ return addConfiguredExperimentalFeature;
+ },
+ default: function() {
+ return loadConfig;
+ },
+ normalizeConfig: function() {
+ return _configshared.normalizeConfig;
+ },
+ warnOptionHasBeenDeprecated: function() {
+ return warnOptionHasBeenDeprecated;
+ },
+ warnOptionHasBeenMovedOutOfExperimental: function() {
+ return warnOptionHasBeenMovedOutOfExperimental;
+ }
+});
+const _fs = require("fs");
+const _path = require("path");
+const _url = require("url");
+const _findup = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/find-up"));
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
+const _ciinfo = /*#__PURE__*/ _interop_require_wildcard(require("../server/ci-info"));
+const _constants = require("../shared/lib/constants");
+const _configshared = require("./config-shared");
+const _configutils = require("./config-utils");
+const _imageconfig = require("../shared/lib/image-config");
+const _env = require("@next/env");
+const _flushandexit = require("../telemetry/flush-and-exit");
+const _findroot = require("../lib/find-root");
+const _setuphttpagentenv = require("./setup-http-agent-env");
+const _pathhasprefix = require("../shared/lib/router/utils/path-has-prefix");
+const _matchremotepattern = require("../shared/lib/match-remote-pattern");
+const _transpileconfig = require("../build/next-config-ts/transpile-config");
+const _dset = require("../shared/lib/dset");
+const _zod = require("../shared/lib/zod");
+const _isbot = require("../shared/lib/router/utils/is-bot");
+const _findpagesdir = require("../lib/find-pages-dir");
+const _canaryonly = require("../shared/lib/canary-only");
+const _interopdefault = require("../lib/interop-default");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+function normalizeNextConfigZodErrors(error) {
+ let shouldExit = false;
+ const issues = (0, _zod.normalizeZodErrors)(error);
+ return [
+ issues.flatMap(({ issue, message })=>{
+ if (issue.path[0] === 'images') {
+ // We exit the build when encountering an error in the images config
+ shouldExit = true;
+ }
+ return message;
+ }),
+ shouldExit
+ ];
+}
+function warnOptionHasBeenDeprecated(config, nestedPropertyKey, reason, silent) {
+ let hasWarned = false;
+ if (!silent) {
+ let current = config;
+ let found = true;
+ const nestedPropertyKeys = nestedPropertyKey.split('.');
+ for (const key of nestedPropertyKeys){
+ if (current[key] !== undefined) {
+ current = current[key];
+ } else {
+ found = false;
+ break;
+ }
+ }
+ if (found) {
+ _log.warnOnce(reason);
+ hasWarned = true;
+ }
+ }
+ return hasWarned;
+}
+function warnOptionHasBeenMovedOutOfExperimental(config, oldExperimentalKey, newKey, configFileName, silent) {
+ if (config.experimental && oldExperimentalKey in config.experimental) {
+ if (!silent) {
+ _log.warn(`\`experimental.${oldExperimentalKey}\` has been moved to \`${newKey}\`. ` + `Please update your ${configFileName} file accordingly.`);
+ }
+ let current = config;
+ const newKeys = newKey.split('.');
+ while(newKeys.length > 1){
+ const key = newKeys.shift();
+ current[key] = current[key] || {};
+ current = current[key];
+ }
+ current[newKeys.shift()] = config.experimental[oldExperimentalKey];
+ }
+ return config;
+}
+function warnCustomizedOption(config, key, defaultValue, customMessage, configFileName, silent) {
+ const segs = key.split('.');
+ let current = config;
+ while(segs.length >= 1){
+ const seg = segs.shift();
+ if (!(seg in current)) {
+ return;
+ }
+ current = current[seg];
+ }
+ if (!silent && current !== defaultValue) {
+ _log.warn(`The "${key}" option has been modified. ${customMessage ? customMessage + '. ' : ''}It should be removed from your ${configFileName}.`);
+ }
+}
+function assignDefaults(dir, userConfig, silent) {
+ var _defaultConfig_experimental, _defaultConfig_experimental1, _result_experimental, _result_experimental1, _result_experimental_serverActions, _result_experimental2, _result_turbopack, _result_turbopack1, _result_turbopack2, _result_devIndicators, _result_experimental3, _result_experimental4;
+ const configFileName = userConfig.configFileName;
+ if (typeof userConfig.exportTrailingSlash !== 'undefined') {
+ if (!silent) {
+ _log.warn(`The "exportTrailingSlash" option has been renamed to "trailingSlash". Please update your ${configFileName}.`);
+ }
+ if (typeof userConfig.trailingSlash === 'undefined') {
+ userConfig.trailingSlash = userConfig.exportTrailingSlash;
+ }
+ delete userConfig.exportTrailingSlash;
+ }
+ const config = Object.keys(userConfig).reduce((currentConfig, key)=>{
+ const value = userConfig[key];
+ if (value === undefined || value === null) {
+ return currentConfig;
+ }
+ if (key === 'distDir') {
+ if (typeof value !== 'string') {
+ throw Object.defineProperty(new Error(`Specified distDir is not a string, found type "${typeof value}"`), "__NEXT_ERROR_CODE", {
+ value: "E206",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const userDistDir = value.trim();
+ // don't allow public as the distDir as this is a reserved folder for
+ // public files
+ if (userDistDir === 'public') {
+ throw Object.defineProperty(new Error(`The 'public' directory is reserved in Next.js and can not be set as the 'distDir'. https://nextjs.org/docs/messages/can-not-output-to-public`), "__NEXT_ERROR_CODE", {
+ value: "E221",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // make sure distDir isn't an empty string as it can result in the provided
+ // directory being deleted in development mode
+ if (userDistDir.length === 0) {
+ throw Object.defineProperty(new Error(`Invalid distDir provided, distDir can not be an empty string. Please remove this config or set it to undefined`), "__NEXT_ERROR_CODE", {
+ value: "E391",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (key === 'pageExtensions') {
+ if (!Array.isArray(value)) {
+ throw Object.defineProperty(new Error(`Specified pageExtensions is not an array of strings, found "${value}". Please update this config or remove it.`), "__NEXT_ERROR_CODE", {
+ value: "E140",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!value.length) {
+ throw Object.defineProperty(new Error(`Specified pageExtensions is an empty array. Please update it with the relevant extensions or remove it.`), "__NEXT_ERROR_CODE", {
+ value: "E43",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ value.forEach((ext)=>{
+ if (typeof ext !== 'string') {
+ throw Object.defineProperty(new Error(`Specified pageExtensions is not an array of strings, found "${ext}" of type "${typeof ext}". Please update this config or remove it.`), "__NEXT_ERROR_CODE", {
+ value: "E108",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ });
+ }
+ const defaultValue = _configshared.defaultConfig[key];
+ if (!!value && value.constructor === Object && typeof defaultValue === 'object') {
+ currentConfig[key] = {
+ ...defaultValue,
+ ...Object.keys(value).reduce((c, k)=>{
+ const v = value[k];
+ if (v !== undefined && v !== null) {
+ c[k] = v;
+ }
+ return c;
+ }, {})
+ };
+ } else {
+ currentConfig[key] = value;
+ }
+ return currentConfig;
+ }, {});
+ // TODO: remove these once we've made PPR default
+ // If this was defaulted to true, it implies that the configuration was
+ // overridden for testing to be defaulted on.
+ if ((_defaultConfig_experimental = _configshared.defaultConfig.experimental) == null ? void 0 : _defaultConfig_experimental.ppr) {
+ _log.warn(`\`experimental.ppr\` has been defaulted to \`true\` because \`__NEXT_EXPERIMENTAL_PPR\` was set to \`true\` during testing.`);
+ }
+ if ((_defaultConfig_experimental1 = _configshared.defaultConfig.experimental) == null ? void 0 : _defaultConfig_experimental1.dynamicIO) {
+ _log.warn(`\`experimental.dynamicIO\` has been defaulted to \`true\` because \`__NEXT_EXPERIMENTAL_CACHE_COMPONENTS\` was set to \`true\` during testing.`);
+ }
+ const result = {
+ ..._configshared.defaultConfig,
+ ...config,
+ experimental: {
+ ..._configshared.defaultConfig.experimental,
+ ...config.experimental
+ }
+ };
+ // ensure correct default is set for api-resolver revalidate handling
+ if (!((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.trustHostHeader) && _ciinfo.hasNextSupport) {
+ result.experimental.trustHostHeader = true;
+ }
+ if (((_result_experimental1 = result.experimental) == null ? void 0 : _result_experimental1.allowDevelopmentBuild) && process.env.NODE_ENV !== 'development') {
+ throw Object.defineProperty(new Error(`The experimental.allowDevelopmentBuild option requires NODE_ENV to be explicitly set to 'development'.`), "__NEXT_ERROR_CODE", {
+ value: "E195",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if ((0, _canaryonly.isStableBuild)()) {
+ var _result_experimental5, _result_experimental6, _result_experimental7, _result_experimental8;
+ // Prevents usage of certain experimental features outside of canary
+ if ((_result_experimental5 = result.experimental) == null ? void 0 : _result_experimental5.ppr) {
+ throw Object.defineProperty(new _canaryonly.CanaryOnlyError({
+ feature: 'experimental.ppr'
+ }), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ } else if ((_result_experimental6 = result.experimental) == null ? void 0 : _result_experimental6.dynamicIO) {
+ throw Object.defineProperty(new _canaryonly.CanaryOnlyError({
+ feature: 'experimental.dynamicIO'
+ }), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ } else if ((_result_experimental7 = result.experimental) == null ? void 0 : _result_experimental7.turbopackPersistentCaching) {
+ throw Object.defineProperty(new _canaryonly.CanaryOnlyError({
+ feature: 'experimental.turbopackPersistentCaching'
+ }), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ } else if ((_result_experimental8 = result.experimental) == null ? void 0 : _result_experimental8.nodeMiddleware) {
+ throw Object.defineProperty(new _canaryonly.CanaryOnlyError({
+ feature: 'experimental.nodeMiddleware'
+ }), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (result.output === 'export') {
+ if (result.i18n) {
+ throw Object.defineProperty(new Error('Specified "i18n" cannot be used with "output: export". See more info here: https://nextjs.org/docs/messages/export-no-i18n'), "__NEXT_ERROR_CODE", {
+ value: "E493",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!_ciinfo.hasNextSupport) {
+ if (result.rewrites) {
+ _log.warn('Specified "rewrites" will not automatically work with "output: export". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes');
+ }
+ if (result.redirects) {
+ _log.warn('Specified "redirects" will not automatically work with "output: export". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes');
+ }
+ if (result.headers) {
+ _log.warn('Specified "headers" will not automatically work with "output: export". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes');
+ }
+ }
+ }
+ if (typeof result.assetPrefix !== 'string') {
+ throw Object.defineProperty(new Error(`Specified assetPrefix is not a string, found type "${typeof result.assetPrefix}" https://nextjs.org/docs/messages/invalid-assetprefix`), "__NEXT_ERROR_CODE", {
+ value: "E68",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof result.basePath !== 'string') {
+ throw Object.defineProperty(new Error(`Specified basePath is not a string, found type "${typeof result.basePath}"`), "__NEXT_ERROR_CODE", {
+ value: "E326",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (result.basePath !== '') {
+ if (result.basePath === '/') {
+ throw Object.defineProperty(new Error(`Specified basePath /. basePath has to be either an empty string or a path prefix"`), "__NEXT_ERROR_CODE", {
+ value: "E95",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!result.basePath.startsWith('/')) {
+ throw Object.defineProperty(new Error(`Specified basePath has to start with a /, found "${result.basePath}"`), "__NEXT_ERROR_CODE", {
+ value: "E105",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (result.basePath !== '/') {
+ var _result_amp;
+ if (result.basePath.endsWith('/')) {
+ throw Object.defineProperty(new Error(`Specified basePath should not end with /, found "${result.basePath}"`), "__NEXT_ERROR_CODE", {
+ value: "E39",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (result.assetPrefix === '') {
+ result.assetPrefix = result.basePath;
+ }
+ if (((_result_amp = result.amp) == null ? void 0 : _result_amp.canonicalBase) === '') {
+ result.amp.canonicalBase = result.basePath;
+ }
+ }
+ }
+ if (result == null ? void 0 : result.images) {
+ const images = result.images;
+ if (typeof images !== 'object') {
+ throw Object.defineProperty(new Error(`Specified images should be an object received ${typeof images}.\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`), "__NEXT_ERROR_CODE", {
+ value: "E171",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (images.localPatterns) {
+ if (!Array.isArray(images.localPatterns)) {
+ throw Object.defineProperty(new Error(`Specified images.localPatterns should be an Array received ${typeof images.localPatterns}.\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`), "__NEXT_ERROR_CODE", {
+ value: "E118",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // avoid double-pushing the same pattern if it already exists
+ const hasMatch = images.localPatterns.some((pattern)=>pattern.pathname === '/_next/static/media/**' && pattern.search === '');
+ if (!hasMatch) {
+ // static import images are automatically allowed
+ images.localPatterns.push({
+ pathname: '/_next/static/media/**',
+ search: ''
+ });
+ }
+ }
+ if (images.remotePatterns) {
+ var _config_assetPrefix;
+ if (!Array.isArray(images.remotePatterns)) {
+ throw Object.defineProperty(new Error(`Specified images.remotePatterns should be an Array received ${typeof images.remotePatterns}.\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`), "__NEXT_ERROR_CODE", {
+ value: "E27",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // We must convert URL to RemotePattern since URL has a colon in the protocol
+ // and also has additional properties we want to filter out. Also, new URL()
+ // accepts any protocol so we need manual validation here.
+ images.remotePatterns = images.remotePatterns.map(({ protocol, hostname, port, pathname, search })=>{
+ const proto = protocol == null ? void 0 : protocol.replace(/:$/, '');
+ if (![
+ 'http',
+ 'https',
+ undefined
+ ].includes(proto)) {
+ throw Object.defineProperty(new Error(`Specified images.remotePatterns must have protocol "http" or "https" received "${proto}".`), "__NEXT_ERROR_CODE", {
+ value: "E671",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return {
+ protocol: proto,
+ hostname,
+ port,
+ pathname,
+ search
+ };
+ });
+ // static images are automatically prefixed with assetPrefix
+ // so we need to ensure _next/image allows downloading from
+ // this resource
+ if ((_config_assetPrefix = config.assetPrefix) == null ? void 0 : _config_assetPrefix.startsWith('http')) {
+ try {
+ const url = new URL(config.assetPrefix);
+ const hasMatchForAssetPrefix = images.remotePatterns.some((pattern)=>(0, _matchremotepattern.matchRemotePattern)(pattern, url));
+ // avoid double-pushing the same pattern if it already can be matched
+ if (!hasMatchForAssetPrefix) {
+ images.remotePatterns.push({
+ hostname: url.hostname,
+ protocol: url.protocol.replace(/:$/, ''),
+ port: url.port
+ });
+ }
+ } catch (error) {
+ throw Object.defineProperty(new Error(`Invalid assetPrefix provided. Original error: ${error}`), "__NEXT_ERROR_CODE", {
+ value: "E343",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ }
+ if (images.domains) {
+ if (!Array.isArray(images.domains)) {
+ throw Object.defineProperty(new Error(`Specified images.domains should be an Array received ${typeof images.domains}.\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`), "__NEXT_ERROR_CODE", {
+ value: "E402",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (!images.loader) {
+ images.loader = 'default';
+ }
+ if (images.loader !== 'default' && images.loader !== 'custom' && images.path === _imageconfig.imageConfigDefault.path) {
+ throw Object.defineProperty(new Error(`Specified images.loader property (${images.loader}) also requires images.path property to be assigned to a URL prefix.\nSee more info here: https://nextjs.org/docs/api-reference/next/legacy/image#loader-configuration`), "__NEXT_ERROR_CODE", {
+ value: "E228",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (images.path === _imageconfig.imageConfigDefault.path && result.basePath && !(0, _pathhasprefix.pathHasPrefix)(images.path, result.basePath)) {
+ images.path = `${result.basePath}${images.path}`;
+ }
+ // Append trailing slash for non-default loaders and when trailingSlash is set
+ if (images.path && !images.path.endsWith('/') && (images.loader !== 'default' || result.trailingSlash)) {
+ images.path += '/';
+ }
+ if (images.loaderFile) {
+ if (images.loader !== 'default' && images.loader !== 'custom') {
+ throw Object.defineProperty(new Error(`Specified images.loader property (${images.loader}) cannot be used with images.loaderFile property. Please set images.loader to "custom".`), "__NEXT_ERROR_CODE", {
+ value: "E449",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const absolutePath = (0, _path.join)(dir, images.loaderFile);
+ if (!(0, _fs.existsSync)(absolutePath)) {
+ throw Object.defineProperty(new Error(`Specified images.loaderFile does not exist at "${absolutePath}".`), "__NEXT_ERROR_CODE", {
+ value: "E461",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ images.loaderFile = absolutePath;
+ }
+ }
+ if (result.experimental.devtoolNewPanelUI) {
+ result.experimental.devtoolSegmentExplorer = true;
+ }
+ warnCustomizedOption(result, 'experimental.esmExternals', true, 'experimental.esmExternals is not recommended to be modified as it may disrupt module resolution', configFileName, silent);
+ warnOptionHasBeenDeprecated(result, 'experimental.instrumentationHook', `\`experimental.instrumentationHook\` is no longer needed, because \`instrumentation.js\` is available by default. You can remove it from ${configFileName}.`, silent);
+ warnOptionHasBeenDeprecated(result, 'experimental.after', `\`experimental.after\` is no longer needed, because \`after\` is available by default. You can remove it from ${configFileName}.`, silent);
+ warnOptionHasBeenDeprecated(result, 'devIndicators.appIsrStatus', `\`devIndicators.appIsrStatus\` is deprecated and no longer configurable. Please remove it from ${configFileName}.`, silent);
+ warnOptionHasBeenDeprecated(result, 'devIndicators.buildActivity', `\`devIndicators.buildActivity\` is deprecated and no longer configurable. Please remove it from ${configFileName}.`, silent);
+ const hasWarnedBuildActivityPosition = warnOptionHasBeenDeprecated(result, 'devIndicators.buildActivityPosition', `\`devIndicators.buildActivityPosition\` has been renamed to \`devIndicators.position\`. Please update your ${configFileName} file accordingly.`, silent);
+ if (hasWarnedBuildActivityPosition && result.devIndicators !== false && 'buildActivityPosition' in result.devIndicators && result.devIndicators.buildActivityPosition !== result.devIndicators.position) {
+ _log.warnOnce(`The \`devIndicators\` option \`buildActivityPosition\` ("${result.devIndicators.buildActivityPosition}") conflicts with \`position\` ("${result.devIndicators.position}"). Using \`buildActivityPosition\` ("${result.devIndicators.buildActivityPosition}") for backward compatibility.`);
+ result.devIndicators.position = result.devIndicators.buildActivityPosition;
+ }
+ warnOptionHasBeenMovedOutOfExperimental(result, 'bundlePagesExternals', 'bundlePagesRouterDependencies', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'serverComponentsExternalPackages', 'serverExternalPackages', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'relay', 'compiler.relay', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'styledComponents', 'compiler.styledComponents', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'emotion', 'compiler.emotion', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'reactRemoveProperties', 'compiler.reactRemoveProperties', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'removeConsole', 'compiler.removeConsole', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'swrDelta', 'expireTime', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'outputFileTracingRoot', 'outputFileTracingRoot', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'outputFileTracingIncludes', 'outputFileTracingIncludes', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'outputFileTracingExcludes', 'outputFileTracingExcludes', configFileName, silent);
+ if (result.experimental.outputStandalone) {
+ if (!silent) {
+ _log.warn(`experimental.outputStandalone has been renamed to "output: 'standalone'", please move the config.`);
+ }
+ result.output = 'standalone';
+ }
+ if (typeof ((_result_experimental2 = result.experimental) == null ? void 0 : (_result_experimental_serverActions = _result_experimental2.serverActions) == null ? void 0 : _result_experimental_serverActions.bodySizeLimit) !== 'undefined') {
+ var _result_experimental_serverActions1;
+ const value = parseInt((_result_experimental_serverActions1 = result.experimental.serverActions) == null ? void 0 : _result_experimental_serverActions1.bodySizeLimit.toString());
+ if (isNaN(value) || value < 1) {
+ throw Object.defineProperty(new Error('Server Actions Size Limit must be a valid number or filesize format larger than 1MB: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit'), "__NEXT_ERROR_CODE", {
+ value: "E100",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ warnOptionHasBeenMovedOutOfExperimental(result, 'transpilePackages', 'transpilePackages', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'skipMiddlewareUrlNormalize', 'skipMiddlewareUrlNormalize', configFileName, silent);
+ warnOptionHasBeenMovedOutOfExperimental(result, 'skipTrailingSlashRedirect', 'skipTrailingSlashRedirect', configFileName, silent);
+ if ((result == null ? void 0 : result.outputFileTracingRoot) && !(0, _path.isAbsolute)(result.outputFileTracingRoot)) {
+ result.outputFileTracingRoot = (0, _path.resolve)(result.outputFileTracingRoot);
+ if (!silent) {
+ _log.warn(`outputFileTracingRoot should be absolute, using: ${result.outputFileTracingRoot}`);
+ }
+ }
+ if ((result == null ? void 0 : (_result_turbopack = result.turbopack) == null ? void 0 : _result_turbopack.root) && !(0, _path.isAbsolute)(result.turbopack.root)) {
+ result.turbopack.root = (0, _path.resolve)(result.turbopack.root);
+ if (!silent) {
+ _log.warn(`turbopack.root should be absolute, using: ${result.turbopack.root}`);
+ }
+ }
+ // only leverage deploymentId
+ if (process.env.NEXT_DEPLOYMENT_ID) {
+ result.deploymentId = process.env.NEXT_DEPLOYMENT_ID;
+ }
+ if ((result == null ? void 0 : result.outputFileTracingRoot) && !(result == null ? void 0 : (_result_turbopack1 = result.turbopack) == null ? void 0 : _result_turbopack1.root)) {
+ (0, _dset.dset)(result, [
+ 'turbopack',
+ 'root'
+ ], result.outputFileTracingRoot);
+ }
+ // use the highest level lockfile as tracing root
+ if (!(result == null ? void 0 : result.outputFileTracingRoot) || !(result == null ? void 0 : (_result_turbopack2 = result.turbopack) == null ? void 0 : _result_turbopack2.root)) {
+ let rootDir = (0, _findroot.findRootDir)(dir);
+ if (rootDir) {
+ var _result_turbopack3;
+ if (!(result == null ? void 0 : result.outputFileTracingRoot)) {
+ result.outputFileTracingRoot = rootDir;
+ }
+ if (!(result == null ? void 0 : (_result_turbopack3 = result.turbopack) == null ? void 0 : _result_turbopack3.root)) {
+ (0, _dset.dset)(result, [
+ 'turbopack',
+ 'root'
+ ], rootDir);
+ }
+ }
+ }
+ (0, _setuphttpagentenv.setHttpClientAndAgentOptions)(result || _configshared.defaultConfig);
+ if (result.i18n) {
+ const hasAppDir = Boolean((0, _findpagesdir.findDir)(dir, 'app'));
+ if (hasAppDir) {
+ warnOptionHasBeenDeprecated(result, 'i18n', `i18n configuration in ${configFileName} is unsupported in App Router.\nLearn more about internationalization in App Router: https://nextjs.org/docs/app/building-your-application/routing/internationalization`, silent);
+ }
+ const { i18n } = result;
+ const i18nType = typeof i18n;
+ if (i18nType !== 'object') {
+ throw Object.defineProperty(new Error(`Specified i18n should be an object received ${i18nType}.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E148",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!Array.isArray(i18n.locales)) {
+ throw Object.defineProperty(new Error(`Specified i18n.locales should be an Array received ${typeof i18n.locales}.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E227",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (i18n.locales.length > 100 && !silent) {
+ _log.warn(`Received ${i18n.locales.length} i18n.locales items which exceeds the recommended max of 100.\nSee more info here: https://nextjs.org/docs/advanced-features/i18n-routing#how-does-this-work-with-static-generation`);
+ }
+ const defaultLocaleType = typeof i18n.defaultLocale;
+ if (!i18n.defaultLocale || defaultLocaleType !== 'string') {
+ throw Object.defineProperty(new Error(`Specified i18n.defaultLocale should be a string.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E441",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof i18n.domains !== 'undefined' && !Array.isArray(i18n.domains)) {
+ throw Object.defineProperty(new Error(`Specified i18n.domains must be an array of domain objects e.g. [ { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] } ] received ${typeof i18n.domains}.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E456",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (i18n.domains) {
+ const invalidDomainItems = i18n.domains.filter((item)=>{
+ var _i18n_domains;
+ if (!item || typeof item !== 'object') return true;
+ if (!item.defaultLocale) return true;
+ if (!item.domain || typeof item.domain !== 'string') return true;
+ if (item.domain.includes(':')) {
+ console.warn(`i18n domain: "${item.domain}" is invalid it should be a valid domain without protocol (https://) or port (:3000) e.g. example.vercel.sh`);
+ return true;
+ }
+ const defaultLocaleDuplicate = (_i18n_domains = i18n.domains) == null ? void 0 : _i18n_domains.find((altItem)=>altItem.defaultLocale === item.defaultLocale && altItem.domain !== item.domain);
+ if (!silent && defaultLocaleDuplicate) {
+ console.warn(`Both ${item.domain} and ${defaultLocaleDuplicate.domain} configured the defaultLocale ${item.defaultLocale} but only one can. Change one item's default locale to continue`);
+ return true;
+ }
+ let hasInvalidLocale = false;
+ if (Array.isArray(item.locales)) {
+ for (const locale of item.locales){
+ if (typeof locale !== 'string') hasInvalidLocale = true;
+ for (const domainItem of i18n.domains || []){
+ if (domainItem === item) continue;
+ if (domainItem.locales && domainItem.locales.includes(locale)) {
+ console.warn(`Both ${item.domain} and ${domainItem.domain} configured the locale (${locale}) but only one can. Remove it from one i18n.domains config to continue`);
+ hasInvalidLocale = true;
+ break;
+ }
+ }
+ }
+ }
+ return hasInvalidLocale;
+ });
+ if (invalidDomainItems.length > 0) {
+ throw Object.defineProperty(new Error(`Invalid i18n.domains values:\n${invalidDomainItems.map((item)=>JSON.stringify(item)).join('\n')}\n\ndomains value must follow format { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] }.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E413",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (!Array.isArray(i18n.locales)) {
+ throw Object.defineProperty(new Error(`Specified i18n.locales must be an array of locale strings e.g. ["en-US", "nl-NL"] received ${typeof i18n.locales}.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E432",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const invalidLocales = i18n.locales.filter((locale)=>typeof locale !== 'string');
+ if (invalidLocales.length > 0) {
+ throw Object.defineProperty(new Error(`Specified i18n.locales contains invalid values (${invalidLocales.map(String).join(', ')}), locales must be valid locale tags provided as strings e.g. "en-US".\n` + `See here for list of valid language sub-tags: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry`), "__NEXT_ERROR_CODE", {
+ value: "E71",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!i18n.locales.includes(i18n.defaultLocale)) {
+ throw Object.defineProperty(new Error(`Specified i18n.defaultLocale should be included in i18n.locales.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E515",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const normalizedLocales = new Set();
+ const duplicateLocales = new Set();
+ i18n.locales.forEach((locale)=>{
+ const localeLower = locale.toLowerCase();
+ if (normalizedLocales.has(localeLower)) {
+ duplicateLocales.add(locale);
+ }
+ normalizedLocales.add(localeLower);
+ });
+ if (duplicateLocales.size > 0) {
+ throw Object.defineProperty(new Error(`Specified i18n.locales contains the following duplicate locales:\n` + `${[
+ ...duplicateLocales
+ ].join(', ')}\n` + `Each locale should be listed only once.\n` + `See more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E471",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // make sure default Locale is at the front
+ i18n.locales = [
+ i18n.defaultLocale,
+ ...i18n.locales.filter((locale)=>locale !== i18n.defaultLocale)
+ ];
+ const localeDetectionType = typeof i18n.localeDetection;
+ if (localeDetectionType !== 'boolean' && localeDetectionType !== 'undefined') {
+ throw Object.defineProperty(new Error(`Specified i18n.localeDetection should be undefined or a boolean received ${localeDetectionType}.\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`), "__NEXT_ERROR_CODE", {
+ value: "E439",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (result.devIndicators !== false && ((_result_devIndicators = result.devIndicators) == null ? void 0 : _result_devIndicators.position)) {
+ const { position } = result.devIndicators;
+ const allowedValues = [
+ 'top-left',
+ 'top-right',
+ 'bottom-left',
+ 'bottom-right'
+ ];
+ if (!allowedValues.includes(position)) {
+ throw Object.defineProperty(new Error(`Invalid "devIndicator.position" provided, expected one of ${allowedValues.join(', ')}, received ${position}`), "__NEXT_ERROR_CODE", {
+ value: "E643",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (result.experimental) {
+ var _defaultConfig_experimental2, _defaultConfig_experimental_cacheLife, _defaultConfig_experimental3, _defaultConfig_experimental_staleTimes, _defaultConfig_experimental4;
+ result.experimental.cacheLife = {
+ ...(_defaultConfig_experimental2 = _configshared.defaultConfig.experimental) == null ? void 0 : _defaultConfig_experimental2.cacheLife,
+ ...result.experimental.cacheLife
+ };
+ const defaultDefault = (_defaultConfig_experimental3 = _configshared.defaultConfig.experimental) == null ? void 0 : (_defaultConfig_experimental_cacheLife = _defaultConfig_experimental3.cacheLife) == null ? void 0 : _defaultConfig_experimental_cacheLife['default'];
+ if (!defaultDefault || defaultDefault.revalidate === undefined || defaultDefault.expire === undefined || !((_defaultConfig_experimental4 = _configshared.defaultConfig.experimental) == null ? void 0 : (_defaultConfig_experimental_staleTimes = _defaultConfig_experimental4.staleTimes) == null ? void 0 : _defaultConfig_experimental_staleTimes.static)) {
+ throw Object.defineProperty(new Error('No default cacheLife profile.'), "__NEXT_ERROR_CODE", {
+ value: "E350",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const defaultCacheLifeProfile = result.experimental.cacheLife['default'];
+ if (!defaultCacheLifeProfile) {
+ result.experimental.cacheLife['default'] = defaultDefault;
+ } else {
+ if (defaultCacheLifeProfile.stale === undefined) {
+ var _result_experimental_staleTimes, _defaultConfig_experimental_staleTimes1, _defaultConfig_experimental5;
+ const staticStaleTime = (_result_experimental_staleTimes = result.experimental.staleTimes) == null ? void 0 : _result_experimental_staleTimes.static;
+ defaultCacheLifeProfile.stale = staticStaleTime ?? ((_defaultConfig_experimental5 = _configshared.defaultConfig.experimental) == null ? void 0 : (_defaultConfig_experimental_staleTimes1 = _defaultConfig_experimental5.staleTimes) == null ? void 0 : _defaultConfig_experimental_staleTimes1.static);
+ }
+ if (defaultCacheLifeProfile.revalidate === undefined) {
+ defaultCacheLifeProfile.revalidate = defaultDefault.revalidate;
+ }
+ if (defaultCacheLifeProfile.expire === undefined) {
+ defaultCacheLifeProfile.expire = result.expireTime ?? defaultDefault.expire;
+ }
+ }
+ // This is the most dynamic cache life profile.
+ const secondsCacheLifeProfile = result.experimental.cacheLife['seconds'];
+ if (secondsCacheLifeProfile && secondsCacheLifeProfile.stale === undefined) {
+ var _result_experimental_staleTimes1, _defaultConfig_experimental_staleTimes2, _defaultConfig_experimental6;
+ // We default this to whatever stale time you had configured for dynamic content.
+ // Since this is basically a dynamic cache life profile.
+ const dynamicStaleTime = (_result_experimental_staleTimes1 = result.experimental.staleTimes) == null ? void 0 : _result_experimental_staleTimes1.dynamic;
+ secondsCacheLifeProfile.stale = dynamicStaleTime ?? ((_defaultConfig_experimental6 = _configshared.defaultConfig.experimental) == null ? void 0 : (_defaultConfig_experimental_staleTimes2 = _defaultConfig_experimental6.staleTimes) == null ? void 0 : _defaultConfig_experimental_staleTimes2.dynamic);
+ }
+ }
+ if ((_result_experimental3 = result.experimental) == null ? void 0 : _result_experimental3.cacheHandlers) {
+ const allowedHandlerNameRegex = /[a-z-]/;
+ if (typeof result.experimental.cacheHandlers !== 'object') {
+ throw Object.defineProperty(new Error(`Invalid "experimental.cacheHandlers" provided, expected an object e.g. { default: '/my-handler.js' }, received ${JSON.stringify(result.experimental.cacheHandlers)}`), "__NEXT_ERROR_CODE", {
+ value: "E197",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const handlerKeys = Object.keys(result.experimental.cacheHandlers);
+ const invalidHandlerItems = [];
+ for (const key of handlerKeys){
+ if (!allowedHandlerNameRegex.test(key)) {
+ invalidHandlerItems.push({
+ key,
+ reason: 'key must only use characters a-z and -'
+ });
+ } else {
+ const handlerPath = result.experimental.cacheHandlers[key];
+ if (handlerPath && !(0, _fs.existsSync)(handlerPath)) {
+ invalidHandlerItems.push({
+ key,
+ reason: `cache handler path provided does not exist, received ${handlerPath}`
+ });
+ }
+ }
+ if (invalidHandlerItems.length) {
+ throw Object.defineProperty(new Error(`Invalid handler fields configured for "experimental.cacheHandler":\n${invalidHandlerItems.map((item)=>`${key}: ${item.reason}`).join('\n')}`), "__NEXT_ERROR_CODE", {
+ value: "E217",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ }
+ const userProvidedModularizeImports = result.modularizeImports;
+ // Unfortunately these packages end up re-exporting 10600 modules, for example: https://unpkg.com/browse/@mui/icons-material@5.11.16/esm/index.js.
+ // Leveraging modularizeImports tremendously reduces compile times for these.
+ result.modularizeImports = {
+ ...userProvidedModularizeImports || {},
+ // This is intentionally added after the user-provided modularizeImports config.
+ '@mui/icons-material': {
+ transform: '@mui/icons-material/{{member}}'
+ },
+ lodash: {
+ transform: 'lodash/{{member}}'
+ }
+ };
+ const userProvidedOptimizePackageImports = ((_result_experimental4 = result.experimental) == null ? void 0 : _result_experimental4.optimizePackageImports) || [];
+ result.experimental.optimizePackageImports = [
+ ...new Set([
+ ...userProvidedOptimizePackageImports,
+ 'lucide-react',
+ 'date-fns',
+ 'lodash-es',
+ 'ramda',
+ 'antd',
+ 'react-bootstrap',
+ 'ahooks',
+ '@ant-design/icons',
+ '@headlessui/react',
+ '@headlessui-float/react',
+ '@heroicons/react/20/solid',
+ '@heroicons/react/24/solid',
+ '@heroicons/react/24/outline',
+ '@visx/visx',
+ '@tremor/react',
+ 'rxjs',
+ '@mui/material',
+ '@mui/icons-material',
+ 'recharts',
+ 'react-use',
+ 'effect',
+ '@effect/schema',
+ '@effect/platform',
+ '@effect/platform-node',
+ '@effect/platform-browser',
+ '@effect/platform-bun',
+ '@effect/sql',
+ '@effect/sql-mssql',
+ '@effect/sql-mysql2',
+ '@effect/sql-pg',
+ '@effect/sql-sqlite-node',
+ '@effect/sql-sqlite-bun',
+ '@effect/sql-sqlite-wasm',
+ '@effect/sql-sqlite-react-native',
+ '@effect/rpc',
+ '@effect/rpc-http',
+ '@effect/typeclass',
+ '@effect/experimental',
+ '@effect/opentelemetry',
+ '@material-ui/core',
+ '@material-ui/icons',
+ '@tabler/icons-react',
+ 'mui-core',
+ // We don't support wildcard imports for these configs, e.g. `react-icons/*`
+ // so we need to add them manually.
+ // In the future, we should consider automatically detecting packages that
+ // need to be optimized.
+ 'react-icons/ai',
+ 'react-icons/bi',
+ 'react-icons/bs',
+ 'react-icons/cg',
+ 'react-icons/ci',
+ 'react-icons/di',
+ 'react-icons/fa',
+ 'react-icons/fa6',
+ 'react-icons/fc',
+ 'react-icons/fi',
+ 'react-icons/gi',
+ 'react-icons/go',
+ 'react-icons/gr',
+ 'react-icons/hi',
+ 'react-icons/hi2',
+ 'react-icons/im',
+ 'react-icons/io',
+ 'react-icons/io5',
+ 'react-icons/lia',
+ 'react-icons/lib',
+ 'react-icons/lu',
+ 'react-icons/md',
+ 'react-icons/pi',
+ 'react-icons/ri',
+ 'react-icons/rx',
+ 'react-icons/si',
+ 'react-icons/sl',
+ 'react-icons/tb',
+ 'react-icons/tfi',
+ 'react-icons/ti',
+ 'react-icons/vsc',
+ 'react-icons/wi'
+ ])
+ ];
+ if (!result.htmlLimitedBots) {
+ // @ts-expect-error: override the htmlLimitedBots with default string, type covert: RegExp -> string
+ result.htmlLimitedBots = _isbot.HTML_LIMITED_BOT_UA_RE_STRING;
+ }
+ // "use cache" was originally implicitly enabled with the dynamicIO flag, so
+ // we transfer the value for dynamicIO to the explicit useCache flag to ensure
+ // backwards compatibility.
+ if (result.experimental.useCache === undefined) {
+ result.experimental.useCache = result.experimental.dynamicIO;
+ }
+ // If dynamicIO is enabled, we also enable PPR.
+ if (result.experimental.dynamicIO) {
+ var _userConfig_experimental, _userConfig_experimental1;
+ if (((_userConfig_experimental = userConfig.experimental) == null ? void 0 : _userConfig_experimental.ppr) === false || ((_userConfig_experimental1 = userConfig.experimental) == null ? void 0 : _userConfig_experimental1.ppr) === 'incremental') {
+ var _userConfig_experimental2;
+ throw Object.defineProperty(new Error(`\`experimental.ppr\` can not be \`${JSON.stringify((_userConfig_experimental2 = userConfig.experimental) == null ? void 0 : _userConfig_experimental2.ppr)}\` when \`experimental.dynamicIO\` is \`true\`. PPR is implicitly enabled when Dynamic IO is enabled.`), "__NEXT_ERROR_CODE", {
+ value: "E686",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ result.experimental.ppr = true;
+ }
+ return result;
+}
+async function applyModifyConfig(config, phase, silent) {
+ var _config_experimental;
+ if (// TODO: should this be called for server start as
+ // adapters shouldn't be relying on "next start"
+ [
+ _constants.PHASE_PRODUCTION_BUILD,
+ _constants.PHASE_PRODUCTION_SERVER
+ ].includes(phase) && ((_config_experimental = config.experimental) == null ? void 0 : _config_experimental.adapterPath)) {
+ const adapterMod = (0, _interopdefault.interopDefault)(await import((0, _url.pathToFileURL)(require.resolve(config.experimental.adapterPath)).href));
+ if (typeof adapterMod.modifyConfig === 'function') {
+ if (!silent) {
+ _log.info(`Applying modifyConfig from ${adapterMod.name}`);
+ }
+ config = await adapterMod.modifyConfig(config);
+ }
+ }
+ return config;
+}
+async function loadConfig(phase, dir, { customConfig, rawConfig, silent = true, reportExperimentalFeatures, reactProductionProfiling, debugPrerender } = {}) {
+ if (!process.env.__NEXT_PRIVATE_RENDER_WORKER) {
+ try {
+ (0, _configutils.loadWebpackHook)();
+ } catch (err) {
+ // this can fail in standalone mode as the files
+ // aren't traced/included
+ if (!process.env.__NEXT_PRIVATE_STANDALONE_CONFIG) {
+ throw err;
+ }
+ }
+ }
+ if (process.env.__NEXT_PRIVATE_STANDALONE_CONFIG) {
+ // we don't apply assignDefaults or modifyConfig here as it
+ // has already been applied
+ return JSON.parse(process.env.__NEXT_PRIVATE_STANDALONE_CONFIG);
+ }
+ const curLog = silent ? {
+ warn: ()=>{},
+ info: ()=>{},
+ error: ()=>{}
+ } : _log;
+ (0, _env.loadEnvConfig)(dir, phase === _constants.PHASE_DEVELOPMENT_SERVER, curLog);
+ let configFileName = 'next.config.js';
+ if (customConfig) {
+ return await applyModifyConfig(assignDefaults(dir, {
+ configOrigin: 'server',
+ configFileName,
+ ...customConfig
+ }, silent), phase, silent);
+ }
+ const path = await (0, _findup.default)(_constants.CONFIG_FILES, {
+ cwd: dir
+ });
+ // If config file was found
+ if (path == null ? void 0 : path.length) {
+ var _userConfig_amp, _userConfig_experimental_turbo, _userConfig_experimental, _userConfig_experimental_turbo1, _userConfig_experimental1, _userConfig_experimental2, _userConfig_experimental3;
+ configFileName = (0, _path.basename)(path);
+ let userConfigModule;
+ try {
+ const envBefore = Object.assign({}, process.env);
+ // `import()` expects url-encoded strings, so the path must be properly
+ // escaped and (especially on Windows) absolute paths must pe prefixed
+ // with the `file://` protocol
+ if (process.env.__NEXT_TEST_MODE === 'jest') {
+ // dynamic import does not currently work inside of vm which
+ // jest relies on so we fall back to require for this case
+ // https://github.com/nodejs/node/issues/35889
+ userConfigModule = require(path);
+ } else if (configFileName === 'next.config.ts') {
+ userConfigModule = await (0, _transpileconfig.transpileConfig)({
+ nextConfigPath: path,
+ configFileName,
+ cwd: dir
+ });
+ } else {
+ userConfigModule = await import((0, _url.pathToFileURL)(path).href);
+ }
+ const newEnv = {};
+ for (const key of Object.keys(process.env)){
+ if (envBefore[key] !== process.env[key]) {
+ newEnv[key] = process.env[key];
+ }
+ }
+ (0, _env.updateInitialEnv)(newEnv);
+ if (rawConfig) {
+ return userConfigModule;
+ }
+ } catch (err) {
+ // TODO: Modify docs to add cases of failing next.config.ts transformation
+ curLog.error(`Failed to load ${configFileName}, see more info here https://nextjs.org/docs/messages/next-config-error`);
+ throw err;
+ }
+ const loadedConfig = Object.freeze(await (0, _configshared.normalizeConfig)(phase, (0, _interopdefault.interopDefault)(userConfigModule)));
+ const configuredExperimentalFeatures = [];
+ if (reportExperimentalFeatures && loadedConfig.experimental) {
+ for (const name of Object.keys(loadedConfig.experimental)){
+ const value = loadedConfig.experimental[name];
+ if (name === 'turbo' && !process.env.TURBOPACK) {
+ continue;
+ }
+ addConfiguredExperimentalFeature(configuredExperimentalFeatures, name, value);
+ }
+ }
+ // Clone a new userConfig each time to avoid mutating the original
+ const userConfig = cloneObject(loadedConfig);
+ if (!process.env.NEXT_MINIMAL) {
+ // We only validate the config against schema in non minimal mode
+ const { configSchema } = require('./config-schema');
+ const state = configSchema.safeParse(userConfig);
+ if (state.success === false) {
+ // error message header
+ const messages = [
+ `Invalid ${configFileName} options detected: `
+ ];
+ const [errorMessages, shouldExit] = normalizeNextConfigZodErrors(state.error);
+ // ident list item
+ for (const error of errorMessages){
+ messages.push(` ${error}`);
+ }
+ // error message footer
+ messages.push('See more info here: https://nextjs.org/docs/messages/invalid-next-config');
+ if (shouldExit) {
+ for (const message of messages){
+ console.error(message);
+ }
+ await (0, _flushandexit.flushAndExit)(1);
+ } else {
+ for (const message of messages){
+ curLog.warn(message);
+ }
+ }
+ }
+ }
+ if (userConfig.target && userConfig.target !== 'server') {
+ throw Object.defineProperty(new Error(`The "target" property is no longer supported in ${configFileName}.\n` + 'See more info here https://nextjs.org/docs/messages/deprecated-target-config'), "__NEXT_ERROR_CODE", {
+ value: "E478",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if ((_userConfig_amp = userConfig.amp) == null ? void 0 : _userConfig_amp.canonicalBase) {
+ const { canonicalBase } = userConfig.amp || {};
+ userConfig.amp = userConfig.amp || {};
+ userConfig.amp.canonicalBase = ((canonicalBase == null ? void 0 : canonicalBase.endsWith('/')) ? canonicalBase.slice(0, -1) : canonicalBase) || '';
+ }
+ if (reactProductionProfiling) {
+ userConfig.reactProductionProfiling = reactProductionProfiling;
+ }
+ if (((_userConfig_experimental = userConfig.experimental) == null ? void 0 : (_userConfig_experimental_turbo = _userConfig_experimental.turbo) == null ? void 0 : _userConfig_experimental_turbo.loaders) && !((_userConfig_experimental1 = userConfig.experimental) == null ? void 0 : (_userConfig_experimental_turbo1 = _userConfig_experimental1.turbo) == null ? void 0 : _userConfig_experimental_turbo1.rules)) {
+ curLog.warn('experimental.turbo.loaders is now deprecated. Please update next.config.js to use experimental.turbo.rules as soon as possible.\n' + 'The new option is similar, but the key should be a glob instead of an extension.\n' + 'Example: loaders: { ".mdx": ["mdx-loader"] } -> rules: { "*.mdx": ["mdx-loader"] }" }\n' + 'See more info here https://nextjs.org/docs/app/api-reference/next-config-js/turbo');
+ const rules = {};
+ for (const [ext, loaders] of Object.entries(userConfig.experimental.turbo.loaders)){
+ rules['*' + ext] = loaders;
+ }
+ userConfig.experimental.turbo.rules = rules;
+ }
+ if ((_userConfig_experimental2 = userConfig.experimental) == null ? void 0 : _userConfig_experimental2.turbo) {
+ curLog.warn('The config property `experimental.turbo` is deprecated. Move this setting to `config.turbopack` as Turbopack is now stable.');
+ // Merge the two configs, preferring values in `config.turbopack`.
+ userConfig.turbopack = {
+ ...userConfig.experimental.turbo,
+ ...userConfig.turbopack
+ };
+ userConfig.experimental.turbopackMemoryLimit ??= userConfig.experimental.turbo.memoryLimit;
+ userConfig.experimental.turbopackMinify ??= userConfig.experimental.turbo.minify;
+ userConfig.experimental.turbopackTreeShaking ??= userConfig.experimental.turbo.treeShaking;
+ userConfig.experimental.turbopackSourceMaps ??= userConfig.experimental.turbo.sourceMaps;
+ }
+ if ((_userConfig_experimental3 = userConfig.experimental) == null ? void 0 : _userConfig_experimental3.useLightningcss) {
+ var _css, _this;
+ const { loadBindings } = require('../build/swc');
+ const isLightningSupported = (_this = await loadBindings()) == null ? void 0 : (_css = _this.css) == null ? void 0 : _css.lightning;
+ if (!isLightningSupported) {
+ curLog.warn(`experimental.useLightningcss is set, but the setting is disabled because next-swc/wasm does not support it yet.`);
+ userConfig.experimental.useLightningcss = false;
+ }
+ }
+ // serialize the regex config into string
+ if ((userConfig == null ? void 0 : userConfig.htmlLimitedBots) instanceof RegExp) {
+ // @ts-expect-error: override the htmlLimitedBots with default string, type covert: RegExp -> string
+ userConfig.htmlLimitedBots = userConfig.htmlLimitedBots.source;
+ }
+ if (userConfig.experimental && userConfig.experimental.enablePrerenderSourceMaps === undefined && userConfig.experimental.dynamicIO === true) {
+ userConfig.experimental.enablePrerenderSourceMaps = true;
+ addConfiguredExperimentalFeature(configuredExperimentalFeatures, 'enablePrerenderSourceMaps', true, 'enabled by `experimental.dynamicIO`');
+ }
+ if (debugPrerender && (phase === _constants.PHASE_PRODUCTION_BUILD || phase === _constants.PHASE_EXPORT)) {
+ userConfig.experimental ??= {};
+ setExperimentalFeatureForDebugPrerender(userConfig.experimental, 'serverSourceMaps', true, reportExperimentalFeatures ? configuredExperimentalFeatures : undefined);
+ setExperimentalFeatureForDebugPrerender(userConfig.experimental, process.env.TURBOPACK ? 'turbopackMinify' : 'serverMinification', false, reportExperimentalFeatures ? configuredExperimentalFeatures : undefined);
+ setExperimentalFeatureForDebugPrerender(userConfig.experimental, 'enablePrerenderSourceMaps', true, reportExperimentalFeatures ? configuredExperimentalFeatures : undefined);
+ setExperimentalFeatureForDebugPrerender(userConfig.experimental, 'prerenderEarlyExit', false, reportExperimentalFeatures ? configuredExperimentalFeatures : undefined);
+ }
+ if (reportExperimentalFeatures) {
+ reportExperimentalFeatures(configuredExperimentalFeatures);
+ }
+ const completeConfig = assignDefaults(dir, {
+ configOrigin: (0, _path.relative)(dir, path),
+ configFile: path,
+ configFileName,
+ ...userConfig
+ }, silent);
+ return await applyModifyConfig(completeConfig, phase, silent);
+ } else {
+ const configBaseName = (0, _path.basename)(_constants.CONFIG_FILES[0], (0, _path.extname)(_constants.CONFIG_FILES[0]));
+ const unsupportedConfig = _findup.default.sync([
+ `${configBaseName}.cjs`,
+ `${configBaseName}.cts`,
+ `${configBaseName}.mts`,
+ `${configBaseName}.json`,
+ `${configBaseName}.jsx`,
+ `${configBaseName}.tsx`
+ ], {
+ cwd: dir
+ });
+ if (unsupportedConfig == null ? void 0 : unsupportedConfig.length) {
+ throw Object.defineProperty(new Error(`Configuring Next.js via '${(0, _path.basename)(unsupportedConfig)}' is not supported. Please replace the file with 'next.config.js', 'next.config.mjs', or 'next.config.ts'.`), "__NEXT_ERROR_CODE", {
+ value: "E203",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ // always call assignDefaults to ensure settings like
+ // reactRoot can be updated correctly even with no next.config.js
+ const completeConfig = assignDefaults(dir, {
+ ..._configshared.defaultConfig,
+ configFileName
+ }, silent);
+ (0, _setuphttpagentenv.setHttpClientAndAgentOptions)(completeConfig);
+ return await applyModifyConfig(completeConfig, phase, silent);
+}
+function addConfiguredExperimentalFeature(configuredExperimentalFeatures, key, value, reason) {
+ if (value !== _configshared.defaultConfig.experimental[key]) {
+ configuredExperimentalFeatures.push({
+ key,
+ value,
+ reason
+ });
+ }
+}
+function setExperimentalFeatureForDebugPrerender(experimentalConfig, key, value, configuredExperimentalFeatures) {
+ if (experimentalConfig[key] !== value) {
+ experimentalConfig[key] = value;
+ if (configuredExperimentalFeatures) {
+ const action = value === true ? 'enabled' : value === false ? 'disabled' : 'set';
+ const reason = `${action} by \`--debug-prerender\``;
+ addConfiguredExperimentalFeature(configuredExperimentalFeatures, key, value, reason);
+ }
+ }
+}
+function cloneObject(obj) {
+ if (obj === null || typeof obj !== 'object') {
+ return obj;
+ }
+ if (Array.isArray(obj)) {
+ return obj.map(cloneObject);
+ }
+ const keys = Object.keys(obj);
+ if (keys.length === 0) {
+ return obj;
+ }
+ return keys.reduce((acc, key)=>{
+ ;
+ acc[key] = cloneObject(obj[key]);
+ return acc;
+ }, {});
+}
+
+//# sourceMappingURL=config.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/crypto-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/crypto-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..57e234fec4d56bf37e34c4dcea7153c235199a67
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/crypto-utils.js
@@ -0,0 +1,70 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ decryptWithSecret: null,
+ encryptWithSecret: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ decryptWithSecret: function() {
+ return decryptWithSecret;
+ },
+ encryptWithSecret: function() {
+ return encryptWithSecret;
+ }
+});
+const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+// Background:
+// https://security.stackexchange.com/questions/184305/why-would-i-ever-use-aes-256-cbc-if-aes-256-gcm-is-more-secure
+const CIPHER_ALGORITHM = `aes-256-gcm`, CIPHER_KEY_LENGTH = 32, CIPHER_IV_LENGTH = 16, CIPHER_TAG_LENGTH = 16, CIPHER_SALT_LENGTH = 64;
+const PBKDF2_ITERATIONS = 100000 // https://support.1password.com/pbkdf2/
+;
+function encryptWithSecret(secret, data) {
+ const iv = _crypto.default.randomBytes(CIPHER_IV_LENGTH);
+ const salt = _crypto.default.randomBytes(CIPHER_SALT_LENGTH);
+ // https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest
+ const key = _crypto.default.pbkdf2Sync(secret, salt, PBKDF2_ITERATIONS, CIPHER_KEY_LENGTH, `sha512`);
+ const cipher = _crypto.default.createCipheriv(CIPHER_ALGORITHM, key, iv);
+ const encrypted = Buffer.concat([
+ cipher.update(data, `utf8`),
+ cipher.final()
+ ]);
+ // https://nodejs.org/api/crypto.html#crypto_cipher_getauthtag
+ const tag = cipher.getAuthTag();
+ return Buffer.concat([
+ // Data as required by:
+ // Salt for Key: https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest
+ // IV: https://nodejs.org/api/crypto.html#crypto_class_decipher
+ // Tag: https://nodejs.org/api/crypto.html#crypto_decipher_setauthtag_buffer
+ salt,
+ iv,
+ tag,
+ encrypted
+ ]).toString(`hex`);
+}
+function decryptWithSecret(secret, encryptedData) {
+ const buffer = Buffer.from(encryptedData, `hex`);
+ const salt = buffer.slice(0, CIPHER_SALT_LENGTH);
+ const iv = buffer.slice(CIPHER_SALT_LENGTH, CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH);
+ const tag = buffer.slice(CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH, CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH + CIPHER_TAG_LENGTH);
+ const encrypted = buffer.slice(CIPHER_SALT_LENGTH + CIPHER_IV_LENGTH + CIPHER_TAG_LENGTH);
+ // https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest
+ const key = _crypto.default.pbkdf2Sync(secret, salt, PBKDF2_ITERATIONS, CIPHER_KEY_LENGTH, `sha512`);
+ const decipher = _crypto.default.createDecipheriv(CIPHER_ALGORITHM, key, iv);
+ decipher.setAuthTag(tag);
+ return decipher.update(encrypted) + decipher.final(`utf8`);
+}
+
+//# sourceMappingURL=crypto-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/receive-logs.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/receive-logs.js
new file mode 100644
index 0000000000000000000000000000000000000000..440e572463f5cf8ce6c820c6ab66e1bb62fd2d56
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/receive-logs.js
@@ -0,0 +1,439 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ handleLog: null,
+ receiveBrowserLogsTurbopack: null,
+ receiveBrowserLogsWebpack: null,
+ restoreUndefined: null,
+ stripFormatSpecifiers: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ handleLog: function() {
+ return handleLog;
+ },
+ receiveBrowserLogsTurbopack: function() {
+ return receiveBrowserLogsTurbopack;
+ },
+ receiveBrowserLogsWebpack: function() {
+ return receiveBrowserLogsWebpack;
+ },
+ restoreUndefined: function() {
+ return restoreUndefined;
+ },
+ stripFormatSpecifiers: function() {
+ return stripFormatSpecifiers;
+ }
+});
+const _picocolors = require("../../../lib/picocolors");
+const _util = /*#__PURE__*/ _interop_require_default(require("util"));
+const _sourcemap = require("./source-map");
+const _forwardlogsshared = require("../../../next-devtools/shared/forward-logs-shared");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function restoreUndefined(x) {
+ if (x === _forwardlogsshared.UNDEFINED_MARKER) return undefined;
+ if (Array.isArray(x)) return x.map(restoreUndefined);
+ if (x && typeof x === 'object') {
+ for(let k in x){
+ x[k] = restoreUndefined(x[k]);
+ }
+ }
+ return x;
+}
+const methods = [
+ 'log',
+ 'info',
+ 'warn',
+ 'debug',
+ 'table',
+ 'error',
+ 'assert',
+ 'dir',
+ 'dirxml',
+ 'group',
+ 'groupCollapsed',
+ 'groupEnd'
+];
+const methodsToSkipInspect = new Set([
+ 'table',
+ 'dir',
+ 'dirxml',
+ 'group',
+ 'groupCollapsed',
+ 'groupEnd'
+]);
+// we aren't overriding console, we're just making a (slightly convoluted) helper for replaying user console methods
+const forwardConsole = {
+ ...console,
+ ...Object.fromEntries(methods.map((method)=>[
+ method,
+ (...args)=>console[method](...args.map((arg)=>methodsToSkipInspect.has(method) || typeof arg !== 'object' || arg === null ? arg : _util.default.inspect(arg, {
+ depth: Infinity,
+ colors: true
+ })))
+ ]))
+};
+async function deserializeArgData(arg) {
+ try {
+ // we want undefined to be represented as it would be in the browser from the user's perspective (otherwise it would be stripped away/shown as null)
+ if (arg === _forwardlogsshared.UNDEFINED_MARKER) {
+ return restoreUndefined(arg);
+ }
+ return restoreUndefined(JSON.parse(arg));
+ } catch {
+ return arg;
+ }
+}
+const colorError = (mapped, config)=>{
+ const colorFn = (config == null ? void 0 : config.applyColor) === undefined || config.applyColor ? _picocolors.red : (x)=>x;
+ switch(mapped.kind){
+ case 'mapped-stack':
+ case 'stack':
+ {
+ return ((config == null ? void 0 : config.prefix) ? colorFn(config == null ? void 0 : config.prefix) : '') + `\n${colorFn(mapped.stack)}`;
+ }
+ case 'with-frame-code':
+ {
+ return ((config == null ? void 0 : config.prefix) ? colorFn(config == null ? void 0 : config.prefix) : '') + `\n${colorFn(mapped.stack)}\n${mapped.frameCode}`;
+ }
+ // a more sophisticated version of this allows the user to config if they want ignored frames (but we need to be sure to source map them)
+ case 'all-ignored':
+ {
+ return (config == null ? void 0 : config.prefix) ? colorFn(config == null ? void 0 : config.prefix) : '';
+ }
+ default:
+ {}
+ }
+ mapped;
+};
+function processConsoleFormatStrings(args) {
+ /**
+ * this handles the case formatting is applied to the console log
+ * otherwise we will see the format specifier directly in the terminal output
+ */ if (args.length > 0 && typeof args[0] === 'string') {
+ const formatString = args[0];
+ if (formatString.includes('%s') || formatString.includes('%d') || formatString.includes('%i') || formatString.includes('%f') || formatString.includes('%o') || formatString.includes('%O') || formatString.includes('%c')) {
+ try {
+ const formatted = _util.default.format(...args);
+ return [
+ formatted
+ ];
+ } catch {
+ return args;
+ }
+ }
+ }
+ return args;
+}
+function stripFormatSpecifiers(args) {
+ if (args.length === 0 || typeof args[0] !== 'string') return args;
+ const fmtIn = String(args[0]);
+ const rest = args.slice(1);
+ if (!fmtIn.includes('%')) return args;
+ let fmtOut = '';
+ let argPtr = 0;
+ for(let i = 0; i < fmtIn.length; i++){
+ if (fmtIn[i] !== '%') {
+ fmtOut += fmtIn[i];
+ continue;
+ }
+ if (fmtIn[i + 1] === '%') {
+ fmtOut += '%';
+ i++;
+ continue;
+ }
+ const token = fmtIn[++i];
+ if (!token) {
+ fmtOut += '%';
+ continue;
+ }
+ if ('csdifoOj'.includes(token) || token === 'O') {
+ if (argPtr < rest.length) {
+ if (token === 'c') {
+ argPtr++;
+ } else if (token === 'o' || token === 'O' || token === 'j') {
+ const obj = rest[argPtr++];
+ fmtOut += _util.default.inspect(obj, {
+ depth: 2,
+ colors: false
+ });
+ } else {
+ // string(...) is safe for remaining specifiers
+ fmtOut += String(rest[argPtr++]);
+ }
+ }
+ continue;
+ }
+ fmtOut += '%' + token;
+ }
+ const result = [
+ fmtOut
+ ];
+ if (argPtr < rest.length) {
+ result.push(...rest.slice(argPtr));
+ }
+ return result;
+}
+async function prepareFormattedErrorArgs(entry, ctx, distDir) {
+ const mapped = await (0, _sourcemap.getSourceMappedStackFrames)(entry.stack, ctx, distDir);
+ return [
+ colorError(mapped, {
+ prefix: entry.prefix
+ })
+ ];
+}
+async function prepareConsoleArgs(entry, ctx, distDir) {
+ const deserialized = await Promise.all(entry.args.map(async (arg)=>{
+ if (arg.kind === 'arg') {
+ const data = await deserializeArgData(arg.data);
+ if (entry.method === 'warn' && typeof data === 'string') {
+ return (0, _picocolors.yellow)(data);
+ }
+ return data;
+ }
+ if (!arg.stack) return (0, _picocolors.red)(arg.prefix);
+ const mapped = await (0, _sourcemap.getSourceMappedStackFrames)(arg.stack, ctx, distDir);
+ return colorError(mapped, {
+ prefix: arg.prefix,
+ applyColor: false
+ });
+ }));
+ return processConsoleFormatStrings(deserialized);
+}
+async function prepareConsoleErrorArgs(entry, ctx, distDir) {
+ const deserialized = await Promise.all(entry.args.map(async (arg)=>{
+ if (arg.kind === 'arg') {
+ if (arg.isRejectionMessage) return (0, _picocolors.red)(arg.data);
+ return deserializeArgData(arg.data);
+ }
+ if (!arg.stack) return (0, _picocolors.red)(arg.prefix);
+ const mapped = await (0, _sourcemap.getSourceMappedStackFrames)(arg.stack, ctx, distDir);
+ return colorError(mapped, {
+ prefix: arg.prefix
+ });
+ }));
+ const mappedStack = await (0, _sourcemap.getSourceMappedStackFrames)(entry.consoleErrorStack, ctx, distDir);
+ /**
+ * don't show the stack + codeblock when there are errors present, since:
+ * - it will look overwhelming to see 2 stacks and 2 code blocks
+ * - the user already knows where the console.error is at because we append the location
+ */ const location = (0, _sourcemap.getConsoleLocation)(mappedStack);
+ if (entry.args.some((a)=>a.kind === 'formatted-error-arg')) {
+ const result = stripFormatSpecifiers(deserialized);
+ if (location) {
+ result.push((0, _picocolors.dim)(`(${location})`));
+ }
+ return result;
+ }
+ const result = [
+ ...processConsoleFormatStrings(deserialized),
+ colorError(mappedStack)
+ ];
+ if (location) {
+ result.push((0, _picocolors.dim)(`(${location})`));
+ }
+ return result;
+}
+async function handleTable(entry, browserPrefix, ctx, distDir) {
+ const deserializedArgs = await Promise.all(entry.args.map(async (arg)=>{
+ if (arg.kind === 'formatted-error-arg') {
+ return {
+ stack: arg.stack
+ };
+ }
+ return deserializeArgData(arg.data);
+ }));
+ const location = await (async ()=>{
+ if (!entry.consoleMethodStack) {
+ return;
+ }
+ const frames = await (0, _sourcemap.getSourceMappedStackFrames)(entry.consoleMethodStack, ctx, distDir);
+ return (0, _sourcemap.getConsoleLocation)(frames);
+ })();
+ // we can't inline pass browser prefix, but it looks better multiline for table anyways
+ forwardConsole.log(browserPrefix);
+ forwardConsole.table(...deserializedArgs);
+ if (location) {
+ forwardConsole.log((0, _picocolors.dim)(`(${location})`));
+ }
+}
+async function handleTrace(entry, browserPrefix, ctx, distDir) {
+ const deserializedArgs = await Promise.all(entry.args.map(async (arg)=>{
+ if (arg.kind === 'formatted-error-arg') {
+ if (!arg.stack) return (0, _picocolors.red)(arg.prefix);
+ const mapped = await (0, _sourcemap.getSourceMappedStackFrames)(arg.stack, ctx, distDir);
+ return colorError(mapped, {
+ prefix: arg.prefix
+ });
+ }
+ return deserializeArgData(arg.data);
+ }));
+ if (!entry.consoleMethodStack) {
+ forwardConsole.log(browserPrefix, ...deserializedArgs, '[Trace unavailable]');
+ return;
+ }
+ // TODO(rob): refactor so we can re-use result and not re-run the entire source map to avoid trivial post processing
+ const [mapped, mappedIgnored] = await Promise.all([
+ (0, _sourcemap.getSourceMappedStackFrames)(entry.consoleMethodStack, ctx, distDir, false),
+ (0, _sourcemap.getSourceMappedStackFrames)(entry.consoleMethodStack, ctx, distDir)
+ ]);
+ const location = (0, _sourcemap.getConsoleLocation)(mappedIgnored);
+ forwardConsole.log(browserPrefix, ...deserializedArgs, `\n${mapped.stack}`, ...location ? [
+ `\n${(0, _picocolors.dim)(`(${location})`)}`
+ ] : []);
+}
+async function handleDir(entry, browserPrefix, ctx, distDir) {
+ const loggableEntry = await prepareConsoleArgs(entry, ctx, distDir);
+ const consoleMethod = forwardConsole[entry.method] || forwardConsole.log;
+ if (entry.consoleMethodStack) {
+ const mapped = await (0, _sourcemap.getSourceMappedStackFrames)(entry.consoleMethodStack, ctx, distDir);
+ const location = (0, _picocolors.dim)(`(${(0, _sourcemap.getConsoleLocation)(mapped)})`);
+ const originalWrite = process.stdout.write.bind(process.stdout);
+ let captured = '';
+ process.stdout.write = (chunk)=>{
+ captured += chunk;
+ return true;
+ };
+ try {
+ consoleMethod(...loggableEntry);
+ } finally{
+ process.stdout.write = originalWrite;
+ }
+ const preserved = captured.replace(/\r?\n$/, '');
+ originalWrite(`${browserPrefix}${preserved} ${location}\n`);
+ return;
+ }
+ consoleMethod(browserPrefix, ...loggableEntry);
+}
+async function handleDefaultConsole(entry, browserPrefix, ctx, distDir, config) {
+ const loggableEntry = await prepareConsoleArgs(entry, ctx, distDir);
+ const withStackEntry = await (0, _sourcemap.withLocation)({
+ original: loggableEntry,
+ stack: entry.consoleMethodStack || null
+ }, ctx, distDir, config);
+ const consoleMethod = forwardConsole[entry.method] || forwardConsole.log;
+ consoleMethod(browserPrefix, ...withStackEntry);
+}
+async function handleLog(entries, ctx, distDir, config) {
+ const browserPrefix = (0, _picocolors.cyan)('[browser]');
+ for (const entry of entries){
+ try {
+ switch(entry.kind){
+ case 'console':
+ {
+ switch(entry.method){
+ case 'table':
+ {
+ // timeout based abort on source mapping result
+ await handleTable(entry, browserPrefix, ctx, distDir);
+ break;
+ }
+ // ignore frames
+ case 'trace':
+ {
+ await handleTrace(entry, browserPrefix, ctx, distDir);
+ break;
+ }
+ case 'dir':
+ {
+ await handleDir(entry, browserPrefix, ctx, distDir);
+ break;
+ }
+ // xml log thing maybe needs an impl
+ // [browser] undefined (app/page.tsx:8:11) console.group
+ // check console assert
+ default:
+ {
+ await handleDefaultConsole(entry, browserPrefix, ctx, distDir, config);
+ }
+ }
+ break;
+ }
+ // any logged errors are anything that are logged as "red" in the browser but aren't only an Error (console.error, Promise.reject(100))
+ case 'any-logged-error':
+ {
+ const consoleArgs = await prepareConsoleErrorArgs(entry, ctx, distDir);
+ forwardConsole.error(browserPrefix, ...consoleArgs);
+ break;
+ }
+ // formatted error is an explicit error event (rejections, uncaught errors)
+ case 'formatted-error':
+ {
+ const formattedArgs = await prepareFormattedErrorArgs(entry, ctx, distDir);
+ forwardConsole.error(browserPrefix, ...formattedArgs);
+ break;
+ }
+ default:
+ {}
+ }
+ } catch {
+ switch(entry.kind){
+ case 'any-logged-error':
+ {
+ const consoleArgs = await prepareConsoleErrorArgs(entry, ctx, distDir);
+ forwardConsole.error(browserPrefix, ...consoleArgs);
+ break;
+ }
+ case 'console':
+ {
+ const consoleMethod = forwardConsole[entry.method] || forwardConsole.log;
+ const consoleArgs = await prepareConsoleArgs(entry, ctx, distDir);
+ consoleMethod(browserPrefix, ...consoleArgs);
+ break;
+ }
+ case 'formatted-error':
+ {
+ forwardConsole.error(browserPrefix, `${entry.prefix}\n`, entry.stack);
+ break;
+ }
+ default:
+ {}
+ }
+ }
+ }
+}
+async function receiveBrowserLogsWebpack(opts) {
+ const { entries, router, sourceType, clientStats, serverStats, edgeServerStats, rootDirectory, distDir } = opts;
+ const isAppDirectory = router === 'app';
+ const isServer = sourceType === 'server';
+ const isEdgeServer = sourceType === 'edge-server';
+ const ctx = {
+ bundler: 'webpack',
+ isServer,
+ isEdgeServer,
+ isAppDirectory,
+ clientStats,
+ serverStats,
+ edgeServerStats,
+ rootDirectory
+ };
+ await handleLog(entries, ctx, distDir, opts.config);
+}
+async function receiveBrowserLogsTurbopack(opts) {
+ const { entries, router, sourceType, project, projectPath, distDir } = opts;
+ const isAppDirectory = router === 'app';
+ const isServer = sourceType === 'server';
+ const isEdgeServer = sourceType === 'edge-server';
+ const ctx = {
+ bundler: 'turbopack',
+ project,
+ projectPath,
+ isServer,
+ isEdgeServer,
+ isAppDirectory
+ };
+ await handleLog(entries, ctx, distDir, opts.config);
+}
+
+//# sourceMappingURL=receive-logs.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/source-map.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/source-map.js
new file mode 100644
index 0000000000000000000000000000000000000000..eba42ff5abbb4a12e2c8e0b486e0ad059f292f82
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/browser-logs/source-map.js
@@ -0,0 +1,225 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getConsoleLocation: null,
+ getSourceMappedStackFrames: null,
+ mapFramesUsingBundler: null,
+ withLocation: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getConsoleLocation: function() {
+ return getConsoleLocation;
+ },
+ getSourceMappedStackFrames: function() {
+ return getSourceMappedStackFrames;
+ },
+ mapFramesUsingBundler: function() {
+ return mapFramesUsingBundler;
+ },
+ withLocation: function() {
+ return withLocation;
+ }
+});
+const _middlewarewebpack = require("../middleware-webpack");
+const _middlewareturbopack = require("../middleware-turbopack");
+const _picocolors = require("../../../lib/picocolors");
+const _parsestack = require("../../lib/parse-stack");
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _lrucache = require("../../lib/lru-cache");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+async function mapFramesUsingBundler(frames, ctx) {
+ switch(ctx.bundler){
+ case 'webpack':
+ {
+ const { isServer, isEdgeServer, isAppDirectory, clientStats, serverStats, edgeServerStats, rootDirectory } = ctx;
+ const res = await (0, _middlewarewebpack.getOriginalStackFrames)({
+ isServer,
+ isEdgeServer,
+ isAppDirectory,
+ frames,
+ clientStats,
+ serverStats,
+ edgeServerStats,
+ rootDirectory
+ });
+ return res;
+ }
+ case 'turbopack':
+ {
+ const { project, projectPath, isServer, isEdgeServer, isAppDirectory } = ctx;
+ const res = await (0, _middlewareturbopack.getOriginalStackFrames)({
+ project,
+ projectPath,
+ frames,
+ isServer,
+ isEdgeServer,
+ isAppDirectory
+ });
+ return res;
+ }
+ default:
+ {
+ return null;
+ }
+ }
+}
+// converts _next/static/chunks/... to file:///.next/static/chunks/... for parseStack
+// todo: where does next dev overlay handle this case and re-use that logic
+function preprocessStackTrace(stackTrace, distDir) {
+ return stackTrace.split('\n').map((line)=>{
+ const match = line.match(/^(\s*at\s+.*?)\s+\(([^)]+)\)$/);
+ if (match) {
+ const [, prefix, location] = match;
+ if (location.startsWith('_next/static/') && distDir) {
+ const normalizedDistDir = distDir.replace(/\\/g, '/').replace(/\/$/, '');
+ const absolutePath = normalizedDistDir + '/' + location.slice('_next/'.length);
+ const fileUrl = `file://${_path.default.resolve(absolutePath)}`;
+ return `${prefix} (${fileUrl})`;
+ }
+ }
+ return line;
+ }).join('\n');
+}
+const cache = new _lrucache.LRUCache(25);
+async function getSourceMappedStackFramesInternal(stackTrace, ctx, distDir, ignore = true) {
+ try {
+ var _filteredFrames_find;
+ const normalizedStack = preprocessStackTrace(stackTrace, distDir);
+ const frames = (0, _parsestack.parseStack)(normalizedStack, distDir);
+ if (frames.length === 0) {
+ return {
+ kind: 'stack',
+ stack: stackTrace
+ };
+ }
+ const mappingResults = await mapFramesUsingBundler(frames, ctx);
+ const processedFrames = mappingResults.map((result, index)=>({
+ result,
+ originalFrame: frames[index]
+ })).map(({ result, originalFrame })=>{
+ var _originalStackFrame_file;
+ if (result.status === 'rejected') {
+ return {
+ kind: 'rejected',
+ frameText: formatStackFrame(originalFrame),
+ codeFrame: null
+ };
+ }
+ const { originalStackFrame, originalCodeFrame } = result.value;
+ if ((originalStackFrame == null ? void 0 : originalStackFrame.ignored) && ignore) {
+ return {
+ kind: 'ignored'
+ };
+ }
+ // should we apply this generally to dev overlay (dev overlay does not ignore chrome-extension://)
+ if (originalStackFrame == null ? void 0 : (_originalStackFrame_file = originalStackFrame.file) == null ? void 0 : _originalStackFrame_file.startsWith('chrome-extension://')) {
+ return {
+ kind: 'ignored'
+ };
+ }
+ return {
+ kind: 'success',
+ // invariant: if result is not rejected and not ignored, then original stack frame exists
+ // verifiable by tracing `getOriginalStackFrame`. The invariant exists because of bad types
+ frameText: formatStackFrame(originalStackFrame),
+ codeFrame: originalCodeFrame
+ };
+ });
+ const allIgnored = processedFrames.every((frame)=>frame.kind === 'ignored');
+ // we want to handle **all** ignored vs all/some rejected differently
+ // if all are ignored we should show no frames
+ // if all are rejected, we want to fallback to showing original stack frames
+ if (allIgnored) {
+ return {
+ kind: 'all-ignored'
+ };
+ }
+ const filteredFrames = processedFrames.filter((frame)=>frame.kind !== 'ignored');
+ if (filteredFrames.length === 0) {
+ return {
+ kind: 'stack',
+ stack: stackTrace
+ };
+ }
+ const stackOutput = filteredFrames.map((frame)=>frame.frameText).join('\n');
+ const firstFrameCode = (_filteredFrames_find = filteredFrames.find((frame)=>frame.codeFrame)) == null ? void 0 : _filteredFrames_find.codeFrame;
+ if (firstFrameCode) {
+ return {
+ kind: 'with-frame-code',
+ frameCode: firstFrameCode,
+ stack: stackOutput,
+ frames: filteredFrames
+ };
+ }
+ // i don't think this a real case, but good for exhaustion
+ return {
+ kind: 'mapped-stack',
+ stack: stackOutput,
+ frames: filteredFrames
+ };
+ } catch (error) {
+ return {
+ kind: 'stack',
+ stack: stackTrace
+ };
+ }
+}
+async function getSourceMappedStackFrames(stackTrace, ctx, distDir, ignore = true) {
+ const cacheKey = `sm_${stackTrace}-${ctx.bundler}-${ctx.isAppDirectory}-${ctx.isEdgeServer}-${ctx.isServer}-${distDir}-${ignore}`;
+ const cacheItem = cache.get(cacheKey);
+ if (cacheItem) {
+ return cacheItem;
+ }
+ const result = await getSourceMappedStackFramesInternal(stackTrace, ctx, distDir, ignore);
+ cache.set(cacheKey, result);
+ return result;
+}
+function formatStackFrame(frame) {
+ const functionName = frame.methodName || '';
+ const location = frame.file && frame.lineNumber ? `${frame.file}:${frame.lineNumber}${frame.column ? `:${frame.column}` : ''}` : frame.file || '';
+ return ` at ${functionName} (${location})`;
+}
+const withLocation = async ({ original, stack }, ctx, distDir, config)=>{
+ if (typeof config === 'object' && config.showSourceLocation === false) {
+ return original;
+ }
+ if (!stack) {
+ return original;
+ }
+ const res = await getSourceMappedStackFrames(stack, ctx, distDir);
+ const location = getConsoleLocation(res);
+ if (!location) {
+ return original;
+ }
+ return [
+ ...original,
+ (0, _picocolors.dim)(`(${location})`)
+ ];
+};
+const getConsoleLocation = (mapped)=>{
+ if (mapped.kind !== 'mapped-stack' && mapped.kind !== 'with-frame-code') {
+ return null;
+ }
+ const first = mapped.frames.at(0);
+ if (!first) {
+ return null;
+ }
+ // we don't want to show the name of parent function (at thing in stack), just source location for minimal noise
+ const match = first.frameText.match(/\(([^)]+)\)/);
+ const locationText = match ? match[1] : first.frameText;
+ return locationText;
+};
+
+//# sourceMappingURL=source-map.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/dev-indicator-server-state.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/dev-indicator-server-state.js
new file mode 100644
index 0000000000000000000000000000000000000000..56ce7d5f9a3e3c3163449f56b4ad9740b355e6aa
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/dev-indicator-server-state.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "devIndicatorServerState", {
+ enumerable: true,
+ get: function() {
+ return devIndicatorServerState;
+ }
+});
+const devIndicatorServerState = {
+ disabledUntil: 0
+};
+
+//# sourceMappingURL=dev-indicator-server-state.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/get-source-map-from-file.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/get-source-map-from-file.js
new file mode 100644
index 0000000000000000000000000000000000000000..f2aab1f3c4a64003baa8da60545d38f86ea52172
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/get-source-map-from-file.js
@@ -0,0 +1,100 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getSourceMapFromFile", {
+ enumerable: true,
+ get: function() {
+ return getSourceMapFromFile;
+ }
+});
+const _promises = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _datauritobuffer = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/data-uri-to-buffer"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function getSourceMapUrl(fileContents) {
+ const regex = /\/\/[#@] ?sourceMappingURL=([^\s'"]+)\s*$/gm;
+ let match = null;
+ for(;;){
+ let next = regex.exec(fileContents);
+ if (next == null) {
+ break;
+ }
+ match = next;
+ }
+ if (!(match && match[1])) {
+ return null;
+ }
+ return match[1].toString();
+}
+async function getSourceMapFromFile(filename) {
+ filename = filename.startsWith('file://') ? _url.default.fileURLToPath(filename) : filename;
+ let fileContents;
+ try {
+ fileContents = await _promises.default.readFile(filename, 'utf-8');
+ } catch (error) {
+ throw Object.defineProperty(new Error(`Failed to read file contents of ${filename}.`, {
+ cause: error
+ }), "__NEXT_ERROR_CODE", {
+ value: "E466",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const sourceUrl = getSourceMapUrl(fileContents);
+ if (!sourceUrl) {
+ return undefined;
+ }
+ if (sourceUrl.startsWith('data:')) {
+ let buffer;
+ try {
+ buffer = (0, _datauritobuffer.default)(sourceUrl);
+ } catch (error) {
+ throw Object.defineProperty(new Error(`Failed to parse source map URL for ${filename}.`, {
+ cause: error
+ }), "__NEXT_ERROR_CODE", {
+ value: "E199",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (buffer.type !== 'application/json') {
+ throw Object.defineProperty(new Error(`Unknown source map type for ${filename}: ${buffer.typeFull}.`), "__NEXT_ERROR_CODE", {
+ value: "E113",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ try {
+ return JSON.parse(buffer.toString());
+ } catch (error) {
+ throw Object.defineProperty(new Error(`Failed to parse source map for ${filename}.`, {
+ cause: error
+ }), "__NEXT_ERROR_CODE", {
+ value: "E318",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ const sourceMapFilename = _path.default.resolve(_path.default.dirname(filename), decodeURIComponent(sourceUrl));
+ try {
+ const sourceMapContents = await _promises.default.readFile(sourceMapFilename, 'utf-8');
+ return JSON.parse(sourceMapContents.toString());
+ } catch (error) {
+ throw Object.defineProperty(new Error(`Failed to parse source map ${sourceMapFilename}.`, {
+ cause: error
+ }), "__NEXT_ERROR_CODE", {
+ value: "E220",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+
+//# sourceMappingURL=get-source-map-from-file.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-middleware.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-middleware.js
new file mode 100644
index 0000000000000000000000000000000000000000..b0541e9b3b8dc2ec476748e796cc4640cfc731c5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-middleware.js
@@ -0,0 +1,220 @@
+// Based on https://github.com/webpack-contrib/webpack-hot-middleware/blob/9708d781ae0e46179cf8ea1a94719de4679aaf53/middleware.js
+// Included License below
+// Copyright JS Foundation and other contributors
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// 'Software'), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "WebpackHotMiddleware", {
+ enumerable: true,
+ get: function() {
+ return WebpackHotMiddleware;
+ }
+});
+const _utils = require("../../build/utils");
+const _hotreloadertypes = require("./hot-reloader-types");
+const _devindicatorserverstate = require("./dev-indicator-server-state");
+function isMiddlewareStats(stats) {
+ for (const key of stats.compilation.entrypoints.keys()){
+ if ((0, _utils.isMiddlewareFilename)(key)) {
+ return true;
+ }
+ }
+ return false;
+}
+function statsToJson(stats) {
+ if (!stats) return {};
+ return stats.toJson({
+ all: false,
+ errors: true,
+ hash: true,
+ warnings: true
+ });
+}
+function getStatsForSyncEvent(clientStats, serverStats) {
+ if (!clientStats) return serverStats == null ? void 0 : serverStats.stats;
+ if (!serverStats) return clientStats == null ? void 0 : clientStats.stats;
+ // Prefer the server compiler stats if it has errors.
+ // Otherwise we may end up in a state where the client compilation is the latest but without errors.
+ // This causes the error overlay to not display the build error.
+ if (serverStats.stats.hasErrors()) {
+ return serverStats.stats;
+ }
+ // Return the latest stats
+ return serverStats.ts > clientStats.ts ? serverStats.stats : clientStats.stats;
+}
+class EventStream {
+ constructor(){
+ this.clients = new Set();
+ }
+ close() {
+ for (const wsClient of this.clients){
+ // it's okay to not cleanly close these websocket connections, this is dev
+ wsClient.terminate();
+ }
+ this.clients.clear();
+ }
+ handler(client) {
+ this.clients.add(client);
+ client.addEventListener('close', ()=>{
+ this.clients.delete(client);
+ });
+ }
+ publish(payload) {
+ for (const wsClient of this.clients){
+ wsClient.send(JSON.stringify(payload));
+ }
+ }
+}
+class WebpackHotMiddleware {
+ constructor(compilers, versionInfo, devtoolsFrontendUrl){
+ this.onClientInvalid = ()=>{
+ var _this_serverLatestStats;
+ if (this.closed || ((_this_serverLatestStats = this.serverLatestStats) == null ? void 0 : _this_serverLatestStats.stats.hasErrors())) return;
+ this.publish({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING
+ });
+ };
+ this.onClientDone = (statsResult)=>{
+ var _this_serverLatestStats;
+ this.clientLatestStats = {
+ ts: Date.now(),
+ stats: statsResult
+ };
+ if (this.closed || ((_this_serverLatestStats = this.serverLatestStats) == null ? void 0 : _this_serverLatestStats.stats.hasErrors())) return;
+ this.publishStats(statsResult);
+ };
+ this.onServerInvalid = ()=>{
+ var _this_serverLatestStats, _this_clientLatestStats;
+ if (!((_this_serverLatestStats = this.serverLatestStats) == null ? void 0 : _this_serverLatestStats.stats.hasErrors())) return;
+ this.serverLatestStats = null;
+ if ((_this_clientLatestStats = this.clientLatestStats) == null ? void 0 : _this_clientLatestStats.stats) {
+ this.publishStats(this.clientLatestStats.stats);
+ }
+ };
+ this.onServerDone = (statsResult)=>{
+ if (this.closed) return;
+ if (statsResult.hasErrors()) {
+ this.serverLatestStats = {
+ ts: Date.now(),
+ stats: statsResult
+ };
+ this.publishStats(statsResult);
+ }
+ };
+ this.onEdgeServerInvalid = ()=>{
+ var _this_middlewareLatestStats, _this_clientLatestStats;
+ if (!((_this_middlewareLatestStats = this.middlewareLatestStats) == null ? void 0 : _this_middlewareLatestStats.stats.hasErrors())) return;
+ this.middlewareLatestStats = null;
+ if ((_this_clientLatestStats = this.clientLatestStats) == null ? void 0 : _this_clientLatestStats.stats) {
+ this.publishStats(this.clientLatestStats.stats);
+ }
+ };
+ this.onEdgeServerDone = (statsResult)=>{
+ if (this.closed) return;
+ if (!isMiddlewareStats(statsResult)) {
+ this.onServerInvalid();
+ this.onServerDone(statsResult);
+ }
+ if (statsResult.hasErrors()) {
+ this.middlewareLatestStats = {
+ ts: Date.now(),
+ stats: statsResult
+ };
+ this.publishStats(statsResult);
+ }
+ };
+ /**
+ * To sync we use the most recent stats but also we append middleware
+ * errors. This is because it is possible that middleware fails to compile
+ * and we still want to show the client overlay with the error while
+ * the error page should be rendered just fine.
+ */ this.onHMR = (client)=>{
+ if (this.closed) return;
+ this.eventStream.handler(client);
+ const syncStats = getStatsForSyncEvent(this.clientLatestStats, this.serverLatestStats);
+ if (syncStats) {
+ var _this_middlewareLatestStats;
+ const stats = statsToJson(syncStats);
+ const middlewareStats = statsToJson((_this_middlewareLatestStats = this.middlewareLatestStats) == null ? void 0 : _this_middlewareLatestStats.stats);
+ if (_devindicatorserverstate.devIndicatorServerState.disabledUntil < Date.now()) {
+ _devindicatorserverstate.devIndicatorServerState.disabledUntil = 0;
+ }
+ this.publish({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC,
+ hash: stats.hash,
+ errors: [
+ ...stats.errors || [],
+ ...middlewareStats.errors || []
+ ],
+ warnings: [
+ ...stats.warnings || [],
+ ...middlewareStats.warnings || []
+ ],
+ versionInfo: this.versionInfo,
+ debug: {
+ devtoolsFrontendUrl: this.devtoolsFrontendUrl
+ },
+ devIndicator: _devindicatorserverstate.devIndicatorServerState
+ });
+ }
+ };
+ this.publishStats = (statsResult)=>{
+ const stats = statsResult.toJson({
+ all: false,
+ hash: true,
+ warnings: true,
+ errors: true,
+ moduleTrace: true
+ });
+ this.publish({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT,
+ hash: stats.hash,
+ warnings: stats.warnings || [],
+ errors: stats.errors || []
+ });
+ };
+ this.publish = (payload)=>{
+ if (this.closed) return;
+ this.eventStream.publish(payload);
+ };
+ this.close = ()=>{
+ if (this.closed) return;
+ // Can't remove compiler plugins, so we just set a flag and noop if closed
+ // https://github.com/webpack/tapable/issues/32#issuecomment-350644466
+ this.closed = true;
+ this.eventStream.close();
+ };
+ this.eventStream = new EventStream();
+ this.clientLatestStats = null;
+ this.middlewareLatestStats = null;
+ this.serverLatestStats = null;
+ this.closed = false;
+ this.versionInfo = versionInfo;
+ this.devtoolsFrontendUrl = devtoolsFrontendUrl;
+ compilers[0].hooks.invalid.tap('webpack-hot-middleware', this.onClientInvalid);
+ compilers[0].hooks.done.tap('webpack-hot-middleware', this.onClientDone);
+ compilers[1].hooks.invalid.tap('webpack-hot-middleware', this.onServerInvalid);
+ compilers[1].hooks.done.tap('webpack-hot-middleware', this.onServerDone);
+ compilers[2].hooks.done.tap('webpack-hot-middleware', this.onEdgeServerDone);
+ compilers[2].hooks.invalid.tap('webpack-hot-middleware', this.onEdgeServerInvalid);
+ }
+}
+
+//# sourceMappingURL=hot-middleware.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-turbopack.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-turbopack.js
new file mode 100644
index 0000000000000000000000000000000000000000..20f72d60959e5a54fea85f40c6e0c140a4e75619
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-turbopack.js
@@ -0,0 +1,984 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createHotReloaderTurbopack", {
+ enumerable: true,
+ get: function() {
+ return createHotReloaderTurbopack;
+ }
+});
+const _promises = require("fs/promises");
+const _path = require("path");
+const _url = require("url");
+const _ws = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/ws"));
+const _store = require("../../build/output/store");
+const _hotreloadertypes = require("./hot-reloader-types");
+const _swc = require("../../build/swc");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _hotreloaderwebpack = require("./hot-reloader-webpack");
+const _constants = require("../../shared/lib/constants");
+const _middlewareturbopack = require("./middleware-turbopack");
+const _utils = require("../../shared/lib/utils");
+const _utils1 = require("../utils");
+const _requirecache = require("./require-cache");
+const _renderserver = require("../lib/render-server");
+const _denormalizepagepath = require("../../shared/lib/page-path/denormalize-page-path");
+const _trace = require("../../trace");
+const _turbopackutils = require("./turbopack-utils");
+const _setupdevbundler = require("../lib/router-utils/setup-dev-bundler");
+const _manifestloader = require("../../shared/lib/turbopack/manifest-loader");
+const _ondemandentryhandler = require("./on-demand-entry-handler");
+const _entrykey = require("../../shared/lib/turbopack/entry-key");
+const _messages = require("./messages");
+const _encryptionutilsserver = require("../app-render/encryption-utils-server");
+const _apppageroutedefinition = require("../route-definitions/app-page-route-definition");
+const _apppaths = require("../../shared/lib/router/utils/app-paths");
+const _utils2 = require("../lib/utils");
+const _ismetadataroute = require("../../lib/metadata/is-metadata-route");
+const _patcherrorinspect = require("../patch-error-inspect");
+const _getnexterrorfeedbackmiddleware = require("../../next-devtools/server/get-next-error-feedback-middleware");
+const _utils3 = require("../../shared/lib/turbopack/utils");
+const _getdevoverlayfontmiddleware = require("../../next-devtools/server/font/get-dev-overlay-font-middleware");
+const _devindicatorserverstate = require("./dev-indicator-server-state");
+const _devindicatormiddleware = require("../../next-devtools/server/dev-indicator-middleware");
+const _restartdevservermiddleware = require("../../next-devtools/server/restart-dev-server-middleware");
+const _compilationevents = require("../../shared/lib/turbopack/compilation-events");
+const _utils4 = require("../../build/utils");
+const _receivelogs = require("./browser-logs/receive-logs");
+const _normalizepath = require("../../lib/normalize-path");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const wsServer = new _ws.default.Server({
+ noServer: true
+});
+const isTestMode = !!(process.env.NEXT_TEST_MODE || process.env.__NEXT_TEST_MODE || process.env.DEBUG);
+const sessionId = Math.floor(Number.MAX_SAFE_INTEGER * Math.random());
+/**
+ * Replaces turbopack:///[project] with the specified project in the `source` field.
+ */ function rewriteTurbopackSources(projectRoot, sourceMap) {
+ if ('sections' in sourceMap) {
+ for (const section of sourceMap.sections){
+ rewriteTurbopackSources(projectRoot, section.map);
+ }
+ } else {
+ for(let i = 0; i < sourceMap.sources.length; i++){
+ sourceMap.sources[i] = (0, _url.pathToFileURL)((0, _path.join)(projectRoot, sourceMap.sources[i].replace(/turbopack:\/\/\/\[project\]/, ''))).toString();
+ }
+ }
+}
+function getSourceMapFromTurbopack(project, projectRoot, sourceURL) {
+ let sourceMapJson = null;
+ try {
+ sourceMapJson = project.getSourceMapSync(sourceURL);
+ } catch (err) {}
+ if (sourceMapJson === null) {
+ return undefined;
+ } else {
+ const payload = JSON.parse(sourceMapJson);
+ // The sourcemap from Turbopack is not yet written to disk so its `sources`
+ // are not absolute paths yet. We need to rewrite them to be absolute paths.
+ rewriteTurbopackSources(projectRoot, payload);
+ return payload;
+ }
+}
+async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetch) {
+ var _opts_nextConfig_turbopack, _nextConfig_watchOptions, _opts_nextConfig_experimental;
+ const dev = true;
+ const buildId = 'development';
+ const { nextConfig, dir: projectPath } = opts;
+ const { loadBindings } = require('../../build/swc');
+ let bindings = await loadBindings();
+ // For the debugging purpose, check if createNext or equivalent next instance setup in test cases
+ // works correctly. Normally `run-test` hides output so only will be visible when `--debug` flag is used.
+ if (isTestMode) {
+ ;
+ require('console').log('Creating turbopack project', {
+ dir: projectPath,
+ testMode: isTestMode
+ });
+ }
+ const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
+ const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
+ version: "15.4.3"
+ });
+ // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
+ // of the current `next dev` invocation.
+ hotReloaderSpan.stop();
+ const encryptionKey = await (0, _encryptionutilsserver.generateEncryptionKeyBase64)({
+ isBuild: false,
+ distDir
+ });
+ // TODO: Implement
+ let clientRouterFilters;
+ if (nextConfig.experimental.clientRouterFilter) {
+ // TODO this need to be set correctly for persistent caching to work
+ }
+ const supportedBrowsers = await (0, _utils4.getSupportedBrowsers)(projectPath, dev);
+ const currentNodeJsVersion = process.versions.node;
+ const rootPath = ((_opts_nextConfig_turbopack = opts.nextConfig.turbopack) == null ? void 0 : _opts_nextConfig_turbopack.root) || opts.nextConfig.outputFileTracingRoot || projectPath;
+ const project = await bindings.turbo.createProject({
+ rootPath,
+ projectPath: (0, _normalizepath.normalizePath)((0, _path.relative)(rootPath, projectPath) || '.'),
+ distDir,
+ nextConfig: opts.nextConfig,
+ jsConfig: await (0, _utils3.getTurbopackJsConfig)(projectPath, nextConfig),
+ watch: {
+ enable: dev,
+ pollIntervalMs: (_nextConfig_watchOptions = nextConfig.watchOptions) == null ? void 0 : _nextConfig_watchOptions.pollIntervalMs
+ },
+ dev,
+ env: process.env,
+ defineEnv: (0, _swc.createDefineEnv)({
+ isTurbopack: true,
+ clientRouterFilters,
+ config: nextConfig,
+ dev,
+ distDir,
+ projectPath,
+ fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,
+ hasRewrites,
+ // TODO: Implement
+ middlewareMatchers: undefined,
+ rewrites: opts.fsChecker.rewrites
+ }),
+ buildId,
+ encryptionKey,
+ previewProps: opts.fsChecker.prerenderManifest.preview,
+ browserslistQuery: supportedBrowsers.join(', '),
+ noMangling: false,
+ currentNodeJsVersion
+ }, {
+ persistentCaching: (0, _utils3.isPersistentCachingEnabled)(opts.nextConfig),
+ memoryLimit: (_opts_nextConfig_experimental = opts.nextConfig.experimental) == null ? void 0 : _opts_nextConfig_experimental.turbopackMemoryLimit
+ });
+ (0, _compilationevents.backgroundLogCompilationEvents)(project, {
+ eventTypes: [
+ 'StartupCacheInvalidationEvent'
+ ]
+ });
+ (0, _patcherrorinspect.setBundlerFindSourceMapImplementation)(getSourceMapFromTurbopack.bind(null, project, projectPath));
+ opts.onDevServerCleanup == null ? void 0 : opts.onDevServerCleanup.call(opts, async ()=>{
+ (0, _patcherrorinspect.setBundlerFindSourceMapImplementation)(()=>undefined);
+ await project.onExit();
+ });
+ const entrypointsSubscription = project.entrypointsSubscribe();
+ const currentWrittenEntrypoints = new Map();
+ const currentEntrypoints = {
+ global: {
+ app: undefined,
+ document: undefined,
+ error: undefined,
+ middleware: undefined,
+ instrumentation: undefined
+ },
+ page: new Map(),
+ app: new Map()
+ };
+ const currentTopLevelIssues = new Map();
+ const currentEntryIssues = new Map();
+ const manifestLoader = new _manifestloader.TurbopackManifestLoader({
+ buildId,
+ distDir,
+ encryptionKey
+ });
+ // Dev specific
+ const changeSubscriptions = new Map();
+ const serverPathState = new Map();
+ const readyIds = new Set();
+ let currentEntriesHandlingResolve;
+ let currentEntriesHandling = new Promise((resolve)=>currentEntriesHandlingResolve = resolve);
+ const assetMapper = new _turbopackutils.AssetMapper();
+ function clearRequireCache(key, writtenEndpoint, { force } = {}) {
+ if (force) {
+ for (const { path, contentHash } of writtenEndpoint.serverPaths){
+ serverPathState.set(path, contentHash);
+ }
+ } else {
+ // Figure out if the server files have changed
+ let hasChange = false;
+ for (const { path, contentHash } of writtenEndpoint.serverPaths){
+ // We ignore source maps
+ if (path.endsWith('.map')) continue;
+ const localKey = `${key}:${path}`;
+ const localHash = serverPathState.get(localKey);
+ const globalHash = serverPathState.get(path);
+ if (localHash && localHash !== contentHash || globalHash && globalHash !== contentHash) {
+ hasChange = true;
+ serverPathState.set(key, contentHash);
+ serverPathState.set(path, contentHash);
+ } else {
+ if (!localHash) {
+ serverPathState.set(key, contentHash);
+ }
+ if (!globalHash) {
+ serverPathState.set(path, contentHash);
+ }
+ }
+ }
+ if (!hasChange) {
+ return false;
+ }
+ }
+ resetFetch();
+ const hasAppPaths = writtenEndpoint.serverPaths.some(({ path: p })=>p.startsWith('server/app'));
+ if (hasAppPaths) {
+ (0, _requirecache.deleteFromRequireCache)(require.resolve('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js'));
+ (0, _requirecache.deleteFromRequireCache)(require.resolve('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js'));
+ }
+ const serverPaths = writtenEndpoint.serverPaths.map(({ path: p })=>(0, _path.join)(distDir, p));
+ for (const file of serverPaths){
+ (0, _renderserver.clearModuleContext)(file);
+ (0, _requirecache.deleteCache)(file);
+ }
+ return true;
+ }
+ const buildingIds = new Set();
+ const startBuilding = (id, requestUrl, forceRebuild)=>{
+ if (!forceRebuild && readyIds.has(id)) {
+ return ()=>{};
+ }
+ if (buildingIds.size === 0) {
+ _store.store.setState({
+ loading: true,
+ trigger: id,
+ url: requestUrl
+ }, true);
+ }
+ buildingIds.add(id);
+ return function finishBuilding() {
+ if (buildingIds.size === 0) {
+ return;
+ }
+ readyIds.add(id);
+ buildingIds.delete(id);
+ if (buildingIds.size === 0) {
+ hmrEventHappened = false;
+ _store.store.setState({
+ loading: false
+ }, true);
+ }
+ };
+ };
+ let hmrEventHappened = false;
+ let hmrHash = 0;
+ const clients = new Set();
+ const clientStates = new WeakMap();
+ function sendToClient(client, payload) {
+ client.send(JSON.stringify(payload));
+ }
+ function sendEnqueuedMessages() {
+ for (const [, issueMap] of currentEntryIssues){
+ if ([
+ ...issueMap.values()
+ ].filter((i)=>i.severity !== 'warning').length > 0) {
+ // During compilation errors we want to delay the HMR events until errors are fixed
+ return;
+ }
+ }
+ for (const client of clients){
+ const state = clientStates.get(client);
+ if (!state) {
+ continue;
+ }
+ for (const [, issueMap] of state.clientIssues){
+ if ([
+ ...issueMap.values()
+ ].filter((i)=>i.severity !== 'warning').length > 0) {
+ // During compilation errors we want to delay the HMR events until errors are fixed
+ return;
+ }
+ }
+ for (const payload of state.hmrPayloads.values()){
+ sendToClient(client, payload);
+ }
+ state.hmrPayloads.clear();
+ if (state.turbopackUpdates.length > 0) {
+ sendToClient(client, {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,
+ data: state.turbopackUpdates
+ });
+ state.turbopackUpdates.length = 0;
+ }
+ }
+ }
+ const sendEnqueuedMessagesDebounce = (0, _utils1.debounce)(sendEnqueuedMessages, 2);
+ const sendHmr = (id, payload)=>{
+ for (const client of clients){
+ var _clientStates_get;
+ (_clientStates_get = clientStates.get(client)) == null ? void 0 : _clientStates_get.hmrPayloads.set(id, payload);
+ }
+ hmrEventHappened = true;
+ sendEnqueuedMessagesDebounce();
+ };
+ function sendTurbopackMessage(payload) {
+ // TODO(PACK-2049): For some reason we end up emitting hundreds of issues messages on bigger apps,
+ // a lot of which are duplicates.
+ // They are currently not handled on the client at all, so might as well not send them for now.
+ payload.diagnostics = [];
+ payload.issues = [];
+ for (const client of clients){
+ var _clientStates_get;
+ (_clientStates_get = clientStates.get(client)) == null ? void 0 : _clientStates_get.turbopackUpdates.push(payload);
+ }
+ hmrEventHappened = true;
+ sendEnqueuedMessagesDebounce();
+ }
+ async function subscribeToChanges(key, includeIssues, endpoint, makePayload, onError) {
+ if (changeSubscriptions.has(key)) {
+ return;
+ }
+ const { side } = (0, _entrykey.splitEntryKey)(key);
+ const changedPromise = endpoint[`${side}Changed`](includeIssues);
+ changeSubscriptions.set(key, changedPromise);
+ try {
+ const changed = await changedPromise;
+ for await (const change of changed){
+ (0, _utils3.processIssues)(currentEntryIssues, key, change, false, true);
+ // TODO: Get an actual content hash from Turbopack.
+ const payload = await makePayload(change, String(++hmrHash));
+ if (payload) {
+ sendHmr(key, payload);
+ }
+ }
+ } catch (e) {
+ changeSubscriptions.delete(key);
+ const payload = await (onError == null ? void 0 : onError(e));
+ if (payload) {
+ sendHmr(key, payload);
+ }
+ return;
+ }
+ changeSubscriptions.delete(key);
+ }
+ async function unsubscribeFromChanges(key) {
+ const subscription = await changeSubscriptions.get(key);
+ if (subscription) {
+ await (subscription.return == null ? void 0 : subscription.return.call(subscription));
+ changeSubscriptions.delete(key);
+ }
+ currentEntryIssues.delete(key);
+ }
+ async function subscribeToHmrEvents(client, id) {
+ const key = (0, _entrykey.getEntryKey)('assets', 'client', id);
+ if (!(0, _turbopackutils.hasEntrypointForKey)(currentEntrypoints, key, assetMapper)) {
+ // maybe throw an error / force the client to reload?
+ return;
+ }
+ const state = clientStates.get(client);
+ if (!state || state.subscriptions.has(id)) {
+ return;
+ }
+ const subscription = project.hmrEvents(id);
+ state.subscriptions.set(id, subscription);
+ // The subscription will always emit once, which is the initial
+ // computation. This is not a change, so swallow it.
+ try {
+ await subscription.next();
+ for await (const data of subscription){
+ (0, _utils3.processIssues)(state.clientIssues, key, data, false, true);
+ if (data.type !== 'issues') {
+ sendTurbopackMessage(data);
+ }
+ }
+ } catch (e) {
+ // The client might be using an HMR session from a previous server, tell them
+ // to fully reload the page to resolve the issue. We can't use
+ // `hotReloader.send` since that would force every connected client to
+ // reload, only this client is out of date.
+ const reloadAction = {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in HMR event subscription for ${id}: ${e}`
+ };
+ sendToClient(client, reloadAction);
+ client.close();
+ return;
+ }
+ }
+ function unsubscribeFromHmrEvents(client, id) {
+ const state = clientStates.get(client);
+ if (!state) {
+ return;
+ }
+ const subscription = state.subscriptions.get(id);
+ subscription == null ? void 0 : subscription.return();
+ const key = (0, _entrykey.getEntryKey)('assets', 'client', id);
+ state.clientIssues.delete(key);
+ }
+ async function handleEntrypointsSubscription() {
+ for await (const entrypoints of entrypointsSubscription){
+ if (!currentEntriesHandlingResolve) {
+ currentEntriesHandling = new Promise(// eslint-disable-next-line no-loop-func
+ (resolve)=>currentEntriesHandlingResolve = resolve);
+ }
+ (0, _turbopackutils.processTopLevelIssues)(currentTopLevelIssues, entrypoints);
+ await (0, _turbopackutils.handleEntrypoints)({
+ entrypoints,
+ currentEntrypoints,
+ currentEntryIssues,
+ manifestLoader,
+ devRewrites: opts.fsChecker.rewrites,
+ productionRewrites: undefined,
+ logErrors: true,
+ dev: {
+ assetMapper,
+ changeSubscriptions,
+ clients,
+ clientStates,
+ serverFields,
+ hooks: {
+ handleWrittenEndpoint: (id, result, forceDeleteCache)=>{
+ currentWrittenEntrypoints.set(id, result);
+ return clearRequireCache(id, result, {
+ force: forceDeleteCache
+ });
+ },
+ propagateServerField: _setupdevbundler.propagateServerField.bind(null, opts),
+ sendHmr,
+ startBuilding,
+ subscribeToChanges,
+ unsubscribeFromChanges,
+ unsubscribeFromHmrEvents
+ }
+ }
+ });
+ currentEntriesHandlingResolve();
+ currentEntriesHandlingResolve = undefined;
+ }
+ }
+ await (0, _promises.mkdir)((0, _path.join)(distDir, 'server'), {
+ recursive: true
+ });
+ await (0, _promises.mkdir)((0, _path.join)(distDir, 'static', buildId), {
+ recursive: true
+ });
+ await (0, _promises.writeFile)((0, _path.join)(distDir, 'package.json'), JSON.stringify({
+ type: 'commonjs'
+ }, null, 2));
+ const middlewares = [
+ (0, _middlewareturbopack.getOverlayMiddleware)({
+ project,
+ projectPath,
+ isSrcDir: opts.isSrcDir
+ }),
+ (0, _middlewareturbopack.getSourceMapMiddleware)(project),
+ (0, _getnexterrorfeedbackmiddleware.getNextErrorFeedbackMiddleware)(opts.telemetry),
+ (0, _getdevoverlayfontmiddleware.getDevOverlayFontMiddleware)(),
+ (0, _devindicatormiddleware.getDisableDevIndicatorMiddleware)(),
+ (0, _restartdevservermiddleware.getRestartDevServerMiddleware)({
+ telemetry: opts.telemetry,
+ turbopackProject: project
+ })
+ ];
+ const versionInfoPromise = (0, _hotreloaderwebpack.getVersionInfo)();
+ let devtoolsFrontendUrl;
+ const nodeDebugType = (0, _utils2.getNodeDebugType)();
+ if (nodeDebugType) {
+ const debugPort = process.debugPort;
+ let debugInfo;
+ try {
+ // It requires to use 127.0.0.1 instead of localhost for server-side fetching.
+ const debugInfoList = await fetch(`http://127.0.0.1:${debugPort}/json/list`).then((res)=>res.json());
+ debugInfo = debugInfoList[0];
+ } catch {}
+ if (debugInfo) {
+ devtoolsFrontendUrl = debugInfo.devtoolsFrontendUrl;
+ }
+ }
+ const hotReloader = {
+ turbopackProject: project,
+ activeWebpackConfigs: undefined,
+ serverStats: null,
+ edgeServerStats: null,
+ async run (req, res, _parsedUrl) {
+ var _req_url;
+ // intercept page chunks request and ensure them with turbopack
+ if ((_req_url = req.url) == null ? void 0 : _req_url.startsWith('/_next/static/chunks/pages/')) {
+ const params = (0, _hotreloaderwebpack.matchNextPageBundleRequest)(req.url);
+ if (params) {
+ const decodedPagePath = `/${params.path.map((param)=>decodeURIComponent(param)).join('/')}`;
+ const denormalizedPagePath = (0, _denormalizepagepath.denormalizePagePath)(decodedPagePath);
+ await hotReloader.ensurePage({
+ page: denormalizedPagePath,
+ clientOnly: false,
+ definition: undefined,
+ url: req.url
+ }).catch(console.error);
+ }
+ }
+ for (const middleware of middlewares){
+ let calledNext = false;
+ await middleware(req, res, ()=>{
+ calledNext = true;
+ });
+ if (!calledNext) {
+ return {
+ finished: true
+ };
+ }
+ }
+ // Request was not finished.
+ return {
+ finished: undefined
+ };
+ },
+ // TODO: Figure out if socket type can match the NextJsHotReloaderInterface
+ onHMR (req, socket, head, onUpgrade) {
+ wsServer.handleUpgrade(req, socket, head, (client)=>{
+ onUpgrade(client);
+ const clientIssues = new Map();
+ const subscriptions = new Map();
+ clients.add(client);
+ clientStates.set(client, {
+ clientIssues,
+ hmrPayloads: new Map(),
+ turbopackUpdates: [],
+ subscriptions
+ });
+ client.on('close', ()=>{
+ // Remove active subscriptions
+ for (const subscription of subscriptions.values()){
+ subscription.return == null ? void 0 : subscription.return.call(subscription);
+ }
+ clientStates.delete(client);
+ clients.delete(client);
+ });
+ client.addEventListener('message', async ({ data })=>{
+ const parsedData = JSON.parse(typeof data !== 'string' ? data.toString() : data);
+ // Next.js messages
+ switch(parsedData.event){
+ case 'span-end':
+ {
+ hotReloaderSpan.manualTraceChild(parsedData.spanName, (0, _turbopackutils.msToNs)(parsedData.startTime), (0, _turbopackutils.msToNs)(parsedData.endTime), parsedData.attributes);
+ break;
+ }
+ case 'client-hmr-latency':
+ hotReloaderSpan.manualTraceChild(parsedData.event, (0, _turbopackutils.msToNs)(parsedData.startTime), (0, _turbopackutils.msToNs)(parsedData.endTime), {
+ updatedModules: parsedData.updatedModules,
+ page: parsedData.page,
+ isPageHidden: parsedData.isPageHidden
+ });
+ break;
+ case 'client-error':
+ case 'client-warning':
+ case 'client-success':
+ case 'server-component-reload-page':
+ case 'client-reload-page':
+ case 'client-removed-page':
+ case 'client-full-reload':
+ const { hadRuntimeError, dependencyChain } = parsedData;
+ if (hadRuntimeError) {
+ _log.warn(_messages.FAST_REFRESH_RUNTIME_RELOAD);
+ }
+ if (Array.isArray(dependencyChain) && typeof dependencyChain[0] === 'string') {
+ const cleanedModulePath = dependencyChain[0].replace(/^\[project\]/, '.').replace(/ \[.*\] \(.*\)$/, '');
+ _log.warn(`Fast Refresh had to perform a full reload when ${cleanedModulePath} changed. Read more: https://nextjs.org/docs/messages/fast-refresh-reload`);
+ }
+ break;
+ case 'client-added-page':
+ break;
+ case 'browser-logs':
+ {
+ if (nextConfig.experimental.browserDebugInfoInTerminal) {
+ await (0, _receivelogs.receiveBrowserLogsTurbopack)({
+ entries: parsedData.entries,
+ router: parsedData.router,
+ sourceType: parsedData.sourceType,
+ project,
+ projectPath,
+ distDir,
+ config: nextConfig.experimental.browserDebugInfoInTerminal
+ });
+ }
+ break;
+ }
+ default:
+ // Might be a Turbopack message...
+ if (!parsedData.type) {
+ throw Object.defineProperty(new Error(`unrecognized HMR message "${data}"`), "__NEXT_ERROR_CODE", {
+ value: "E155",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ // Turbopack messages
+ switch(parsedData.type){
+ case 'turbopack-subscribe':
+ subscribeToHmrEvents(client, parsedData.path);
+ break;
+ case 'turbopack-unsubscribe':
+ unsubscribeFromHmrEvents(client, parsedData.path);
+ break;
+ default:
+ if (!parsedData.event) {
+ throw Object.defineProperty(new Error(`unrecognized Turbopack HMR message "${data}"`), "__NEXT_ERROR_CODE", {
+ value: "E492",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ });
+ const turbopackConnected = {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED,
+ data: {
+ sessionId
+ }
+ };
+ sendToClient(client, turbopackConnected);
+ const errors = [];
+ for (const entryIssues of currentEntryIssues.values()){
+ for (const issue of entryIssues.values()){
+ if (issue.severity !== 'warning') {
+ errors.push({
+ message: (0, _utils3.formatIssue)(issue)
+ });
+ } else {
+ (0, _turbopackutils.printNonFatalIssue)(issue);
+ }
+ }
+ }
+ if (_devindicatorserverstate.devIndicatorServerState.disabledUntil < Date.now()) {
+ _devindicatorserverstate.devIndicatorServerState.disabledUntil = 0;
+ }
+ ;
+ (async function() {
+ const versionInfo = await versionInfoPromise;
+ const sync = {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC,
+ errors,
+ warnings: [],
+ hash: '',
+ versionInfo,
+ debug: {
+ devtoolsFrontendUrl
+ },
+ devIndicator: _devindicatorserverstate.devIndicatorServerState
+ };
+ sendToClient(client, sync);
+ })();
+ });
+ },
+ send (action) {
+ const payload = JSON.stringify(action);
+ for (const client of clients){
+ client.send(payload);
+ }
+ },
+ setHmrServerError (_error) {
+ // Not implemented yet.
+ },
+ clearHmrServerError () {
+ // Not implemented yet.
+ },
+ async start () {},
+ async getCompilationErrors (page) {
+ const appEntryKey = (0, _entrykey.getEntryKey)('app', 'server', page);
+ const pagesEntryKey = (0, _entrykey.getEntryKey)('pages', 'server', page);
+ const topLevelIssues = currentTopLevelIssues.values();
+ const thisEntryIssues = currentEntryIssues.get(appEntryKey) ?? currentEntryIssues.get(pagesEntryKey);
+ if (thisEntryIssues !== undefined && thisEntryIssues.size > 0) {
+ // If there is an error related to the requesting page we display it instead of the first error
+ return [
+ ...topLevelIssues,
+ ...thisEntryIssues.values()
+ ].map((issue)=>{
+ const formattedIssue = (0, _utils3.formatIssue)(issue);
+ if (issue.severity === 'warning') {
+ (0, _turbopackutils.printNonFatalIssue)(issue);
+ return null;
+ } else if ((0, _utils3.isWellKnownError)(issue)) {
+ _log.error(formattedIssue);
+ }
+ return Object.defineProperty(new Error(formattedIssue), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }).filter((error)=>error !== null);
+ }
+ // Otherwise, return all errors across pages
+ const errors = [];
+ for (const issue of topLevelIssues){
+ if (issue.severity !== 'warning') {
+ errors.push(Object.defineProperty(new Error((0, _utils3.formatIssue)(issue)), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ }));
+ }
+ }
+ for (const entryIssues of currentEntryIssues.values()){
+ for (const issue of entryIssues.values()){
+ if (issue.severity !== 'warning') {
+ const message = (0, _utils3.formatIssue)(issue);
+ errors.push(Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ }));
+ } else {
+ (0, _turbopackutils.printNonFatalIssue)(issue);
+ }
+ }
+ }
+ return errors;
+ },
+ async invalidate ({ // .env files or tsconfig/jsconfig change
+ reloadAfterInvalidation }) {
+ if (reloadAfterInvalidation) {
+ for (const [key, entrypoint] of currentWrittenEntrypoints){
+ clearRequireCache(key, entrypoint, {
+ force: true
+ });
+ }
+ await (0, _renderserver.clearAllModuleContexts)();
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES,
+ hash: String(++hmrHash)
+ });
+ }
+ },
+ async buildFallbackError () {
+ // Not implemented yet.
+ },
+ async ensurePage ({ page: inputPage, // Unused parameters
+ // clientOnly,
+ appPaths, definition, isApp, url: requestUrl }) {
+ // When there is no route definition this is an internal file not a route the user added.
+ // Middleware and instrumentation are handled in turbpack-utils.ts handleEntrypoints instead.
+ if (!definition) {
+ if (inputPage === '/middleware') return;
+ if (inputPage === '/src/middleware') return;
+ if (inputPage === '/instrumentation') return;
+ if (inputPage === '/src/instrumentation') return;
+ }
+ return hotReloaderSpan.traceChild('ensure-page', {
+ inputPage
+ }).traceAsyncFn(async ()=>{
+ if (_constants.BLOCKED_PAGES.includes(inputPage) && inputPage !== '/_error') {
+ return;
+ }
+ await currentEntriesHandling;
+ // TODO We shouldn't look into the filesystem again. This should use the information from entrypoints
+ let routeDef = definition ?? await (0, _ondemandentryhandler.findPagePathData)(projectPath, inputPage, nextConfig.pageExtensions, opts.pagesDir, opts.appDir, !!nextConfig.experimental.globalNotFound);
+ // If the route is actually an app page route, then we should have access
+ // to the app route definition, and therefore, the appPaths from it.
+ if (!appPaths && definition && (0, _apppageroutedefinition.isAppPageRouteDefinition)(definition)) {
+ appPaths = definition.appPaths;
+ }
+ let page = routeDef.page;
+ if (appPaths) {
+ const normalizedPage = (0, _apppaths.normalizeAppPath)(page);
+ // filter out paths that are not exact matches (e.g. catchall)
+ const matchingAppPaths = appPaths.filter((path)=>(0, _apppaths.normalizeAppPath)(path) === normalizedPage);
+ // the last item in the array is the root page, if there are parallel routes
+ page = matchingAppPaths[matchingAppPaths.length - 1];
+ }
+ const pathname = (definition == null ? void 0 : definition.pathname) ?? inputPage;
+ if (page === '/_error') {
+ let finishBuilding = startBuilding(pathname, requestUrl, false);
+ try {
+ await (0, _turbopackutils.handlePagesErrorRoute)({
+ currentEntryIssues,
+ entrypoints: currentEntrypoints,
+ manifestLoader,
+ devRewrites: opts.fsChecker.rewrites,
+ productionRewrites: undefined,
+ logErrors: true,
+ hooks: {
+ subscribeToChanges,
+ handleWrittenEndpoint: (id, result, forceDeleteCache)=>{
+ currentWrittenEntrypoints.set(id, result);
+ assetMapper.setPathsForKey(id, result.clientPaths);
+ return clearRequireCache(id, result, {
+ force: forceDeleteCache
+ });
+ }
+ }
+ });
+ } finally{
+ finishBuilding();
+ }
+ return;
+ }
+ const isInsideAppDir = routeDef.bundlePath.startsWith('app/');
+ const isEntryMetadataRouteFile = (0, _ismetadataroute.isMetadataRouteFile)(routeDef.filename.replace(opts.appDir || '', ''), nextConfig.pageExtensions, true);
+ const normalizedAppPage = isEntryMetadataRouteFile ? (0, _turbopackutils.normalizedPageToTurbopackStructureRoute)(page, (0, _path.extname)(routeDef.filename)) : page;
+ const route = isInsideAppDir ? currentEntrypoints.app.get(normalizedAppPage) : currentEntrypoints.page.get(page);
+ if (!route) {
+ // TODO: why is this entry missing in turbopack?
+ if (page === '/middleware') return;
+ if (page === '/src/middleware') return;
+ if (page === '/instrumentation') return;
+ if (page === '/src/instrumentation') return;
+ throw new _utils.PageNotFoundError(`route not found ${page}`);
+ }
+ // We don't throw on ensureOpts.isApp === true for page-api
+ // since this can happen when app pages make
+ // api requests to page API routes.
+ if (isApp && route.type === 'page') {
+ throw Object.defineProperty(new Error(`mis-matched route type: isApp && page for ${page}`), "__NEXT_ERROR_CODE", {
+ value: "E373",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const finishBuilding = startBuilding(pathname, requestUrl, false);
+ try {
+ await (0, _turbopackutils.handleRouteType)({
+ dev,
+ page,
+ pathname,
+ route,
+ currentEntryIssues,
+ entrypoints: currentEntrypoints,
+ manifestLoader,
+ readyIds,
+ devRewrites: opts.fsChecker.rewrites,
+ productionRewrites: undefined,
+ logErrors: true,
+ hooks: {
+ subscribeToChanges,
+ handleWrittenEndpoint: (id, result, forceDeleteCache)=>{
+ currentWrittenEntrypoints.set(id, result);
+ assetMapper.setPathsForKey(id, result.clientPaths);
+ return clearRequireCache(id, result, {
+ force: forceDeleteCache
+ });
+ }
+ }
+ });
+ } finally{
+ finishBuilding();
+ }
+ });
+ },
+ close () {
+ for (const wsClient of clients){
+ // it's okay to not cleanly close these websocket connections, this is dev
+ wsClient.terminate();
+ }
+ clients.clear();
+ }
+ };
+ handleEntrypointsSubscription().catch((err)=>{
+ console.error(err);
+ process.exit(1);
+ });
+ // Write empty manifests
+ await currentEntriesHandling;
+ await manifestLoader.writeManifests({
+ devRewrites: opts.fsChecker.rewrites,
+ productionRewrites: undefined,
+ entrypoints: currentEntrypoints
+ });
+ async function handleProjectUpdates() {
+ for await (const updateMessage of project.updateInfoSubscribe(30)){
+ switch(updateMessage.updateType){
+ case 'start':
+ {
+ hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING
+ });
+ break;
+ }
+ case 'end':
+ {
+ sendEnqueuedMessages();
+ function addErrors(errorsMap, issues) {
+ for (const issueMap of issues.values()){
+ for (const [key, issue] of issueMap){
+ if (issue.severity === 'warning') continue;
+ if (errorsMap.has(key)) continue;
+ const message = (0, _utils3.formatIssue)(issue);
+ errorsMap.set(key, {
+ message,
+ details: issue.detail ? (0, _utils3.renderStyledStringToErrorAnsi)(issue.detail) : undefined
+ });
+ }
+ }
+ }
+ const errors = new Map();
+ addErrors(errors, currentEntryIssues);
+ for (const client of clients){
+ const state = clientStates.get(client);
+ if (!state) {
+ continue;
+ }
+ const clientErrors = new Map(errors);
+ addErrors(clientErrors, state.clientIssues);
+ sendToClient(client, {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT,
+ hash: String(++hmrHash),
+ errors: [
+ ...clientErrors.values()
+ ],
+ warnings: []
+ });
+ }
+ if (hmrEventHappened) {
+ const time = updateMessage.value.duration;
+ const timeMessage = time > 2000 ? `${Math.round(time / 100) / 10}s` : `${time}ms`;
+ _log.event(`Compiled in ${timeMessage}`);
+ hmrEventHappened = false;
+ }
+ break;
+ }
+ default:
+ }
+ }
+ }
+ handleProjectUpdates().catch((err)=>{
+ console.error(err);
+ process.exit(1);
+ });
+ return hotReloader;
+}
+
+//# sourceMappingURL=hot-reloader-turbopack.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-types.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-types.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c84920b2c823333c3fd5fa66cc7c65f0f2c3f69
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-types.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "HMR_ACTIONS_SENT_TO_BROWSER", {
+ enumerable: true,
+ get: function() {
+ return HMR_ACTIONS_SENT_TO_BROWSER;
+ }
+});
+var HMR_ACTIONS_SENT_TO_BROWSER = /*#__PURE__*/ function(HMR_ACTIONS_SENT_TO_BROWSER) {
+ HMR_ACTIONS_SENT_TO_BROWSER["ADDED_PAGE"] = "addedPage";
+ HMR_ACTIONS_SENT_TO_BROWSER["REMOVED_PAGE"] = "removedPage";
+ HMR_ACTIONS_SENT_TO_BROWSER["RELOAD_PAGE"] = "reloadPage";
+ HMR_ACTIONS_SENT_TO_BROWSER["SERVER_COMPONENT_CHANGES"] = "serverComponentChanges";
+ HMR_ACTIONS_SENT_TO_BROWSER["MIDDLEWARE_CHANGES"] = "middlewareChanges";
+ HMR_ACTIONS_SENT_TO_BROWSER["CLIENT_CHANGES"] = "clientChanges";
+ HMR_ACTIONS_SENT_TO_BROWSER["SERVER_ONLY_CHANGES"] = "serverOnlyChanges";
+ HMR_ACTIONS_SENT_TO_BROWSER["SYNC"] = "sync";
+ HMR_ACTIONS_SENT_TO_BROWSER["BUILT"] = "built";
+ HMR_ACTIONS_SENT_TO_BROWSER["BUILDING"] = "building";
+ HMR_ACTIONS_SENT_TO_BROWSER["DEV_PAGES_MANIFEST_UPDATE"] = "devPagesManifestUpdate";
+ HMR_ACTIONS_SENT_TO_BROWSER["TURBOPACK_MESSAGE"] = "turbopack-message";
+ HMR_ACTIONS_SENT_TO_BROWSER["SERVER_ERROR"] = "serverError";
+ HMR_ACTIONS_SENT_TO_BROWSER["TURBOPACK_CONNECTED"] = "turbopack-connected";
+ HMR_ACTIONS_SENT_TO_BROWSER["ISR_MANIFEST"] = "isrManifest";
+ HMR_ACTIONS_SENT_TO_BROWSER["DEV_INDICATOR"] = "devIndicator";
+ return HMR_ACTIONS_SENT_TO_BROWSER;
+}({});
+
+//# sourceMappingURL=hot-reloader-types.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-webpack.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-webpack.js
new file mode 100644
index 0000000000000000000000000000000000000000..81a65bf8ad9ab804f3c61b360751f7073d66bad6
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-webpack.js
@@ -0,0 +1,1279 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ default: null,
+ getVersionInfo: null,
+ matchNextPageBundleRequest: null,
+ renderScriptError: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ default: function() {
+ return HotReloaderWebpack;
+ },
+ getVersionInfo: function() {
+ return getVersionInfo;
+ },
+ matchNextPageBundleRequest: function() {
+ return matchNextPageBundleRequest;
+ },
+ renderScriptError: function() {
+ return renderScriptError;
+ }
+});
+const _webpack = require("next/dist/compiled/webpack/webpack");
+const _middlewarewebpack = require("./middleware-webpack");
+const _hotmiddleware = require("./hot-middleware");
+const _path = require("path");
+const _entries = require("../../build/entries");
+const _output = require("../../build/output");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _webpackconfig = /*#__PURE__*/ _interop_require_wildcard(require("../../build/webpack-config"));
+const _constants = require("../../lib/constants");
+const _recursivedelete = require("../../lib/recursive-delete");
+const _constants1 = require("../../shared/lib/constants");
+const _pathmatch = require("../../shared/lib/router/utils/path-match");
+const _findpagefile = require("../lib/find-page-file");
+const _ondemandentryhandler = require("./on-demand-entry-handler");
+const _denormalizepagepath = require("../../shared/lib/page-path/denormalize-page-path");
+const _normalizepathsep = require("../../shared/lib/page-path/normalize-path-sep");
+const _getroutefromentrypoint = /*#__PURE__*/ _interop_require_default(require("../get-route-from-entrypoint"));
+const _utils = require("../../build/utils");
+const _utils1 = require("../../shared/lib/utils");
+const _trace = require("../../trace");
+const _iserror = require("../../lib/is-error");
+const _ws = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/ws"));
+const _fs = require("fs");
+const _parseversioninfo = require("./parse-version-info");
+const _isapiroute = require("../../lib/is-api-route");
+const _nextrouteloader = require("../../build/webpack/loaders/next-route-loader");
+const _isinternalcomponent = require("../../lib/is-internal-component");
+const _routekind = require("../route-kind");
+const _hotreloadertypes = require("./hot-reloader-types");
+const _pagetypes = require("../../lib/page-types");
+const _messages = require("./messages");
+const _utils2 = require("../lib/utils");
+const _getnexterrorfeedbackmiddleware = require("../../next-devtools/server/get-next-error-feedback-middleware");
+const _getdevoverlayfontmiddleware = require("../../next-devtools/server/font/get-dev-overlay-font-middleware");
+const _devindicatormiddleware = require("../../next-devtools/server/dev-indicator-middleware");
+const _getwebpackbundler = /*#__PURE__*/ _interop_require_default(require("../../shared/lib/get-webpack-bundler"));
+const _restartdevservermiddleware = require("../../next-devtools/server/restart-dev-server-middleware");
+const _cacheinvalidation = require("../../build/webpack/cache-invalidation");
+const _receivelogs = require("./browser-logs/receive-logs");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const MILLISECONDS_IN_NANOSECOND = BigInt(1000000);
+function diff(a, b) {
+ return new Set([
+ ...a
+ ].filter((v)=>!b.has(v)));
+}
+const wsServer = new _ws.default.Server({
+ noServer: true
+});
+async function renderScriptError(res, error, { verbose = true } = {}) {
+ // Asks CDNs and others to not to cache the errored page
+ res.setHeader('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate');
+ if (error.code === 'ENOENT') {
+ return {
+ finished: undefined
+ };
+ }
+ if (verbose) {
+ console.error(error.stack);
+ }
+ res.statusCode = 500;
+ res.end('500 - Internal Error');
+ return {
+ finished: true
+ };
+}
+function addCorsSupport(req, res) {
+ // Only rewrite CORS handling when URL matches a hot-reloader middleware
+ if (!req.url.startsWith('/__next')) {
+ return {
+ preflight: false
+ };
+ }
+ if (!req.headers.origin) {
+ return {
+ preflight: false
+ };
+ }
+ res.setHeader('Access-Control-Allow-Origin', req.headers.origin);
+ res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
+ // Based on https://github.com/primus/access-control/blob/4cf1bc0e54b086c91e6aa44fb14966fa5ef7549c/index.js#L158
+ if (req.headers['access-control-request-headers']) {
+ res.setHeader('Access-Control-Allow-Headers', req.headers['access-control-request-headers']);
+ }
+ if (req.method === 'OPTIONS') {
+ res.writeHead(200);
+ res.end();
+ return {
+ preflight: true
+ };
+ }
+ return {
+ preflight: false
+ };
+}
+const matchNextPageBundleRequest = (0, _pathmatch.getPathMatch)('/_next/static/chunks/pages/:path*.js(\\.map|)');
+// Iteratively look up the issuer till it ends up at the root
+function findEntryModule(module1, compilation) {
+ for(;;){
+ const issuer = compilation.moduleGraph.getIssuer(module1);
+ if (!issuer) return module1;
+ module1 = issuer;
+ }
+}
+function erroredPages(compilation) {
+ const failedPages = {};
+ for (const error of compilation.errors){
+ if (!error.module) {
+ continue;
+ }
+ const entryModule = findEntryModule(error.module, compilation);
+ const { name } = entryModule;
+ if (!name) {
+ continue;
+ }
+ // Only pages have to be reloaded
+ const enhancedName = (0, _getroutefromentrypoint.default)(name);
+ if (!enhancedName) {
+ continue;
+ }
+ if (!failedPages[enhancedName]) {
+ failedPages[enhancedName] = [];
+ }
+ failedPages[enhancedName].push(error);
+ }
+ return failedPages;
+}
+async function getVersionInfo() {
+ let installed = '0.0.0';
+ try {
+ installed = require('next/package.json').version;
+ let res;
+ try {
+ // use NPM registry regardless user using Yarn
+ res = await fetch('https://registry.npmjs.org/-/package/next/dist-tags');
+ } catch {
+ // ignore fetch errors
+ }
+ if (!res || !res.ok) return {
+ installed,
+ staleness: 'unknown'
+ };
+ const { latest, canary } = await res.json();
+ return (0, _parseversioninfo.parseVersionInfo)({
+ installed,
+ latest,
+ canary
+ });
+ } catch (e) {
+ console.error(e);
+ return {
+ installed,
+ staleness: 'unknown'
+ };
+ }
+}
+class HotReloaderWebpack {
+ constructor(dir, { config, isSrcDir, pagesDir, distDir, buildId, encryptionKey, previewProps, rewrites, appDir, telemetry, resetFetch }){
+ this.clientError = null;
+ this.serverError = null;
+ this.hmrServerError = null;
+ this.pagesMapping = {};
+ this.versionInfo = {
+ staleness: 'unknown',
+ installed: '0.0.0'
+ };
+ this.reloadAfterInvalidation = false;
+ this.hasAmpEntrypoints = false;
+ this.hasAppRouterEntrypoints = false;
+ this.hasPagesRouterEntrypoints = false;
+ this.buildId = buildId;
+ this.encryptionKey = encryptionKey;
+ this.dir = dir;
+ this.isSrcDir = isSrcDir;
+ this.middlewares = [];
+ this.pagesDir = pagesDir;
+ this.appDir = appDir;
+ this.distDir = distDir;
+ this.clientStats = null;
+ this.serverStats = null;
+ this.edgeServerStats = null;
+ this.serverPrevDocumentHash = null;
+ this.telemetry = telemetry;
+ this.resetFetch = resetFetch;
+ this.config = config;
+ this.previewProps = previewProps;
+ this.rewrites = rewrites;
+ this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
+ version: "15.4.3"
+ });
+ // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
+ // of the current `next dev` invocation.
+ this.hotReloaderSpan.stop();
+ }
+ async run(req, res, parsedUrl) {
+ // Usually CORS support is not needed for the hot-reloader (this is dev only feature)
+ // With when the app runs for multi-zones support behind a proxy,
+ // the current page is trying to access this URL via assetPrefix.
+ // That's when the CORS support is needed.
+ const { preflight } = addCorsSupport(req, res);
+ if (preflight) {
+ return {};
+ }
+ // When a request comes in that is a page bundle, e.g. /_next/static//pages/index.js
+ // we have to compile the page using on-demand-entries, this middleware will handle doing that
+ // by adding the page to on-demand-entries, waiting till it's done
+ // and then the bundle will be served like usual by the actual route in server/index.js
+ const handlePageBundleRequest = async (pageBundleRes, parsedPageBundleUrl)=>{
+ const { pathname } = parsedPageBundleUrl;
+ if (!pathname) return {};
+ const params = matchNextPageBundleRequest(pathname);
+ if (!params) return {};
+ let decodedPagePath;
+ try {
+ decodedPagePath = `/${params.path.map((param)=>decodeURIComponent(param)).join('/')}`;
+ } catch (_) {
+ throw Object.defineProperty(new _utils1.DecodeError('failed to decode param'), "__NEXT_ERROR_CODE", {
+ value: "E528",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const page = (0, _denormalizepagepath.denormalizePagePath)(decodedPagePath);
+ if (page === '/_error' || _constants1.BLOCKED_PAGES.indexOf(page) === -1) {
+ try {
+ await this.ensurePage({
+ page,
+ clientOnly: true,
+ url: req.url
+ });
+ } catch (error) {
+ return await renderScriptError(pageBundleRes, (0, _iserror.getProperError)(error));
+ }
+ const errors = await this.getCompilationErrors(page);
+ if (errors.length > 0) {
+ return await renderScriptError(pageBundleRes, errors[0], {
+ verbose: false
+ });
+ }
+ }
+ return {};
+ };
+ const { finished } = await handlePageBundleRequest(res, parsedUrl);
+ for (const middleware of this.middlewares){
+ let calledNext = false;
+ await middleware(req, res, ()=>{
+ calledNext = true;
+ });
+ if (!calledNext) {
+ return {
+ finished: true
+ };
+ }
+ }
+ return {
+ finished
+ };
+ }
+ setHmrServerError(error) {
+ this.hmrServerError = error;
+ }
+ clearHmrServerError() {
+ if (this.hmrServerError) {
+ this.setHmrServerError(null);
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: 'clear hmr server error'
+ });
+ }
+ }
+ async refreshServerComponents(hash) {
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES,
+ hash
+ });
+ }
+ onHMR(req, _socket, head, callback) {
+ wsServer.handleUpgrade(req, req.socket, head, (client)=>{
+ var _this_webpackHotMiddleware, _this_onDemandEntries;
+ (_this_webpackHotMiddleware = this.webpackHotMiddleware) == null ? void 0 : _this_webpackHotMiddleware.onHMR(client);
+ (_this_onDemandEntries = this.onDemandEntries) == null ? void 0 : _this_onDemandEntries.onHMR(client, ()=>this.hmrServerError);
+ callback(client);
+ client.addEventListener('message', async ({ data })=>{
+ data = typeof data !== 'string' ? data.toString() : data;
+ try {
+ const payload = JSON.parse(data);
+ let traceChild;
+ switch(payload.event){
+ case 'span-end':
+ {
+ traceChild = {
+ name: payload.spanName,
+ startTime: BigInt(Math.floor(payload.startTime)) * MILLISECONDS_IN_NANOSECOND,
+ attrs: payload.attributes,
+ endTime: BigInt(Math.floor(payload.endTime)) * MILLISECONDS_IN_NANOSECOND
+ };
+ break;
+ }
+ case 'client-hmr-latency':
+ {
+ traceChild = {
+ name: payload.event,
+ startTime: BigInt(payload.startTime) * MILLISECONDS_IN_NANOSECOND,
+ endTime: BigInt(payload.endTime) * MILLISECONDS_IN_NANOSECOND,
+ attrs: {
+ updatedModules: payload.updatedModules.map((m)=>m.replace(`(${_constants.WEBPACK_LAYERS.appPagesBrowser})/`, '').replace(/^\.\//, '[project]/')),
+ page: payload.page,
+ isPageHidden: payload.isPageHidden
+ }
+ };
+ break;
+ }
+ case 'client-reload-page':
+ case 'client-success':
+ {
+ traceChild = {
+ name: payload.event
+ };
+ break;
+ }
+ case 'client-error':
+ {
+ traceChild = {
+ name: payload.event,
+ attrs: {
+ errorCount: payload.errorCount
+ }
+ };
+ break;
+ }
+ case 'client-warning':
+ {
+ traceChild = {
+ name: payload.event,
+ attrs: {
+ warningCount: payload.warningCount
+ }
+ };
+ break;
+ }
+ case 'client-removed-page':
+ case 'client-added-page':
+ {
+ traceChild = {
+ name: payload.event,
+ attrs: {
+ page: payload.page || ''
+ }
+ };
+ break;
+ }
+ case 'client-full-reload':
+ {
+ const { event, stackTrace, hadRuntimeError } = payload;
+ traceChild = {
+ name: event,
+ attrs: {
+ stackTrace: stackTrace ?? ''
+ }
+ };
+ if (hadRuntimeError) {
+ _log.warn(_messages.FAST_REFRESH_RUNTIME_RELOAD);
+ break;
+ }
+ let fileMessage = '';
+ if (stackTrace) {
+ var _exec;
+ const file = (_exec = /Aborted because (.+) is not accepted/.exec(stackTrace)) == null ? void 0 : _exec[1];
+ if (file) {
+ // `file` is filepath in `pages/` but it can be a webpack url.
+ // If it's a webpack loader URL, it will include the app-pages layer
+ if (file.startsWith(`(${_constants.WEBPACK_LAYERS.appPagesBrowser})/`)) {
+ const fileUrl = new URL(file, 'file://');
+ const cwd = process.cwd();
+ const modules = fileUrl.searchParams.getAll('modules').map((filepath)=>filepath.slice(cwd.length + 1)).filter((filepath)=>!filepath.startsWith('node_modules'));
+ if (modules.length > 0) {
+ fileMessage = ` when ${modules.join(', ')} changed`;
+ }
+ } else if (// Handle known webpack layers
+ file.startsWith(`(${_constants.WEBPACK_LAYERS.pagesDirBrowser})/`)) {
+ const cleanedFilePath = file.slice(`(${_constants.WEBPACK_LAYERS.pagesDirBrowser})/`.length);
+ fileMessage = ` when ${cleanedFilePath} changed`;
+ } else {
+ fileMessage = ` when ${file} changed`;
+ }
+ }
+ }
+ _log.warn(`Fast Refresh had to perform a full reload${fileMessage}. Read more: https://nextjs.org/docs/messages/fast-refresh-reload`);
+ break;
+ }
+ case 'browser-logs':
+ {
+ if (this.config.experimental.browserDebugInfoInTerminal) {
+ await (0, _receivelogs.receiveBrowserLogsWebpack)({
+ entries: payload.entries,
+ router: payload.router,
+ sourceType: payload.sourceType,
+ clientStats: ()=>this.clientStats,
+ serverStats: ()=>this.serverStats,
+ edgeServerStats: ()=>this.edgeServerStats,
+ rootDirectory: this.dir,
+ distDir: this.distDir,
+ config: this.config.experimental.browserDebugInfoInTerminal
+ });
+ }
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+ if (traceChild) {
+ this.hotReloaderSpan.manualTraceChild(traceChild.name, traceChild.startTime, traceChild.endTime, {
+ ...traceChild.attrs,
+ clientId: payload.id
+ });
+ }
+ } catch (_) {
+ // invalid WebSocket message
+ }
+ });
+ });
+ }
+ async clean(span) {
+ return span.traceChild('clean').traceAsyncFn(()=>(0, _recursivedelete.recursiveDelete)((0, _path.join)(this.dir, this.config.distDir), /^cache/));
+ }
+ async getWebpackConfig(span) {
+ const webpackConfigSpan = span.traceChild('get-webpack-config');
+ const pageExtensions = this.config.pageExtensions;
+ return webpackConfigSpan.traceAsyncFn(async ()=>{
+ const pagePaths = !this.pagesDir ? [] : await webpackConfigSpan.traceChild('get-page-paths').traceAsyncFn(()=>Promise.all([
+ (0, _findpagefile.findPageFile)(this.pagesDir, '/_app', pageExtensions, false),
+ (0, _findpagefile.findPageFile)(this.pagesDir, '/_document', pageExtensions, false)
+ ]));
+ this.pagesMapping = await webpackConfigSpan.traceChild('create-pages-mapping').traceAsyncFn(()=>(0, _entries.createPagesMapping)({
+ isDev: true,
+ pageExtensions: this.config.pageExtensions,
+ pagesType: _pagetypes.PAGE_TYPES.PAGES,
+ pagePaths: pagePaths.filter((i)=>typeof i === 'string'),
+ pagesDir: this.pagesDir,
+ appDir: this.appDir
+ }));
+ const entrypoints = await webpackConfigSpan.traceChild('create-entrypoints').traceAsyncFn(()=>(0, _entries.createEntrypoints)({
+ appDir: this.appDir,
+ buildId: this.buildId,
+ config: this.config,
+ envFiles: [],
+ isDev: true,
+ pages: this.pagesMapping,
+ pagesDir: this.pagesDir,
+ previewMode: this.previewProps,
+ rootDir: this.dir,
+ pageExtensions: this.config.pageExtensions
+ }));
+ const commonWebpackOptions = {
+ dev: true,
+ buildId: this.buildId,
+ encryptionKey: this.encryptionKey,
+ config: this.config,
+ pagesDir: this.pagesDir,
+ rewrites: this.rewrites,
+ originalRewrites: this.config._originalRewrites,
+ originalRedirects: this.config._originalRedirects,
+ runWebpackSpan: this.hotReloaderSpan,
+ appDir: this.appDir,
+ previewProps: this.previewProps
+ };
+ return webpackConfigSpan.traceChild('generate-webpack-config').traceAsyncFn(async ()=>{
+ const info = await (0, _webpackconfig.loadProjectInfo)({
+ dir: this.dir,
+ config: commonWebpackOptions.config,
+ dev: true
+ });
+ return Promise.all([
+ // order is important here
+ (0, _webpackconfig.default)(this.dir, {
+ ...commonWebpackOptions,
+ compilerType: _constants1.COMPILER_NAMES.client,
+ entrypoints: entrypoints.client,
+ ...info
+ }),
+ (0, _webpackconfig.default)(this.dir, {
+ ...commonWebpackOptions,
+ compilerType: _constants1.COMPILER_NAMES.server,
+ entrypoints: entrypoints.server,
+ ...info
+ }),
+ (0, _webpackconfig.default)(this.dir, {
+ ...commonWebpackOptions,
+ compilerType: _constants1.COMPILER_NAMES.edgeServer,
+ entrypoints: entrypoints.edgeServer,
+ ...info
+ })
+ ]);
+ });
+ });
+ }
+ async buildFallbackError() {
+ if (this.fallbackWatcher) return;
+ const info = await (0, _webpackconfig.loadProjectInfo)({
+ dir: this.dir,
+ config: this.config,
+ dev: true
+ });
+ const fallbackConfig = await (0, _webpackconfig.default)(this.dir, {
+ previewProps: this.previewProps,
+ runWebpackSpan: this.hotReloaderSpan,
+ dev: true,
+ compilerType: _constants1.COMPILER_NAMES.client,
+ config: this.config,
+ buildId: this.buildId,
+ encryptionKey: this.encryptionKey,
+ appDir: this.appDir,
+ pagesDir: this.pagesDir,
+ rewrites: {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ originalRewrites: {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ originalRedirects: [],
+ isDevFallback: true,
+ entrypoints: (await (0, _entries.createEntrypoints)({
+ appDir: this.appDir,
+ buildId: this.buildId,
+ config: this.config,
+ envFiles: [],
+ isDev: true,
+ pages: {
+ '/_app': 'next/dist/pages/_app',
+ '/_error': 'next/dist/pages/_error'
+ },
+ pagesDir: this.pagesDir,
+ previewMode: this.previewProps,
+ rootDir: this.dir,
+ pageExtensions: this.config.pageExtensions
+ })).client,
+ ...info
+ });
+ const fallbackCompiler = (0, _getwebpackbundler.default)()(fallbackConfig);
+ this.fallbackWatcher = await new Promise((resolve)=>{
+ let bootedFallbackCompiler = false;
+ fallbackCompiler.watch(// @ts-ignore webpack supports an array of watchOptions when using a multiCompiler
+ fallbackConfig.watchOptions, // Errors are handled separately
+ (_err)=>{
+ if (!bootedFallbackCompiler) {
+ bootedFallbackCompiler = true;
+ resolve(true);
+ }
+ });
+ });
+ }
+ async tracedGetVersionInfo(span) {
+ const versionInfoSpan = span.traceChild('get-version-info');
+ return versionInfoSpan.traceAsyncFn(async ()=>getVersionInfo());
+ }
+ async start() {
+ const startSpan = this.hotReloaderSpan.traceChild('start');
+ startSpan.stop() // Stop immediately to create an artificial parent span
+ ;
+ this.versionInfo = await this.tracedGetVersionInfo(startSpan);
+ const nodeDebugType = (0, _utils2.getNodeDebugType)();
+ if (nodeDebugType && !this.devtoolsFrontendUrl) {
+ const debugPort = process.debugPort;
+ let debugInfo;
+ try {
+ // It requires to use 127.0.0.1 instead of localhost for server-side fetching.
+ const debugInfoList = await fetch(`http://127.0.0.1:${debugPort}/json/list`).then((res)=>res.json());
+ // There will be only one item for current process, so always get the first item.
+ debugInfo = debugInfoList[0];
+ } catch {}
+ if (debugInfo) {
+ this.devtoolsFrontendUrl = debugInfo.devtoolsFrontendUrl;
+ }
+ }
+ await this.clean(startSpan);
+ // Ensure distDir exists before writing package.json
+ await _fs.promises.mkdir(this.distDir, {
+ recursive: true
+ });
+ const distPackageJsonPath = (0, _path.join)(this.distDir, 'package.json');
+ // Ensure commonjs handling is used for files in the distDir (generally .next)
+ // Files outside of the distDir can be "type": "module"
+ await _fs.promises.writeFile(distPackageJsonPath, '{"type": "commonjs"}');
+ this.activeWebpackConfigs = await this.getWebpackConfig(startSpan);
+ for (const config of this.activeWebpackConfigs){
+ const defaultEntry = config.entry;
+ config.entry = async (...args)=>{
+ var _this_multiCompiler;
+ const outputPath = ((_this_multiCompiler = this.multiCompiler) == null ? void 0 : _this_multiCompiler.outputPath) || '';
+ const entries = (0, _ondemandentryhandler.getEntries)(outputPath);
+ // @ts-ignore entry is always a function
+ const entrypoints = await defaultEntry(...args);
+ const isClientCompilation = config.name === _constants1.COMPILER_NAMES.client;
+ const isNodeServerCompilation = config.name === _constants1.COMPILER_NAMES.server;
+ const isEdgeServerCompilation = config.name === _constants1.COMPILER_NAMES.edgeServer;
+ await Promise.all(Object.keys(entries).map(async (entryKey)=>{
+ const entryData = entries[entryKey];
+ const { bundlePath, dispose } = entryData;
+ const result = /^(client|server|edge-server)@(app|pages|root)@(.*)/g.exec(entryKey);
+ const [, key /* pageType */ , , page] = result// this match should always happen
+ ;
+ if (key === _constants1.COMPILER_NAMES.client && !isClientCompilation) return;
+ if (key === _constants1.COMPILER_NAMES.server && !isNodeServerCompilation) return;
+ if (key === _constants1.COMPILER_NAMES.edgeServer && !isEdgeServerCompilation) return;
+ const isEntry = entryData.type === _ondemandentryhandler.EntryTypes.ENTRY;
+ const isChildEntry = entryData.type === _ondemandentryhandler.EntryTypes.CHILD_ENTRY;
+ // Check if the page was removed or disposed and remove it
+ if (isEntry) {
+ const pageExists = !dispose && (0, _fs.existsSync)(entryData.absolutePagePath);
+ if (!pageExists) {
+ delete entries[entryKey];
+ return;
+ }
+ }
+ // For child entries, if it has an entry file and it's gone, remove it
+ if (isChildEntry) {
+ if (entryData.absoluteEntryFilePath) {
+ const pageExists = !dispose && (0, _fs.existsSync)(entryData.absoluteEntryFilePath);
+ if (!pageExists) {
+ delete entries[entryKey];
+ return;
+ }
+ }
+ }
+ // Ensure _error is considered a `pages` page.
+ if (page === '/_error') {
+ this.hasPagesRouterEntrypoints = true;
+ }
+ const hasAppDir = !!this.appDir;
+ const isAppPath = hasAppDir && bundlePath.startsWith('app/');
+ const staticInfo = isEntry ? await (0, _entries.getStaticInfoIncludingLayouts)({
+ isInsideAppDir: isAppPath,
+ pageExtensions: this.config.pageExtensions,
+ pageFilePath: entryData.absolutePagePath,
+ appDir: this.appDir,
+ config: this.config,
+ isDev: true,
+ page
+ }) : undefined;
+ if ((staticInfo == null ? void 0 : staticInfo.type) === _pagetypes.PAGE_TYPES.PAGES) {
+ var _staticInfo_config_config, _staticInfo_config, _staticInfo_config_config1, _staticInfo_config1;
+ if (((_staticInfo_config = staticInfo.config) == null ? void 0 : (_staticInfo_config_config = _staticInfo_config.config) == null ? void 0 : _staticInfo_config_config.amp) === true || ((_staticInfo_config1 = staticInfo.config) == null ? void 0 : (_staticInfo_config_config1 = _staticInfo_config1.config) == null ? void 0 : _staticInfo_config_config1.amp) === 'hybrid') {
+ this.hasAmpEntrypoints = true;
+ }
+ }
+ const isServerComponent = isAppPath && (staticInfo == null ? void 0 : staticInfo.rsc) !== _constants1.RSC_MODULE_TYPES.client;
+ const pageType = entryData.bundlePath.startsWith('pages/') ? _pagetypes.PAGE_TYPES.PAGES : entryData.bundlePath.startsWith('app/') ? _pagetypes.PAGE_TYPES.APP : _pagetypes.PAGE_TYPES.ROOT;
+ if (pageType === 'pages') {
+ this.hasPagesRouterEntrypoints = true;
+ }
+ if (pageType === 'app') {
+ this.hasAppRouterEntrypoints = true;
+ }
+ const isInstrumentation = (0, _utils.isInstrumentationHookFile)(page) && pageType === _pagetypes.PAGE_TYPES.ROOT;
+ let pageRuntime = staticInfo == null ? void 0 : staticInfo.runtime;
+ if ((0, _utils.isMiddlewareFile)(page) && !this.config.experimental.nodeMiddleware && pageRuntime === 'nodejs') {
+ _log.warn('nodejs runtime support for middleware requires experimental.nodeMiddleware be enabled in your next.config');
+ pageRuntime = 'edge';
+ }
+ (0, _entries.runDependingOnPageType)({
+ page,
+ pageRuntime,
+ pageType,
+ onEdgeServer: ()=>{
+ // TODO-APP: verify if child entry should support.
+ if (!isEdgeServerCompilation || !isEntry) return;
+ entries[entryKey].status = _ondemandentryhandler.BUILDING;
+ if (isInstrumentation) {
+ const normalizedBundlePath = bundlePath.replace('src/', '');
+ entrypoints[normalizedBundlePath] = (0, _entries.finalizeEntrypoint)({
+ compilerType: _constants1.COMPILER_NAMES.edgeServer,
+ name: normalizedBundlePath,
+ value: (0, _entries.getInstrumentationEntry)({
+ absolutePagePath: entryData.absolutePagePath,
+ isEdgeServer: true,
+ isDev: true
+ }),
+ isServerComponent: true,
+ hasAppDir
+ });
+ return;
+ }
+ const appDirLoader = isAppPath ? (0, _entries.getAppEntry)({
+ name: bundlePath,
+ page,
+ appPaths: entryData.appPaths,
+ pagePath: _path.posix.join(_constants.APP_DIR_ALIAS, (0, _path.relative)(this.appDir, entryData.absolutePagePath).replace(/\\/g, '/')),
+ appDir: this.appDir,
+ pageExtensions: this.config.pageExtensions,
+ rootDir: this.dir,
+ isDev: true,
+ tsconfigPath: this.config.typescript.tsconfigPath,
+ basePath: this.config.basePath,
+ assetPrefix: this.config.assetPrefix,
+ nextConfigOutput: this.config.output,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion,
+ middlewareConfig: Buffer.from(JSON.stringify((staticInfo == null ? void 0 : staticInfo.middleware) || {})).toString('base64'),
+ isGlobalNotFoundEnabled: this.config.experimental.globalNotFound ? true : undefined
+ }).import : undefined;
+ entrypoints[bundlePath] = (0, _entries.finalizeEntrypoint)({
+ compilerType: _constants1.COMPILER_NAMES.edgeServer,
+ name: bundlePath,
+ value: (0, _entries.getEdgeServerEntry)({
+ absolutePagePath: entryData.absolutePagePath,
+ rootDir: this.dir,
+ buildId: this.buildId,
+ bundlePath,
+ config: this.config,
+ isDev: true,
+ page,
+ pages: this.pagesMapping,
+ isServerComponent,
+ appDirLoader,
+ pagesType: isAppPath ? _pagetypes.PAGE_TYPES.APP : _pagetypes.PAGE_TYPES.PAGES,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion
+ }),
+ hasAppDir
+ });
+ },
+ onClient: ()=>{
+ if (!isClientCompilation) return;
+ if (isChildEntry) {
+ entries[entryKey].status = _ondemandentryhandler.BUILDING;
+ entrypoints[bundlePath] = (0, _entries.finalizeEntrypoint)({
+ name: bundlePath,
+ compilerType: _constants1.COMPILER_NAMES.client,
+ value: entryData.request,
+ hasAppDir
+ });
+ } else {
+ entries[entryKey].status = _ondemandentryhandler.BUILDING;
+ entrypoints[bundlePath] = (0, _entries.finalizeEntrypoint)({
+ name: bundlePath,
+ compilerType: _constants1.COMPILER_NAMES.client,
+ value: (0, _entries.getClientEntry)({
+ absolutePagePath: entryData.absolutePagePath,
+ page
+ }),
+ hasAppDir
+ });
+ }
+ },
+ onServer: ()=>{
+ // TODO-APP: verify if child entry should support.
+ if (!isNodeServerCompilation || !isEntry) return;
+ entries[entryKey].status = _ondemandentryhandler.BUILDING;
+ let relativeRequest = (0, _path.relative)(config.context, entryData.absolutePagePath);
+ if (!(0, _path.isAbsolute)(relativeRequest) && !relativeRequest.startsWith('../')) {
+ relativeRequest = `./${relativeRequest}`;
+ }
+ let value;
+ if (isInstrumentation) {
+ value = (0, _entries.getInstrumentationEntry)({
+ absolutePagePath: entryData.absolutePagePath,
+ isEdgeServer: false,
+ isDev: true
+ });
+ entrypoints[bundlePath] = (0, _entries.finalizeEntrypoint)({
+ compilerType: _constants1.COMPILER_NAMES.server,
+ name: bundlePath,
+ isServerComponent: true,
+ value,
+ hasAppDir
+ });
+ } else if ((0, _utils.isMiddlewareFile)(page)) {
+ value = (0, _entries.getEdgeServerEntry)({
+ absolutePagePath: entryData.absolutePagePath,
+ rootDir: this.dir,
+ buildId: this.buildId,
+ bundlePath,
+ config: this.config,
+ isDev: true,
+ page,
+ pages: this.pagesMapping,
+ isServerComponent,
+ pagesType: _pagetypes.PAGE_TYPES.PAGES,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion
+ });
+ } else if (isAppPath) {
+ // This path normalization is critical for webpack to resolve the next internals as entry.
+ const pagePath = entryData.absolutePagePath.startsWith((0, _path.dirname)(require.resolve('next/package.json'))) ? entryData.absolutePagePath : _path.posix.join(_constants.APP_DIR_ALIAS, (0, _path.relative)(this.appDir, entryData.absolutePagePath).replace(/\\/g, '/'));
+ value = (0, _entries.getAppEntry)({
+ name: bundlePath,
+ page,
+ appPaths: entryData.appPaths,
+ pagePath,
+ appDir: this.appDir,
+ pageExtensions: this.config.pageExtensions,
+ rootDir: this.dir,
+ isDev: true,
+ tsconfigPath: this.config.typescript.tsconfigPath,
+ basePath: this.config.basePath,
+ assetPrefix: this.config.assetPrefix,
+ nextConfigOutput: this.config.output,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion,
+ middlewareConfig: Buffer.from(JSON.stringify((staticInfo == null ? void 0 : staticInfo.middleware) || {})).toString('base64'),
+ isGlobalNotFoundEnabled: this.config.experimental.globalNotFound ? true : undefined
+ });
+ } else if ((0, _isapiroute.isAPIRoute)(page)) {
+ value = (0, _nextrouteloader.getRouteLoaderEntry)({
+ kind: _routekind.RouteKind.PAGES_API,
+ page,
+ absolutePagePath: relativeRequest,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion,
+ middlewareConfig: (staticInfo == null ? void 0 : staticInfo.middleware) || {}
+ });
+ } else if (!(0, _utils.isMiddlewareFile)(page) && !(0, _isinternalcomponent.isInternalComponent)(relativeRequest) && !(0, _isinternalcomponent.isNonRoutePagesPage)(page) && !isInstrumentation) {
+ value = (0, _nextrouteloader.getRouteLoaderEntry)({
+ kind: _routekind.RouteKind.PAGES,
+ page,
+ pages: this.pagesMapping,
+ absolutePagePath: relativeRequest,
+ preferredRegion: staticInfo == null ? void 0 : staticInfo.preferredRegion,
+ middlewareConfig: (staticInfo == null ? void 0 : staticInfo.middleware) ?? {}
+ });
+ } else {
+ value = relativeRequest;
+ }
+ entrypoints[bundlePath] = (0, _entries.finalizeEntrypoint)({
+ compilerType: _constants1.COMPILER_NAMES.server,
+ name: bundlePath,
+ isServerComponent,
+ value,
+ hasAppDir
+ });
+ }
+ });
+ }));
+ if (!this.hasAmpEntrypoints) {
+ delete entrypoints[_constants1.CLIENT_STATIC_FILES_RUNTIME_AMP];
+ }
+ if (!this.hasPagesRouterEntrypoints) {
+ delete entrypoints[_constants1.CLIENT_STATIC_FILES_RUNTIME_MAIN];
+ delete entrypoints['pages/_app'];
+ delete entrypoints['pages/_error'];
+ delete entrypoints['/_error'];
+ delete entrypoints['pages/_document'];
+ }
+ // Remove React Refresh entrypoint chunk as `app` doesn't require it.
+ if (!this.hasAmpEntrypoints && !this.hasPagesRouterEntrypoints) {
+ delete entrypoints[_constants1.CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH];
+ }
+ if (!this.hasAppRouterEntrypoints) {
+ delete entrypoints[_constants1.CLIENT_STATIC_FILES_RUNTIME_MAIN_APP];
+ }
+ return entrypoints;
+ };
+ }
+ // Enable building of client compilation before server compilation in development
+ // @ts-ignore webpack 5
+ this.activeWebpackConfigs.parallelism = 1;
+ await Promise.all(Array.from((0, _webpackconfig.getCacheDirectories)(this.activeWebpackConfigs)).map(_cacheinvalidation.checkPersistentCacheInvalidationAndCleanup));
+ this.multiCompiler = (0, _getwebpackbundler.default)()(this.activeWebpackConfigs);
+ // Copy over the filesystem so that it is shared between all compilers.
+ const inputFileSystem = this.multiCompiler.compilers[0].inputFileSystem;
+ for (const compiler of this.multiCompiler.compilers){
+ compiler.inputFileSystem = inputFileSystem;
+ // This is set for the initial compile. After that Watching class in webpack adds it.
+ compiler.fsStartTime = Date.now();
+ // Ensure NodeEnvironmentPlugin doesn't purge the inputFileSystem. Purging is handled in `done` below.
+ compiler.hooks.beforeRun.intercept({
+ register (tapInfo) {
+ if (tapInfo.name === 'NodeEnvironmentPlugin') {
+ return null;
+ }
+ return tapInfo;
+ }
+ });
+ }
+ this.multiCompiler.hooks.done.tap('NextjsHotReloader', ()=>{
+ var _inputFileSystem_purge;
+ inputFileSystem == null ? void 0 : (_inputFileSystem_purge = inputFileSystem.purge) == null ? void 0 : _inputFileSystem_purge.call(inputFileSystem);
+ });
+ (0, _output.watchCompilers)(this.multiCompiler.compilers[0], this.multiCompiler.compilers[1], this.multiCompiler.compilers[2]);
+ // Watch for changes to client/server page files so we can tell when just
+ // the server file changes and trigger a reload for GS(S)P pages
+ const changedClientPages = new Set();
+ const changedServerPages = new Set();
+ const changedEdgeServerPages = new Set();
+ const changedServerComponentPages = new Set();
+ const changedCSSImportPages = new Set();
+ const prevClientPageHashes = new Map();
+ const prevServerPageHashes = new Map();
+ const prevEdgeServerPageHashes = new Map();
+ const prevCSSImportModuleHashes = new Map();
+ const pageExtensionRegex = new RegExp(`\\.(?:${this.config.pageExtensions.join('|')})$`);
+ const trackPageChanges = (pageHashMap, changedItems, serverComponentChangedItems)=>(stats)=>{
+ try {
+ stats.entrypoints.forEach((entry, key)=>{
+ if (key.startsWith('pages/') || key.startsWith('app/') || (0, _utils.isMiddlewareFilename)(key)) {
+ // TODO this doesn't handle on demand loaded chunks
+ entry.chunks.forEach((chunk)=>{
+ if (chunk.id === key) {
+ const modsIterable = stats.chunkGraph.getChunkModulesIterable(chunk);
+ let hasCSSModuleChanges = false;
+ let chunksHash = new _webpack.StringXor();
+ let chunksHashServerLayer = new _webpack.StringXor();
+ modsIterable.forEach((mod)=>{
+ if (mod.resource && mod.resource.replace(/\\/g, '/').includes(key) && // Shouldn't match CSS modules, etc.
+ pageExtensionRegex.test(mod.resource)) {
+ var _mod_buildInfo_rsc, _mod_buildInfo;
+ // use original source to calculate hash since mod.hash
+ // includes the source map in development which changes
+ // every time for both server and client so we calculate
+ // the hash without the source map for the page module
+ const hash = require('crypto').createHash('sha1').update(mod.originalSource().buffer()).digest().toString('hex');
+ if (mod.layer === _constants.WEBPACK_LAYERS.reactServerComponents && (mod == null ? void 0 : (_mod_buildInfo = mod.buildInfo) == null ? void 0 : (_mod_buildInfo_rsc = _mod_buildInfo.rsc) == null ? void 0 : _mod_buildInfo_rsc.type) !== 'client') {
+ chunksHashServerLayer.add(hash);
+ }
+ chunksHash.add(hash);
+ } else {
+ var _mod_buildInfo_rsc1, _mod_buildInfo1;
+ // for non-pages we can use the module hash directly
+ const hash = stats.chunkGraph.getModuleHash(mod, chunk.runtime);
+ if (mod.layer === _constants.WEBPACK_LAYERS.reactServerComponents && (mod == null ? void 0 : (_mod_buildInfo1 = mod.buildInfo) == null ? void 0 : (_mod_buildInfo_rsc1 = _mod_buildInfo1.rsc) == null ? void 0 : _mod_buildInfo_rsc1.type) !== 'client') {
+ chunksHashServerLayer.add(hash);
+ }
+ chunksHash.add(hash);
+ // Both CSS import changes from server and client
+ // components are tracked.
+ if (key.startsWith('app/') && /\.(css|scss|sass)$/.test(mod.resource || '')) {
+ const resourceKey = mod.layer + ':' + mod.resource;
+ const prevHash = prevCSSImportModuleHashes.get(resourceKey);
+ if (prevHash && prevHash !== hash) {
+ hasCSSModuleChanges = true;
+ }
+ prevCSSImportModuleHashes.set(resourceKey, hash);
+ }
+ }
+ });
+ const prevHash = pageHashMap.get(key);
+ const curHash = chunksHash.toString();
+ if (prevHash && prevHash !== curHash) {
+ changedItems.add(key);
+ }
+ pageHashMap.set(key, curHash);
+ if (serverComponentChangedItems) {
+ const serverKey = _constants.WEBPACK_LAYERS.reactServerComponents + ':' + key;
+ const prevServerHash = pageHashMap.get(serverKey);
+ const curServerHash = chunksHashServerLayer.toString();
+ if (prevServerHash && prevServerHash !== curServerHash) {
+ serverComponentChangedItems.add(key);
+ }
+ pageHashMap.set(serverKey, curServerHash);
+ }
+ if (hasCSSModuleChanges) {
+ changedCSSImportPages.add(key);
+ }
+ }
+ });
+ }
+ });
+ } catch (err) {
+ console.error(err);
+ }
+ };
+ this.multiCompiler.compilers[0].hooks.emit.tap('NextjsHotReloaderForClient', trackPageChanges(prevClientPageHashes, changedClientPages));
+ this.multiCompiler.compilers[1].hooks.emit.tap('NextjsHotReloaderForServer', trackPageChanges(prevServerPageHashes, changedServerPages, changedServerComponentPages));
+ this.multiCompiler.compilers[2].hooks.emit.tap('NextjsHotReloaderForServer', trackPageChanges(prevEdgeServerPageHashes, changedEdgeServerPages, changedServerComponentPages));
+ // This plugin watches for changes to _document.js and notifies the client side that it should reload the page
+ this.multiCompiler.compilers[1].hooks.failed.tap('NextjsHotReloaderForServer', (err)=>{
+ this.serverError = err;
+ this.serverStats = null;
+ this.serverChunkNames = undefined;
+ });
+ this.multiCompiler.compilers[2].hooks.done.tap('NextjsHotReloaderForServer', (stats)=>{
+ this.serverError = null;
+ this.edgeServerStats = stats;
+ });
+ this.multiCompiler.compilers[1].hooks.done.tap('NextjsHotReloaderForServer', (stats)=>{
+ this.serverError = null;
+ this.serverStats = stats;
+ if (!this.pagesDir) {
+ return;
+ }
+ const { compilation } = stats;
+ // We only watch `_document` for changes on the server compilation
+ // the rest of the files will be triggered by the client compilation
+ const documentChunk = compilation.namedChunks.get('pages/_document');
+ // If the document chunk can't be found we do nothing
+ if (!documentChunk) {
+ return;
+ }
+ // Initial value
+ if (this.serverPrevDocumentHash === null) {
+ this.serverPrevDocumentHash = documentChunk.hash || null;
+ return;
+ }
+ // If _document.js didn't change we don't trigger a reload.
+ if (documentChunk.hash === this.serverPrevDocumentHash) {
+ return;
+ }
+ // As document chunk will change if new app pages are joined,
+ // since react bundle is different it will effect the chunk hash.
+ // So we diff the chunk changes, if there's only new app page chunk joins,
+ // then we don't trigger a reload by checking pages/_document chunk change.
+ if (this.appDir) {
+ const chunkNames = new Set(compilation.namedChunks.keys());
+ const diffChunkNames = (0, _utils.difference)(this.serverChunkNames || new Set(), chunkNames);
+ if (diffChunkNames.length === 0 || diffChunkNames.every((chunkName)=>chunkName.startsWith('app/'))) {
+ return;
+ }
+ this.serverChunkNames = chunkNames;
+ }
+ this.serverPrevDocumentHash = documentChunk.hash || null;
+ // Notify reload to reload the page, as _document.js was changed (different hash)
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: '_document has changed'
+ });
+ });
+ this.multiCompiler.hooks.done.tap('NextjsHotReloaderForServer', (stats)=>{
+ const reloadAfterInvalidation = this.reloadAfterInvalidation;
+ this.reloadAfterInvalidation = false;
+ const serverOnlyChanges = (0, _utils.difference)(changedServerPages, changedClientPages);
+ const edgeServerOnlyChanges = (0, _utils.difference)(changedEdgeServerPages, changedClientPages);
+ const pageChanges = serverOnlyChanges.concat(edgeServerOnlyChanges).filter((key)=>key.startsWith('pages/'));
+ const middlewareChanges = [
+ ...Array.from(changedEdgeServerPages),
+ ...Array.from(changedServerPages)
+ ].filter((name)=>(0, _utils.isMiddlewareFilename)(name));
+ if (middlewareChanges.length > 0) {
+ this.send({
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES
+ });
+ }
+ if (pageChanges.length > 0) {
+ this.send({
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ONLY_CHANGES,
+ pages: serverOnlyChanges.map((pg)=>(0, _denormalizepagepath.denormalizePagePath)(pg.slice('pages'.length)))
+ });
+ }
+ if (changedServerComponentPages.size || changedCSSImportPages.size || reloadAfterInvalidation) {
+ this.resetFetch();
+ this.refreshServerComponents(stats.hash);
+ }
+ changedClientPages.clear();
+ changedServerPages.clear();
+ changedEdgeServerPages.clear();
+ changedServerComponentPages.clear();
+ changedCSSImportPages.clear();
+ });
+ this.multiCompiler.compilers[0].hooks.failed.tap('NextjsHotReloaderForClient', (err)=>{
+ this.clientError = err;
+ this.clientStats = null;
+ });
+ this.multiCompiler.compilers[0].hooks.done.tap('NextjsHotReloaderForClient', (stats)=>{
+ this.clientError = null;
+ this.clientStats = stats;
+ const { compilation } = stats;
+ const chunkNames = new Set([
+ ...compilation.namedChunks.keys()
+ ].filter((name)=>!!(0, _getroutefromentrypoint.default)(name)));
+ if (this.prevChunkNames) {
+ // detect chunks which have to be replaced with a new template
+ // e.g, pages/index.js <-> pages/_error.js
+ const addedPages = diff(chunkNames, this.prevChunkNames);
+ const removedPages = diff(this.prevChunkNames, chunkNames);
+ if (addedPages.size > 0) {
+ for (const addedPage of addedPages){
+ const page = (0, _getroutefromentrypoint.default)(addedPage);
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE,
+ data: [
+ page
+ ]
+ });
+ }
+ }
+ if (removedPages.size > 0) {
+ for (const removedPage of removedPages){
+ const page = (0, _getroutefromentrypoint.default)(removedPage);
+ this.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE,
+ data: [
+ page
+ ]
+ });
+ }
+ }
+ }
+ this.prevChunkNames = chunkNames;
+ });
+ this.webpackHotMiddleware = new _hotmiddleware.WebpackHotMiddleware(this.multiCompiler.compilers, this.versionInfo, this.devtoolsFrontendUrl);
+ let booted = false;
+ this.watcher = await new Promise((resolve)=>{
+ var _this_multiCompiler;
+ const watcher = (_this_multiCompiler = this.multiCompiler) == null ? void 0 : _this_multiCompiler.watch(// @ts-ignore webpack supports an array of watchOptions when using a multiCompiler
+ this.activeWebpackConfigs.map((config)=>config.watchOptions), // Errors are handled separately
+ (_err)=>{
+ if (!booted) {
+ booted = true;
+ resolve(watcher);
+ }
+ });
+ });
+ this.onDemandEntries = (0, _ondemandentryhandler.onDemandEntryHandler)({
+ hotReloader: this,
+ multiCompiler: this.multiCompiler,
+ pagesDir: this.pagesDir,
+ appDir: this.appDir,
+ rootDir: this.dir,
+ nextConfig: this.config,
+ ...this.config.onDemandEntries
+ });
+ this.middlewares = [
+ (0, _middlewarewebpack.getOverlayMiddleware)({
+ rootDirectory: this.dir,
+ isSrcDir: this.isSrcDir,
+ clientStats: ()=>this.clientStats,
+ serverStats: ()=>this.serverStats,
+ edgeServerStats: ()=>this.edgeServerStats
+ }),
+ (0, _middlewarewebpack.getSourceMapMiddleware)({
+ clientStats: ()=>this.clientStats,
+ serverStats: ()=>this.serverStats,
+ edgeServerStats: ()=>this.edgeServerStats
+ }),
+ (0, _getnexterrorfeedbackmiddleware.getNextErrorFeedbackMiddleware)(this.telemetry),
+ (0, _getdevoverlayfontmiddleware.getDevOverlayFontMiddleware)(),
+ (0, _devindicatormiddleware.getDisableDevIndicatorMiddleware)(),
+ (0, _restartdevservermiddleware.getRestartDevServerMiddleware)({
+ telemetry: this.telemetry,
+ webpackCacheDirectories: this.activeWebpackConfigs != null ? (0, _webpackconfig.getCacheDirectories)(this.activeWebpackConfigs) : undefined
+ })
+ ];
+ }
+ invalidate({ reloadAfterInvalidation } = {
+ reloadAfterInvalidation: false
+ }) {
+ var _this_multiCompiler;
+ // Cache the `reloadAfterInvalidation` flag, and use it to reload the page when compilation is done
+ this.reloadAfterInvalidation = reloadAfterInvalidation;
+ const outputPath = (_this_multiCompiler = this.multiCompiler) == null ? void 0 : _this_multiCompiler.outputPath;
+ if (outputPath) {
+ var _getInvalidator;
+ (_getInvalidator = (0, _ondemandentryhandler.getInvalidator)(outputPath)) == null ? void 0 : _getInvalidator.invalidate();
+ }
+ }
+ async getCompilationErrors(page) {
+ var _this_clientStats, _this_serverStats, _this_edgeServerStats;
+ const getErrors = ({ compilation })=>{
+ var _failedPages_normalizedPage;
+ const failedPages = erroredPages(compilation);
+ const normalizedPage = (0, _normalizepathsep.normalizePathSep)(page);
+ // If there is an error related to the requesting page we display it instead of the first error
+ return ((_failedPages_normalizedPage = failedPages[normalizedPage]) == null ? void 0 : _failedPages_normalizedPage.length) > 0 ? failedPages[normalizedPage] : compilation.errors;
+ };
+ if (this.clientError) {
+ return [
+ this.clientError
+ ];
+ } else if (this.serverError) {
+ return [
+ this.serverError
+ ];
+ } else if ((_this_clientStats = this.clientStats) == null ? void 0 : _this_clientStats.hasErrors()) {
+ return getErrors(this.clientStats);
+ } else if ((_this_serverStats = this.serverStats) == null ? void 0 : _this_serverStats.hasErrors()) {
+ return getErrors(this.serverStats);
+ } else if ((_this_edgeServerStats = this.edgeServerStats) == null ? void 0 : _this_edgeServerStats.hasErrors()) {
+ return getErrors(this.edgeServerStats);
+ } else {
+ return [];
+ }
+ }
+ send(action) {
+ this.webpackHotMiddleware.publish(action);
+ }
+ async ensurePage({ page, clientOnly, appPaths, definition, isApp, url }) {
+ return this.hotReloaderSpan.traceChild('ensure-page', {
+ inputPage: page
+ }).traceAsyncFn(async ()=>{
+ var _this_onDemandEntries;
+ // Make sure we don't re-build or dispose prebuilt pages
+ if (page !== '/_error' && _constants1.BLOCKED_PAGES.indexOf(page) !== -1) {
+ return;
+ }
+ const error = clientOnly ? this.clientError : this.serverError || this.clientError;
+ if (error) {
+ throw error;
+ }
+ return (_this_onDemandEntries = this.onDemandEntries) == null ? void 0 : _this_onDemandEntries.ensurePage({
+ page,
+ appPaths,
+ definition,
+ isApp,
+ url
+ });
+ });
+ }
+ close() {
+ var _this_webpackHotMiddleware;
+ (_this_webpackHotMiddleware = this.webpackHotMiddleware) == null ? void 0 : _this_webpackHotMiddleware.close();
+ }
+}
+
+//# sourceMappingURL=hot-reloader-webpack.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/log-requests.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/log-requests.js
new file mode 100644
index 0000000000000000000000000000000000000000..3bcdecc08a95c1c35a9dcd69bafec74801c0b91f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/log-requests.js
@@ -0,0 +1,110 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ ignoreLoggingIncomingRequests: null,
+ logRequests: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ ignoreLoggingIncomingRequests: function() {
+ return ignoreLoggingIncomingRequests;
+ },
+ logRequests: function() {
+ return logRequests;
+ }
+});
+const _picocolors = require("../../lib/picocolors");
+const _url = require("../../lib/url");
+const _requestmeta = require("../request-meta");
+function ignoreLoggingIncomingRequests(request, loggingConfig) {
+ var _loggingConfig_incomingRequests;
+ // If it's boolean use the boolean value
+ if (typeof (loggingConfig == null ? void 0 : loggingConfig.incomingRequests) === 'boolean') {
+ return !loggingConfig.incomingRequests;
+ }
+ // Any of the value on the chain is falsy, will not ignore the request.
+ const ignore = loggingConfig == null ? void 0 : (_loggingConfig_incomingRequests = loggingConfig.incomingRequests) == null ? void 0 : _loggingConfig_incomingRequests.ignore;
+ // If ignore is not set, don't ignore anything
+ if (!ignore) {
+ return false;
+ }
+ // If array of RegExp, ignore if any pattern matches
+ return ignore.some((pattern)=>pattern.test(request.url));
+}
+function logRequests(options) {
+ const { request, response, loggingConfig, requestDurationInMs } = options;
+ if (!ignoreLoggingIncomingRequests(request, loggingConfig)) {
+ logIncomingRequests({
+ request,
+ requestDurationInMs,
+ statusCode: response.statusCode
+ });
+ }
+ if (request.fetchMetrics) {
+ for (const fetchMetric of request.fetchMetrics){
+ logFetchMetric(fetchMetric, loggingConfig);
+ }
+ }
+}
+function logIncomingRequests(options) {
+ const { request, requestDurationInMs, statusCode } = options;
+ const isRSC = (0, _requestmeta.getRequestMeta)(request, 'isRSCRequest');
+ const url = isRSC ? (0, _url.stripNextRscUnionQuery)(request.url) : request.url;
+ const statusCodeColor = statusCode < 200 ? _picocolors.white : statusCode < 300 ? _picocolors.green : statusCode < 400 ? _picocolors.blue : statusCode < 500 ? _picocolors.yellow : _picocolors.red;
+ const coloredStatus = statusCodeColor(statusCode.toString());
+ return writeLine(`${request.method} ${url} ${coloredStatus} in ${requestDurationInMs}ms`);
+}
+function logFetchMetric(fetchMetric, loggingConfig) {
+ var _loggingConfig_fetches;
+ let { cacheReason, cacheStatus, cacheWarning, end, method, start, status, url } = fetchMetric;
+ if (cacheStatus === 'hmr' && !(loggingConfig == null ? void 0 : (_loggingConfig_fetches = loggingConfig.fetches) == null ? void 0 : _loggingConfig_fetches.hmrRefreshes)) {
+ // Cache hits during HMR refreshes are intentionally not logged, unless
+ // explicitly enabled in the logging config.
+ return;
+ }
+ if (loggingConfig == null ? void 0 : loggingConfig.fetches) {
+ if (url.length > 48 && !loggingConfig.fetches.fullUrl) {
+ url = truncateUrl(url);
+ }
+ writeLine((0, _picocolors.white)(`${method} ${url} ${status} in ${Math.round(end - start)}ms ${formatCacheStatus(cacheStatus)}`), 1);
+ if (cacheStatus === 'skip' || cacheStatus === 'miss') {
+ writeLine((0, _picocolors.gray)(`Cache ${cacheStatus === 'skip' ? 'skipped' : 'missed'} reason: (${(0, _picocolors.white)(cacheReason)})`), 2);
+ }
+ } else if (cacheWarning) {
+ // When logging for fetches is not enabled, we still want to print any
+ // associated warnings, so we print the request first to provide context.
+ writeLine((0, _picocolors.white)(`${method} ${url}`), 1);
+ }
+ if (cacheWarning) {
+ writeLine(`${(0, _picocolors.yellow)((0, _picocolors.bold)('⚠'))} ${(0, _picocolors.white)(cacheWarning)}`, 2);
+ }
+}
+function writeLine(text, indentationLevel = 0) {
+ process.stdout.write(` ${'│ '.repeat(indentationLevel)}${text}\n`);
+}
+function truncate(text, maxLength) {
+ return maxLength !== undefined && text.length > maxLength ? text.substring(0, maxLength) + '..' : text;
+}
+function truncateUrl(url) {
+ const { protocol, host, pathname, search } = new URL(url);
+ return protocol + '//' + truncate(host, 16) + truncate(pathname, 24) + truncate(search, 16);
+}
+function formatCacheStatus(cacheStatus) {
+ switch(cacheStatus){
+ case 'hmr':
+ return (0, _picocolors.green)('(HMR cache)');
+ case 'hit':
+ return (0, _picocolors.green)('(cache hit)');
+ default:
+ return (0, _picocolors.yellow)(`(cache ${cacheStatus})`);
+ }
+}
+
+//# sourceMappingURL=log-requests.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/messages.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/messages.js
new file mode 100644
index 0000000000000000000000000000000000000000..7a3a9035d427f64c447600cb0b2c8d689f9e3c34
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/messages.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "FAST_REFRESH_RUNTIME_RELOAD", {
+ enumerable: true,
+ get: function() {
+ return FAST_REFRESH_RUNTIME_RELOAD;
+ }
+});
+const FAST_REFRESH_RUNTIME_RELOAD = 'Fast Refresh had to perform a full reload due to a runtime error.';
+
+//# sourceMappingURL=messages.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-turbopack.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-turbopack.js
new file mode 100644
index 0000000000000000000000000000000000000000..c6398ca5d3e71931eba7ff60b8ca8c0216903f26
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-turbopack.js
@@ -0,0 +1,391 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getOriginalStackFrames: null,
+ getOverlayMiddleware: null,
+ getSourceMapMiddleware: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getOriginalStackFrames: function() {
+ return getOriginalStackFrames;
+ },
+ getOverlayMiddleware: function() {
+ return getOverlayMiddleware;
+ },
+ getSourceMapMiddleware: function() {
+ return getSourceMapMiddleware;
+ }
+});
+const _shared = require("../../next-devtools/server/shared");
+const _middlewareresponse = require("../../next-devtools/server/middleware-response");
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _launcheditor = require("../../next-devtools/server/launch-editor");
+const _sourcemap08 = require("next/dist/compiled/source-map08");
+const _sourcemaps = require("../lib/source-maps");
+const _getsourcemapfromfile = require("./get-source-map-from-file");
+const _nodemodule = require("node:module");
+const _nodeurl = require("node:url");
+const _nodeutil = require("node:util");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function shouldIgnorePath(modulePath) {
+ return modulePath.includes('node_modules') || // Only relevant for when Next.js is symlinked e.g. in the Next.js monorepo
+ modulePath.includes('next/dist') || modulePath.startsWith('node:');
+}
+const currentSourcesByFile = new Map();
+async function batchedTraceSource(project, frame) {
+ const file = frame.file ? decodeURIComponent(frame.file) : undefined;
+ if (!file) return;
+ // For node internals they cannot traced the actual source code with project.traceSource,
+ // we need an early return to indicate it's ignored to avoid the unknown scheme error from `project.traceSource`.
+ if (file.startsWith('node:')) {
+ return {
+ frame: {
+ file,
+ lineNumber: frame.line ?? 0,
+ column: frame.column ?? 0,
+ methodName: frame.methodName ?? '',
+ ignored: true,
+ arguments: []
+ },
+ source: null
+ };
+ }
+ const currentDirectoryFileUrl = (0, _nodeurl.pathToFileURL)(process.cwd()).href;
+ const sourceFrame = await project.traceSource(frame, currentDirectoryFileUrl);
+ if (!sourceFrame) {
+ return {
+ frame: {
+ file,
+ lineNumber: frame.line ?? 0,
+ column: frame.column ?? 0,
+ methodName: frame.methodName ?? '',
+ ignored: shouldIgnorePath(file),
+ arguments: []
+ },
+ source: null
+ };
+ }
+ let source = null;
+ const originalFile = sourceFrame.originalFile;
+ // Don't look up source for node_modules or internals. These can often be large bundled files.
+ const ignored = shouldIgnorePath(originalFile ?? sourceFrame.file) || // isInternal means resource starts with turbopack:///[turbopack]
+ !!sourceFrame.isInternal;
+ if (originalFile && !ignored) {
+ let sourcePromise = currentSourcesByFile.get(originalFile);
+ if (!sourcePromise) {
+ sourcePromise = project.getSourceForAsset(originalFile);
+ currentSourcesByFile.set(originalFile, sourcePromise);
+ setTimeout(()=>{
+ // Cache file reads for 100ms, as frames will often reference the same
+ // files and can be large.
+ currentSourcesByFile.delete(originalFile);
+ }, 100);
+ }
+ source = await sourcePromise;
+ }
+ // TODO: get ignoredList from turbopack source map
+ const ignorableFrame = {
+ file: sourceFrame.file,
+ lineNumber: sourceFrame.line ?? 0,
+ column: sourceFrame.column ?? 0,
+ methodName: // We ignore the sourcemapped name since it won't be the correct name.
+ // The callsite will point to the column of the variable name instead of the
+ // name of the enclosing function.
+ // TODO(NDX-531): Spy on prepareStackTrace to get the enclosing line number for method name mapping.
+ frame.methodName ?? '',
+ ignored,
+ arguments: []
+ };
+ return {
+ frame: ignorableFrame,
+ source
+ };
+}
+function parseFile(fileParam) {
+ if (!fileParam) {
+ return undefined;
+ }
+ return (0, _sourcemaps.devirtualizeReactServerURL)(fileParam);
+}
+function createStackFrames(body) {
+ const { frames, isServer } = body;
+ return frames.map((frame)=>{
+ const file = parseFile(frame.file);
+ if (!file) {
+ return undefined;
+ }
+ return {
+ file,
+ methodName: frame.methodName ?? '',
+ line: frame.lineNumber ?? 0,
+ column: frame.column ?? 0,
+ isServer
+ };
+ }).filter((f)=>f !== undefined);
+}
+function createStackFrame(searchParams) {
+ const file = parseFile(searchParams.get('file'));
+ if (!file) {
+ return undefined;
+ }
+ return {
+ file,
+ methodName: searchParams.get('methodName') ?? '',
+ line: parseInt(searchParams.get('lineNumber') ?? '0', 10) || 0,
+ column: parseInt(searchParams.get('column') ?? '0', 10) || 0,
+ isServer: searchParams.get('isServer') === 'true'
+ };
+}
+/**
+ * @returns 1-based lines and 0-based columns
+ */ async function nativeTraceSource(frame) {
+ const sourceURL = frame.file;
+ let sourceMapPayload;
+ try {
+ var _findSourceMap;
+ sourceMapPayload = (_findSourceMap = (0, _nodemodule.findSourceMap)(sourceURL)) == null ? void 0 : _findSourceMap.payload;
+ } catch (cause) {
+ throw Object.defineProperty(new Error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to find the original code.`, {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E635",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (sourceMapPayload !== undefined) {
+ let consumer;
+ try {
+ consumer = await new _sourcemap08.SourceMapConsumer(sourceMapPayload);
+ } catch (cause) {
+ throw Object.defineProperty(new Error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to find the original code.`, {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E635",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let traced;
+ try {
+ const originalPosition = consumer.originalPositionFor({
+ line: frame.line ?? 1,
+ // 0-based columns out requires 0-based columns in.
+ column: (frame.column ?? 1) - 1
+ });
+ if (originalPosition.source === null) {
+ traced = null;
+ } else {
+ const sourceContent = consumer.sourceContentFor(originalPosition.source, /* returnNullOnMissing */ true) ?? null;
+ traced = {
+ originalPosition,
+ sourceContent
+ };
+ }
+ } finally{
+ consumer.destroy();
+ }
+ if (traced !== null) {
+ var // We ignore the sourcemapped name since it won't be the correct name.
+ // The callsite will point to the column of the variable name instead of the
+ // name of the enclosing function.
+ // TODO(NDX-531): Spy on prepareStackTrace to get the enclosing line number for method name mapping.
+ _frame_methodName_replace, _frame_methodName;
+ const { originalPosition, sourceContent } = traced;
+ const applicableSourceMap = (0, _sourcemaps.findApplicableSourceMapPayload)(frame.line ?? 0, frame.column ?? 0, sourceMapPayload);
+ // TODO(veil): Upstream a method to sourcemap consumer that immediately says if a frame is ignored or not.
+ let ignored = false;
+ if (applicableSourceMap === undefined) {
+ console.error('No applicable source map found in sections for frame', frame);
+ } else {
+ var _applicableSourceMap_ignoreList;
+ // TODO: O(n^2). Consider moving `ignoreList` into a Set
+ const sourceIndex = applicableSourceMap.sources.indexOf(originalPosition.source);
+ ignored = ((_applicableSourceMap_ignoreList = applicableSourceMap.ignoreList) == null ? void 0 : _applicableSourceMap_ignoreList.includes(sourceIndex)) ?? // When sourcemap is not available, fallback to checking `frame.file`.
+ // e.g. In pages router, nextjs server code is not bundled into the page.
+ shouldIgnorePath(frame.file);
+ }
+ const originalStackFrame = {
+ methodName: ((_frame_methodName = frame.methodName) == null ? void 0 : (_frame_methodName_replace = _frame_methodName.replace('__WEBPACK_DEFAULT_EXPORT__', 'default')) == null ? void 0 : _frame_methodName_replace.replace('__webpack_exports__.', '')) || '',
+ column: (originalPosition.column ?? 0) + 1,
+ file: originalPosition.source,
+ lineNumber: originalPosition.line ?? 0,
+ // TODO: c&p from async createOriginalStackFrame but why not frame.arguments?
+ arguments: [],
+ ignored
+ };
+ return {
+ frame: originalStackFrame,
+ source: sourceContent
+ };
+ }
+ }
+ return undefined;
+}
+async function createOriginalStackFrame(project, projectPath, frame) {
+ const traced = await nativeTraceSource(frame) ?? // TODO(veil): When would the bundler know more than native?
+ // If it's faster, try the bundler first and fall back to native later.
+ await batchedTraceSource(project, frame);
+ if (!traced) {
+ return null;
+ }
+ let normalizedStackFrameLocation = traced.frame.file;
+ if (normalizedStackFrameLocation !== null && normalizedStackFrameLocation.startsWith('file://')) {
+ normalizedStackFrameLocation = _path.default.relative(projectPath, (0, _nodeurl.fileURLToPath)(normalizedStackFrameLocation));
+ }
+ return {
+ originalStackFrame: {
+ arguments: traced.frame.arguments,
+ column: traced.frame.column,
+ file: normalizedStackFrameLocation,
+ ignored: traced.frame.ignored,
+ lineNumber: traced.frame.lineNumber,
+ methodName: traced.frame.methodName
+ },
+ originalCodeFrame: (0, _shared.getOriginalCodeFrame)(traced.frame, traced.source)
+ };
+}
+function getOverlayMiddleware({ project, projectPath, isSrcDir }) {
+ return async function(req, res, next) {
+ const { pathname, searchParams } = new URL(req.url, 'http://n');
+ if (pathname === '/__nextjs_original-stack-frames') {
+ if (req.method !== 'POST') {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ const body = await new Promise((resolve, reject)=>{
+ let data = '';
+ req.on('data', (chunk)=>{
+ data += chunk;
+ });
+ req.on('end', ()=>resolve(data));
+ req.on('error', reject);
+ });
+ const request = JSON.parse(body);
+ const result = await getOriginalStackFrames({
+ project,
+ projectPath,
+ frames: request.frames,
+ isServer: request.isServer,
+ isEdgeServer: request.isEdgeServer,
+ isAppDirectory: request.isAppDirectory
+ });
+ (0, _shared.ignoreListAnonymousStackFramesIfSandwiched)(result);
+ return _middlewareresponse.middlewareResponse.json(res, result);
+ } else if (pathname === '/__nextjs_launch-editor') {
+ const isAppRelativePath = searchParams.get('isAppRelativePath') === '1';
+ let openEditorResult;
+ if (isAppRelativePath) {
+ const relativeFilePath = searchParams.get('file') || '';
+ const absoluteFilePath = _path.default.join(projectPath, 'app', isSrcDir ? 'src' : '', relativeFilePath);
+ openEditorResult = await (0, _launcheditor.openFileInEditor)(absoluteFilePath, 1, 1);
+ } else {
+ const frame = createStackFrame(searchParams);
+ if (!frame) return _middlewareresponse.middlewareResponse.badRequest(res);
+ openEditorResult = await (0, _launcheditor.openFileInEditor)(frame.file, frame.line ?? 1, frame.column ?? 1);
+ }
+ if (openEditorResult.error) {
+ return _middlewareresponse.middlewareResponse.internalServerError(res);
+ }
+ if (!openEditorResult.found) {
+ return _middlewareresponse.middlewareResponse.notFound(res);
+ }
+ return _middlewareresponse.middlewareResponse.noContent(res);
+ }
+ return next();
+ };
+}
+function getSourceMapMiddleware(project) {
+ return async function(req, res, next) {
+ const { pathname, searchParams } = new URL(req.url, 'http://n');
+ if (pathname !== '/__nextjs_source-map') {
+ return next();
+ }
+ let filename = searchParams.get('filename');
+ if (!filename) {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ // TODO(veil): Always try the native version first.
+ // Externals could also be files that aren't bundled via Webpack.
+ if (filename.startsWith('webpack://') || filename.startsWith('webpack-internal:///')) {
+ const sourceMap = (0, _nodemodule.findSourceMap)(filename);
+ if (sourceMap) {
+ return _middlewareresponse.middlewareResponse.json(res, sourceMap.payload);
+ }
+ return _middlewareresponse.middlewareResponse.noContent(res);
+ }
+ try {
+ // Turbopack chunk filenames might be URL-encoded.
+ filename = decodeURI(filename);
+ } catch {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ if (_path.default.isAbsolute(filename)) {
+ filename = (0, _nodeurl.pathToFileURL)(filename).href;
+ }
+ try {
+ const sourceMapString = await project.getSourceMap(filename);
+ if (sourceMapString) {
+ return _middlewareresponse.middlewareResponse.jsonString(res, sourceMapString);
+ }
+ if (filename.startsWith('file:')) {
+ const sourceMap = await (0, _getsourcemapfromfile.getSourceMapFromFile)(filename);
+ if (sourceMap) {
+ return _middlewareresponse.middlewareResponse.json(res, sourceMap);
+ }
+ }
+ } catch (cause) {
+ return _middlewareresponse.middlewareResponse.internalServerError(res, Object.defineProperty(new Error(`Failed to get source map for '${filename}'. This is a bug in Next.js`, {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E719",
+ enumerable: false,
+ configurable: true
+ }));
+ }
+ _middlewareresponse.middlewareResponse.noContent(res);
+ };
+}
+async function getOriginalStackFrames({ project, projectPath, frames, isServer, isEdgeServer, isAppDirectory }) {
+ const stackFrames = createStackFrames({
+ frames,
+ isServer,
+ isEdgeServer,
+ isAppDirectory
+ });
+ return Promise.all(stackFrames.map(async (frame)=>{
+ try {
+ const stackFrame = await createOriginalStackFrame(project, projectPath, frame);
+ if (stackFrame === null) {
+ return {
+ status: 'rejected',
+ reason: 'Failed to create original stack frame'
+ };
+ }
+ return {
+ status: 'fulfilled',
+ value: stackFrame
+ };
+ } catch (error) {
+ return {
+ status: 'rejected',
+ reason: (0, _nodeutil.inspect)(error, {
+ colors: false
+ })
+ };
+ }
+ }));
+}
+
+//# sourceMappingURL=middleware-turbopack.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-webpack.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-webpack.js
new file mode 100644
index 0000000000000000000000000000000000000000..52733a58685672bf592e73b0601a3acbae52d0d5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/middleware-webpack.js
@@ -0,0 +1,476 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createOriginalStackFrame: null,
+ getIgnoredSources: null,
+ getOriginalStackFrames: null,
+ getOverlayMiddleware: null,
+ getSourceMapMiddleware: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createOriginalStackFrame: function() {
+ return createOriginalStackFrame;
+ },
+ getIgnoredSources: function() {
+ return getIgnoredSources;
+ },
+ getOriginalStackFrames: function() {
+ return getOriginalStackFrames;
+ },
+ getOverlayMiddleware: function() {
+ return getOverlayMiddleware;
+ },
+ getSourceMapMiddleware: function() {
+ return getSourceMapMiddleware;
+ }
+});
+const _module = require("module");
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _url = require("url");
+const _sourcemap08 = require("next/dist/compiled/source-map08");
+const _getsourcemapfromfile = require("./get-source-map-from-file");
+const _sourcemaps = require("../lib/source-maps");
+const _launcheditor = require("../../next-devtools/server/launch-editor");
+const _shared = require("../../next-devtools/server/shared");
+const _middlewareresponse = require("../../next-devtools/server/middleware-response");
+const _webpackmodulepath = require("../../next-devtools/shared/webpack-module-path");
+const _util = require("util");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function shouldIgnoreSource(sourceURL) {
+ return sourceURL.includes('node_modules') || // Only relevant for when Next.js is symlinked e.g. in the Next.js monorepo
+ sourceURL.includes('next/dist') || sourceURL.startsWith('node:');
+}
+function getModuleById(id, compilation) {
+ const { chunkGraph, modules } = compilation;
+ return [
+ ...modules
+ ].find((module1)=>chunkGraph.getModuleId(module1) === id);
+}
+function findModuleNotFoundFromError(errorMessage) {
+ var _errorMessage_match;
+ return errorMessage == null ? void 0 : (_errorMessage_match = errorMessage.match(/'([^']+)' module/)) == null ? void 0 : _errorMessage_match[1];
+}
+function getSourcePath(source) {
+ if (source.startsWith('file://')) {
+ return (0, _url.fileURLToPath)(source);
+ }
+ return source.replace(/^(webpack:\/\/\/|webpack:\/\/|webpack:\/\/_N_E\/)/, '');
+}
+/**
+ * @returns 1-based lines and 0-based columns
+ */ async function findOriginalSourcePositionAndContent(sourceMap, position) {
+ let consumer;
+ try {
+ consumer = await new _sourcemap08.SourceMapConsumer(sourceMap);
+ } catch (cause) {
+ console.error(Object.defineProperty(new Error(`${sourceMap.file}: Invalid source map. Only conformant source maps can be used to find the original code.`, {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E635",
+ enumerable: false,
+ configurable: true
+ }));
+ return null;
+ }
+ try {
+ const sourcePosition = consumer.originalPositionFor({
+ line: position.lineNumber ?? 1,
+ // 0-based columns out requires 0-based columns in.
+ column: (position.column ?? 1) - 1
+ });
+ if (!sourcePosition.source) {
+ return null;
+ }
+ const sourceContent = consumer.sourceContentFor(sourcePosition.source, /* returnNullOnMissing */ true) ?? null;
+ return {
+ sourcePosition,
+ sourceContent
+ };
+ } finally{
+ consumer.destroy();
+ }
+}
+function getIgnoredSources(sourceMap) {
+ const ignoreList = new Set(sourceMap.ignoreList ?? []);
+ const moduleFilenames = (sourceMap == null ? void 0 : sourceMap.sources) ?? [];
+ for(let index = 0; index < moduleFilenames.length; index++){
+ // bundlerFilePath case: webpack://./app/page.tsx
+ const webpackSourceURL = moduleFilenames[index];
+ // Format the path to the normal file path
+ const formattedFilePath = (0, _webpackmodulepath.formatFrameSourceFile)(webpackSourceURL);
+ if (shouldIgnoreSource(formattedFilePath)) {
+ ignoreList.add(index);
+ }
+ }
+ const ignoredSources = sourceMap.sources.map((source, index)=>{
+ var _sourceMap_sourcesContent;
+ return {
+ url: source,
+ ignored: ignoreList.has(sourceMap.sources.indexOf(source)),
+ content: ((_sourceMap_sourcesContent = sourceMap.sourcesContent) == null ? void 0 : _sourceMap_sourcesContent[index]) ?? null
+ };
+ });
+ return ignoredSources;
+}
+function isIgnoredSource(source, sourcePosition) {
+ if (sourcePosition.source == null) {
+ return true;
+ }
+ for (const ignoredSource of source.ignoredSources){
+ if (ignoredSource.ignored && ignoredSource.url === sourcePosition.source) {
+ return true;
+ }
+ }
+ return false;
+}
+function findOriginalSourcePositionAndContentFromCompilation(moduleId, importedModule, compilation) {
+ var _module_buildInfo_importLocByPath, _module_buildInfo;
+ const module1 = getModuleById(moduleId, compilation);
+ return (module1 == null ? void 0 : (_module_buildInfo = module1.buildInfo) == null ? void 0 : (_module_buildInfo_importLocByPath = _module_buildInfo.importLocByPath) == null ? void 0 : _module_buildInfo_importLocByPath.get(importedModule)) ?? null;
+}
+async function createOriginalStackFrame({ ignoredByDefault, source, rootDirectory, frame, errorMessage }) {
+ var // We ignore the sourcemapped name since it won't be the correct name.
+ // The callsite will point to the column of the variable name instead of the
+ // name of the enclosing function.
+ // TODO(NDX-531): Spy on prepareStackTrace to get the enclosing line number for method name mapping.
+ // default is not a valid identifier in JS so webpack uses a custom variable when it's an unnamed default export
+ // Resolve it back to `default` for the method name if the source position didn't have the method.
+ _frame_methodName_replace, _frame_methodName;
+ const moduleNotFound = findModuleNotFoundFromError(errorMessage);
+ const result = await (()=>{
+ if (moduleNotFound) {
+ if (source.type === 'file') {
+ return undefined;
+ }
+ return findOriginalSourcePositionAndContentFromCompilation(source.moduleId, moduleNotFound, source.compilation);
+ }
+ return findOriginalSourcePositionAndContent(source.sourceMap, frame);
+ })();
+ if (!result) {
+ return null;
+ }
+ const { sourcePosition, sourceContent } = result;
+ if (!sourcePosition.source) {
+ return null;
+ }
+ const ignored = ignoredByDefault || isIgnoredSource(source, sourcePosition) || // If the source file is externals, should be excluded even it's not ignored source.
+ // e.g. webpack://next/dist/.. needs to be ignored
+ shouldIgnoreSource(source.moduleURL);
+ const sourcePath = getSourcePath(// When sourcePosition.source is the loader path the modulePath is generally better.
+ (sourcePosition.source.includes('|') ? source.moduleURL : sourcePosition.source) || source.moduleURL);
+ const filePath = _path.default.resolve(rootDirectory, sourcePath);
+ const resolvedFilePath = _path.default.relative(rootDirectory, filePath);
+ const traced = {
+ file: resolvedFilePath,
+ lineNumber: sourcePosition.line,
+ column: (sourcePosition.column ?? 0) + 1,
+ methodName: (_frame_methodName = frame.methodName) == null ? void 0 : (_frame_methodName_replace = _frame_methodName.replace('__WEBPACK_DEFAULT_EXPORT__', 'default')) == null ? void 0 : _frame_methodName_replace.replace('__webpack_exports__.', ''),
+ arguments: [],
+ ignored
+ };
+ return {
+ originalStackFrame: traced,
+ originalCodeFrame: (0, _shared.getOriginalCodeFrame)(traced, sourceContent)
+ };
+}
+async function getSourceMapFromCompilation(id, compilation) {
+ try {
+ const module1 = getModuleById(id, compilation);
+ if (!module1) {
+ return undefined;
+ }
+ // @ts-expect-error The types for `CodeGenerationResults.get` require a
+ // runtime to be passed as second argument, but apparently it also works
+ // without it.
+ const codeGenerationResult = compilation.codeGenerationResults.get(module1);
+ const source = codeGenerationResult == null ? void 0 : codeGenerationResult.sources.get('javascript');
+ return (source == null ? void 0 : source.map()) ?? undefined;
+ } catch (err) {
+ console.error(`Failed to lookup module by ID ("${id}"):`, err);
+ return undefined;
+ }
+}
+async function getSource(frame, options) {
+ let sourceURL = frame.file ?? '';
+ const { getCompilations } = options;
+ sourceURL = (0, _sourcemaps.devirtualizeReactServerURL)(sourceURL);
+ let nativeSourceMap;
+ try {
+ nativeSourceMap = (0, _module.findSourceMap)(sourceURL);
+ } catch (cause) {
+ throw Object.defineProperty(new Error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to find the original code.`, {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E635",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (nativeSourceMap !== undefined) {
+ const sourceMapPayload = nativeSourceMap.payload;
+ return {
+ type: 'file',
+ sourceMap: (0, _sourcemaps.findApplicableSourceMapPayload)(frame.lineNumber ?? 0, frame.column ?? 0, sourceMapPayload),
+ ignoredSources: getIgnoredSources(// @ts-expect-error -- TODO: Support IndexSourceMap
+ sourceMapPayload),
+ moduleURL: sourceURL
+ };
+ }
+ if (_path.default.isAbsolute(sourceURL)) {
+ sourceURL = (0, _url.pathToFileURL)(sourceURL).href;
+ }
+ if (sourceURL.startsWith('file:')) {
+ const sourceMap = await (0, _getsourcemapfromfile.getSourceMapFromFile)(sourceURL);
+ return sourceMap ? {
+ type: 'file',
+ sourceMap,
+ ignoredSources: getIgnoredSources(sourceMap),
+ moduleURL: sourceURL
+ } : undefined;
+ }
+ // webpack-internal:///./src/hello.tsx => ./src/hello.tsx
+ // webpack://_N_E/./src/hello.tsx => ./src/hello.tsx
+ const moduleId = sourceURL.replace(/^(webpack-internal:\/\/\/|webpack:\/\/(_N_E\/)?)/, '').replace(/\?\d+$/, '');
+ // (rsc)/./src/hello.tsx => ./src/hello.tsx
+ const moduleURL = moduleId.replace(/^(\(.*\)\/?)/, '');
+ for (const compilation of getCompilations()){
+ const sourceMap = await getSourceMapFromCompilation(moduleId, compilation);
+ if (sourceMap) {
+ const ignoredSources = getIgnoredSources(sourceMap);
+ return {
+ type: 'bundle',
+ sourceMap,
+ compilation,
+ moduleId,
+ moduleURL,
+ ignoredSources
+ };
+ }
+ }
+ return undefined;
+}
+async function getOriginalStackFrames({ isServer, isEdgeServer, isAppDirectory, frames, clientStats, serverStats, edgeServerStats, rootDirectory }) {
+ const frameResponses = await Promise.all(frames.map((frame)=>getOriginalStackFrame({
+ isServer,
+ isEdgeServer,
+ isAppDirectory,
+ frame,
+ clientStats,
+ serverStats,
+ edgeServerStats,
+ rootDirectory
+ }).then((value)=>{
+ return {
+ status: 'fulfilled',
+ value
+ };
+ }, (reason)=>{
+ return {
+ status: 'rejected',
+ reason: (0, _util.inspect)(reason, {
+ colors: false
+ })
+ };
+ })));
+ (0, _shared.ignoreListAnonymousStackFramesIfSandwiched)(frameResponses);
+ return frameResponses;
+}
+async function getOriginalStackFrame({ isServer, isEdgeServer, isAppDirectory, frame, clientStats, serverStats, edgeServerStats, rootDirectory }) {
+ const filename = frame.file ?? '';
+ const source = await getSource(frame, {
+ getCompilations: ()=>{
+ const compilations = [];
+ // Try Client Compilation first. In `pages` we leverage
+ // `isClientError` to check. In `app` it depends on if it's a server
+ // / client component and when the code throws. E.g. during HTML
+ // rendering it's the server/edge compilation.
+ if (!isEdgeServer && !isServer || isAppDirectory) {
+ var _clientStats;
+ const compilation = (_clientStats = clientStats()) == null ? void 0 : _clientStats.compilation;
+ if (compilation) {
+ compilations.push(compilation);
+ }
+ }
+ // Try Server Compilation. In `pages` this could be something
+ // imported in getServerSideProps/getStaticProps as the code for
+ // those is tree-shaken. In `app` this finds server components and
+ // code that was imported from a server component. It also covers
+ // when client component code throws during HTML rendering.
+ if (isServer || isAppDirectory) {
+ var _serverStats;
+ const compilation = (_serverStats = serverStats()) == null ? void 0 : _serverStats.compilation;
+ if (compilation) {
+ compilations.push(compilation);
+ }
+ }
+ // Try Edge Server Compilation. Both cases are the same as Server
+ // Compilation, main difference is that it covers `runtime: 'edge'`
+ // pages/app routes.
+ if (isEdgeServer || isAppDirectory) {
+ var _edgeServerStats;
+ const compilation = (_edgeServerStats = edgeServerStats()) == null ? void 0 : _edgeServerStats.compilation;
+ if (compilation) {
+ compilations.push(compilation);
+ }
+ }
+ return compilations;
+ }
+ });
+ let defaultNormalizedStackFrameLocation = frame.file;
+ if (defaultNormalizedStackFrameLocation !== null && defaultNormalizedStackFrameLocation.startsWith('file://')) {
+ defaultNormalizedStackFrameLocation = _path.default.relative(rootDirectory, (0, _url.fileURLToPath)(defaultNormalizedStackFrameLocation));
+ }
+ // This stack frame is used for the one that couldn't locate the source or source mapped frame
+ const defaultStackFrame = {
+ file: defaultNormalizedStackFrameLocation,
+ lineNumber: frame.lineNumber,
+ column: frame.column ?? 1,
+ methodName: frame.methodName,
+ ignored: shouldIgnoreSource(filename),
+ arguments: []
+ };
+ if (!source) {
+ // return original stack frame with no source map
+ return {
+ originalStackFrame: defaultStackFrame,
+ originalCodeFrame: null
+ };
+ }
+ defaultStackFrame.ignored ||= (0, _sourcemaps.sourceMapIgnoreListsEverything)(source.sourceMap);
+ const originalStackFrameResponse = await createOriginalStackFrame({
+ ignoredByDefault: defaultStackFrame.ignored,
+ frame,
+ source,
+ rootDirectory
+ });
+ if (!originalStackFrameResponse) {
+ return {
+ originalStackFrame: defaultStackFrame,
+ originalCodeFrame: null
+ };
+ }
+ return originalStackFrameResponse;
+}
+function getOverlayMiddleware(options) {
+ const { rootDirectory, isSrcDir, clientStats, serverStats, edgeServerStats } = options;
+ return async function(req, res, next) {
+ const { pathname, searchParams } = new URL(`http://n${req.url}`);
+ if (pathname === '/__nextjs_original-stack-frames') {
+ if (req.method !== 'POST') {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ const body = await new Promise((resolve, reject)=>{
+ let data = '';
+ req.on('data', (chunk)=>{
+ data += chunk;
+ });
+ req.on('end', ()=>resolve(data));
+ req.on('error', reject);
+ });
+ try {
+ const { frames, isServer, isEdgeServer, isAppDirectory } = JSON.parse(body);
+ return _middlewareresponse.middlewareResponse.json(res, await getOriginalStackFrames({
+ isServer,
+ isEdgeServer,
+ isAppDirectory,
+ frames: frames.map((frame)=>({
+ ...frame,
+ lineNumber: frame.lineNumber ?? 0,
+ column: frame.column ?? 0
+ })),
+ clientStats,
+ serverStats,
+ edgeServerStats,
+ rootDirectory
+ }));
+ } catch (err) {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ } else if (pathname === '/__nextjs_launch-editor') {
+ const frame = {
+ file: searchParams.get('file'),
+ methodName: searchParams.get('methodName'),
+ lineNumber: parseInt(searchParams.get('lineNumber') ?? '0', 10) || 0,
+ column: parseInt(searchParams.get('column') ?? '0', 10) || 0,
+ arguments: searchParams.getAll('arguments').filter(Boolean)
+ };
+ if (!frame.file) return _middlewareresponse.middlewareResponse.badRequest(res);
+ let openEditorResult;
+ const isAppRelativePath = searchParams.get('isAppRelativePath') === '1';
+ if (isAppRelativePath) {
+ const relativeFilePath = searchParams.get('file') || '';
+ const absoluteFilePath = _path.default.join(rootDirectory, 'app', isSrcDir ? 'src' : '', relativeFilePath);
+ openEditorResult = await (0, _launcheditor.openFileInEditor)(absoluteFilePath, 1, 1);
+ } else {
+ // frame files may start with their webpack layer, like (middleware)/middleware.js
+ const filePath = _path.default.resolve(rootDirectory, frame.file.replace(/^\([^)]+\)\//, ''));
+ openEditorResult = await (0, _launcheditor.openFileInEditor)(filePath, frame.lineNumber, frame.column ?? 1);
+ }
+ if (openEditorResult.error) {
+ console.error('Failed to launch editor:', openEditorResult.error);
+ return _middlewareresponse.middlewareResponse.internalServerError(res, openEditorResult.error);
+ }
+ if (!openEditorResult.found) {
+ return _middlewareresponse.middlewareResponse.notFound(res);
+ }
+ return _middlewareresponse.middlewareResponse.noContent(res);
+ }
+ return next();
+ };
+}
+function getSourceMapMiddleware(options) {
+ const { clientStats, serverStats, edgeServerStats } = options;
+ return async function(req, res, next) {
+ const { pathname, searchParams } = new URL(`http://n${req.url}`);
+ if (pathname !== '/__nextjs_source-map') {
+ return next();
+ }
+ const filename = searchParams.get('filename');
+ if (!filename) {
+ return _middlewareresponse.middlewareResponse.badRequest(res);
+ }
+ let source;
+ try {
+ source = await getSource({
+ file: filename,
+ // Webpack doesn't use Index Source Maps
+ lineNumber: null,
+ column: null
+ }, {
+ getCompilations: ()=>{
+ const compilations = [];
+ for (const stats of [
+ clientStats(),
+ serverStats(),
+ edgeServerStats()
+ ]){
+ if (stats == null ? void 0 : stats.compilation) {
+ compilations.push(stats.compilation);
+ }
+ }
+ return compilations;
+ }
+ });
+ } catch (error) {
+ return _middlewareresponse.middlewareResponse.internalServerError(res, error);
+ }
+ if (!source) {
+ return _middlewareresponse.middlewareResponse.noContent(res);
+ }
+ return _middlewareresponse.middlewareResponse.json(res, source.sourceMap);
+ };
+}
+
+//# sourceMappingURL=middleware-webpack.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/next-dev-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/next-dev-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..e39cb39bfcea1548f4a69e0de7862111498cc803
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/next-dev-server.js
@@ -0,0 +1,693 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return DevServer;
+ }
+});
+const _requestmeta = require("../request-meta");
+const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
+const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
+const _jestworker = require("next/dist/compiled/jest-worker");
+const _path = require("path");
+const _output = require("../../build/output");
+const _constants = require("../../lib/constants");
+const _findpagesdir = require("../../lib/find-pages-dir");
+const _constants1 = require("../../shared/lib/constants");
+const _nextserver = /*#__PURE__*/ _interop_require_wildcard(require("../next-server"));
+const _normalizepagepath = require("../../shared/lib/page-path/normalize-page-path");
+const _pathhasprefix = require("../../shared/lib/router/utils/path-has-prefix");
+const _removepathprefix = require("../../shared/lib/router/utils/remove-path-prefix");
+const _storage = require("../../telemetry/storage");
+const _trace = require("../../trace");
+const _findpagefile = require("../lib/find-page-file");
+const _utils = require("../lib/utils");
+const _coalescedfunction = require("../../lib/coalesced-function");
+const _loaddefaulterrorcomponents = require("../load-default-error-components");
+const _utils1 = require("../../shared/lib/utils");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _iserror = /*#__PURE__*/ _interop_require_wildcard(require("../../lib/is-error"));
+const _utils2 = require("../../build/utils");
+const _formatservererror = require("../../lib/format-server-error");
+const _devroutematchermanager = require("../route-matcher-managers/dev-route-matcher-manager");
+const _devpagesroutematcherprovider = require("../route-matcher-providers/dev/dev-pages-route-matcher-provider");
+const _devpagesapiroutematcherprovider = require("../route-matcher-providers/dev/dev-pages-api-route-matcher-provider");
+const _devapppageroutematcherprovider = require("../route-matcher-providers/dev/dev-app-page-route-matcher-provider");
+const _devapprouteroutematcherprovider = require("../route-matcher-providers/dev/dev-app-route-route-matcher-provider");
+const _nodemanifestloader = require("../route-matcher-providers/helpers/manifest-loaders/node-manifest-loader");
+const _batchedfilereader = require("../route-matcher-providers/dev/helpers/file-reader/batched-file-reader");
+const _defaultfilereader = require("../route-matcher-providers/dev/helpers/file-reader/default-file-reader");
+const _lrucache = require("../lib/lru-cache");
+const _middlewareroutematcher = require("../../shared/lib/router/utils/middleware-route-matcher");
+const _detachedpromise = require("../../lib/detached-promise");
+const _ispostpone = require("../lib/router-utils/is-postpone");
+const _generateinterceptionroutesrewrites = require("../../lib/generate-interception-routes-rewrites");
+const _buildcustomroute = require("../../lib/build-custom-route");
+const _errorsource = require("../../shared/lib/error-source");
+const _logrequests = require("./log-requests");
+const _fallback = require("../../lib/fallback");
+const _instrumentationglobalsexternal = require("../lib/router-utils/instrumentation-globals.external");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+// Load ReactDevOverlay only when needed
+let PagesDevOverlayBridgeImpl;
+const ReactDevOverlay = (props)=>{
+ if (PagesDevOverlayBridgeImpl === undefined) {
+ PagesDevOverlayBridgeImpl = require('../../next-devtools/userspace/pages/pages-dev-overlay-setup').PagesDevOverlayBridge;
+ }
+ return _react.createElement(PagesDevOverlayBridgeImpl, props);
+};
+class DevServer extends _nextserver.default {
+ getStaticPathsWorker() {
+ const worker = new _jestworker.Worker(require.resolve('./static-paths-worker'), {
+ maxRetries: 1,
+ // For dev server, it's not necessary to spin up too many workers as long as you are not doing a load test.
+ // This helps reusing the memory a lot.
+ numWorkers: 1,
+ enableWorkerThreads: this.nextConfig.experimental.workerThreads,
+ forkOptions: {
+ env: {
+ ...process.env,
+ // discard --inspect/--inspect-brk flags from process.env.NODE_OPTIONS. Otherwise multiple Node.js debuggers
+ // would be started if user launch Next.js in debugging mode. The number of debuggers is linked to
+ // the number of workers Next.js tries to launch. The only worker users are interested in debugging
+ // is the main Next.js one
+ NODE_OPTIONS: (0, _utils.getFormattedNodeOptionsWithoutInspect)()
+ }
+ }
+ });
+ worker.getStdout().pipe(process.stdout);
+ worker.getStderr().pipe(process.stderr);
+ return worker;
+ }
+ constructor(options){
+ var _this_nextConfig_experimental_amp, _this_nextConfig_experimental;
+ try {
+ // Increase the number of stack frames on the server
+ Error.stackTraceLimit = 50;
+ } catch {}
+ super({
+ ...options,
+ dev: true
+ }), /**
+ * The promise that resolves when the server is ready. When this is unset
+ * the server is ready.
+ */ this.ready = new _detachedpromise.DetachedPromise();
+ this.bundlerService = options.bundlerService;
+ this.startServerSpan = options.startServerSpan ?? (0, _trace.trace)('start-next-dev-server');
+ this.renderOpts.dev = true;
+ this.renderOpts.ErrorDebug = ReactDevOverlay;
+ this.staticPathsCache = new _lrucache.LRUCache(// 5MB
+ 5 * 1024 * 1024, function length(value) {
+ var _JSON_stringify;
+ return ((_JSON_stringify = JSON.stringify(value.staticPaths)) == null ? void 0 : _JSON_stringify.length) ?? 0;
+ });
+ this.renderOpts.ampSkipValidation = ((_this_nextConfig_experimental = this.nextConfig.experimental) == null ? void 0 : (_this_nextConfig_experimental_amp = _this_nextConfig_experimental.amp) == null ? void 0 : _this_nextConfig_experimental_amp.skipValidation) ?? false;
+ this.renderOpts.ampValidator = async (html, pathname)=>{
+ var _this_nextConfig_experimental_amp, _this_nextConfig_experimental;
+ const { getAmpValidatorInstance, getBundledAmpValidatorFilepath } = require('../../export/helpers/get-amp-html-validator');
+ const validatorPath = ((_this_nextConfig_experimental = this.nextConfig.experimental) == null ? void 0 : (_this_nextConfig_experimental_amp = _this_nextConfig_experimental.amp) == null ? void 0 : _this_nextConfig_experimental_amp.validator) || getBundledAmpValidatorFilepath();
+ const validator = await getAmpValidatorInstance(validatorPath);
+ const result = validator.validateString(html);
+ (0, _output.ampValidation)(pathname, result.errors.filter((error)=>{
+ if (error.severity === 'ERROR') {
+ // Unclear yet if these actually prevent the page from being indexed by the AMP cache.
+ // These are coming from React so all we can do is ignore them for now.
+ //
+ // https://github.com/ampproject/amphtml/issues/40279
+ if (error.code === 'DISALLOWED_ATTR' && error.params[0] === 'blocking' && error.params[1] === 'link') {
+ return false;
+ }
+ // without type
+ // https://github.com/ampproject/amphtml/issues/40280
+ if (error.code === 'MANDATORY_ATTR_MISSING' && error.params[0] === 'type' && error.params[1] === 'template') {
+ return false;
+ }
+ // without type
+ // https://github.com/ampproject/amphtml/issues/40280
+ if (error.code === 'MISSING_REQUIRED_EXTENSION' && error.params[0] === 'template' && error.params[1] === 'amp-mustache') {
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }).filter((e)=>this._filterAmpDevelopmentScript(html, e)), result.errors.filter((e)=>e.severity !== 'ERROR'));
+ };
+ const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(this.dir);
+ this.pagesDir = pagesDir;
+ this.appDir = appDir;
+ if (this.nextConfig.experimental.serverComponentsHmrCache) {
+ this.serverComponentsHmrCache = new _lrucache.LRUCache(this.nextConfig.cacheMaxMemorySize, function length(value) {
+ return JSON.stringify(value).length;
+ });
+ }
+ }
+ getServerComponentsHmrCache() {
+ return this.serverComponentsHmrCache;
+ }
+ getRouteMatchers() {
+ const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(this.dir);
+ const ensurer = {
+ ensure: async (match, pathname)=>{
+ await this.ensurePage({
+ definition: match.definition,
+ page: match.definition.page,
+ clientOnly: false,
+ url: pathname
+ });
+ }
+ };
+ const matchers = new _devroutematchermanager.DevRouteMatcherManager(super.getRouteMatchers(), ensurer, this.dir);
+ const extensions = this.nextConfig.pageExtensions;
+ const extensionsExpression = new RegExp(`\\.(?:${extensions.join('|')})$`);
+ // If the pages directory is available, then configure those matchers.
+ if (pagesDir) {
+ const fileReader = new _batchedfilereader.BatchedFileReader(new _defaultfilereader.DefaultFileReader({
+ // Only allow files that have the correct extensions.
+ pathnameFilter: (pathname)=>extensionsExpression.test(pathname)
+ }));
+ matchers.push(new _devpagesroutematcherprovider.DevPagesRouteMatcherProvider(pagesDir, extensions, fileReader, this.localeNormalizer));
+ matchers.push(new _devpagesapiroutematcherprovider.DevPagesAPIRouteMatcherProvider(pagesDir, extensions, fileReader, this.localeNormalizer));
+ }
+ if (appDir) {
+ // We create a new file reader for the app directory because we don't want
+ // to include any folders or files starting with an underscore. This will
+ // prevent the reader from wasting time reading files that we know we
+ // don't care about.
+ const fileReader = new _batchedfilereader.BatchedFileReader(new _defaultfilereader.DefaultFileReader({
+ // Ignore any directory prefixed with an underscore.
+ ignorePartFilter: (part)=>part.startsWith('_')
+ }));
+ // TODO: Improve passing of "is running with Turbopack"
+ const isTurbopack = !!process.env.TURBOPACK;
+ matchers.push(new _devapppageroutematcherprovider.DevAppPageRouteMatcherProvider(appDir, extensions, fileReader, isTurbopack));
+ matchers.push(new _devapprouteroutematcherprovider.DevAppRouteRouteMatcherProvider(appDir, extensions, fileReader, isTurbopack));
+ }
+ return matchers;
+ }
+ getBuildId() {
+ return 'development';
+ }
+ async prepareImpl() {
+ var _this_ready;
+ (0, _trace.setGlobal)('distDir', this.distDir);
+ (0, _trace.setGlobal)('phase', _constants1.PHASE_DEVELOPMENT_SERVER);
+ const telemetry = new _storage.Telemetry({
+ distDir: this.distDir
+ });
+ await super.prepareImpl();
+ await this.matchers.reload();
+ (_this_ready = this.ready) == null ? void 0 : _this_ready.resolve();
+ this.ready = undefined;
+ // In dev, this needs to be called after prepare because the build entries won't be known in the constructor
+ this.interceptionRoutePatterns = this.getinterceptionRoutePatterns();
+ // This is required by the tracing subsystem.
+ (0, _trace.setGlobal)('appDir', this.appDir);
+ (0, _trace.setGlobal)('pagesDir', this.pagesDir);
+ (0, _trace.setGlobal)('telemetry', telemetry);
+ process.on('unhandledRejection', (reason)=>{
+ if ((0, _ispostpone.isPostpone)(reason)) {
+ // React postpones that are unhandled might end up logged here but they're
+ // not really errors. They're just part of rendering.
+ return;
+ }
+ this.logErrorWithOriginalStack(reason, 'unhandledRejection');
+ });
+ process.on('uncaughtException', (err)=>{
+ this.logErrorWithOriginalStack(err, 'uncaughtException');
+ });
+ }
+ async hasPage(pathname) {
+ let normalizedPath;
+ try {
+ normalizedPath = (0, _normalizepagepath.normalizePagePath)(pathname);
+ } catch (err) {
+ console.error(err);
+ // if normalizing the page fails it means it isn't valid
+ // so it doesn't exist so don't throw and return false
+ // to ensure we return 404 instead of 500
+ return false;
+ }
+ if ((0, _utils2.isMiddlewareFile)(normalizedPath)) {
+ return (0, _findpagefile.findPageFile)(this.dir, normalizedPath, this.nextConfig.pageExtensions, false).then(Boolean);
+ }
+ let appFile = null;
+ let pagesFile = null;
+ if (this.appDir) {
+ appFile = await (0, _findpagefile.findPageFile)(this.appDir, normalizedPath + '/page', this.nextConfig.pageExtensions, true);
+ }
+ if (this.pagesDir) {
+ pagesFile = await (0, _findpagefile.findPageFile)(this.pagesDir, normalizedPath, this.nextConfig.pageExtensions, false);
+ }
+ if (appFile && pagesFile) {
+ return false;
+ }
+ return Boolean(appFile || pagesFile);
+ }
+ async runMiddleware(params) {
+ try {
+ const result = await super.runMiddleware({
+ ...params,
+ onWarning: (warn)=>{
+ this.logErrorWithOriginalStack(warn, 'warning');
+ }
+ });
+ if ('finished' in result) {
+ return result;
+ }
+ result.waitUntil.catch((error)=>{
+ this.logErrorWithOriginalStack(error, 'unhandledRejection');
+ });
+ return result;
+ } catch (error) {
+ if (error instanceof _utils1.DecodeError) {
+ throw error;
+ }
+ /**
+ * We only log the error when it is not a MiddlewareNotFound error as
+ * in that case we should be already displaying a compilation error
+ * which is what makes the module not found.
+ */ if (!(error instanceof _utils1.MiddlewareNotFoundError)) {
+ this.logErrorWithOriginalStack(error);
+ }
+ const err = (0, _iserror.getProperError)(error);
+ (0, _errorsource.decorateServerError)(err, _constants1.COMPILER_NAMES.edgeServer);
+ const { request, response, parsedUrl } = params;
+ /**
+ * When there is a failure for an internal Next.js request from
+ * middleware we bypass the error without finishing the request
+ * so we can serve the required chunks to render the error.
+ */ if (request.url.includes('/_next/static') || request.url.includes('/__nextjs_original-stack-frame') || request.url.includes('/__nextjs_source-map') || request.url.includes('/__nextjs_error_feedback')) {
+ return {
+ finished: false
+ };
+ }
+ response.statusCode = 500;
+ await this.renderError(err, request, response, parsedUrl.pathname);
+ return {
+ finished: true
+ };
+ }
+ }
+ async runEdgeFunction(params) {
+ try {
+ return super.runEdgeFunction({
+ ...params,
+ onError: (err)=>this.logErrorWithOriginalStack(err, 'app-dir'),
+ onWarning: (warn)=>{
+ this.logErrorWithOriginalStack(warn, 'warning');
+ }
+ });
+ } catch (error) {
+ if (error instanceof _utils1.DecodeError) {
+ throw error;
+ }
+ this.logErrorWithOriginalStack(error, 'warning');
+ const err = (0, _iserror.getProperError)(error);
+ const { req, res, page } = params;
+ res.statusCode = 500;
+ await this.renderError(err, req, res, page);
+ return null;
+ }
+ }
+ getRequestHandler() {
+ const handler = super.getRequestHandler();
+ return (req, res, parsedUrl)=>{
+ const request = this.normalizeReq(req);
+ const response = this.normalizeRes(res);
+ const loggingConfig = this.nextConfig.logging;
+ if (loggingConfig !== false) {
+ const start = Date.now();
+ const isMiddlewareRequest = (0, _requestmeta.getRequestMeta)(req, 'middlewareInvoke');
+ if (!isMiddlewareRequest) {
+ response.originalResponse.once('close', ()=>{
+ // NOTE: The route match is only attached to the request's meta data
+ // after the request handler is created, so we need to check it in the
+ // close handler and not before.
+ const routeMatch = (0, _requestmeta.getRequestMeta)(req).match;
+ if (!routeMatch) {
+ return;
+ }
+ (0, _logrequests.logRequests)({
+ request,
+ response,
+ loggingConfig,
+ requestDurationInMs: Date.now() - start
+ });
+ });
+ }
+ }
+ return handler(request, response, parsedUrl);
+ };
+ }
+ async handleRequest(req, res, parsedUrl) {
+ const span = (0, _trace.trace)('handle-request', undefined, {
+ url: req.url
+ });
+ const result = await span.traceAsyncFn(async ()=>{
+ var _this_ready;
+ await ((_this_ready = this.ready) == null ? void 0 : _this_ready.promise);
+ (0, _requestmeta.addRequestMeta)(req, 'PagesErrorDebug', this.renderOpts.ErrorDebug);
+ return await super.handleRequest(req, res, parsedUrl);
+ });
+ const memoryUsage = process.memoryUsage();
+ span.traceChild('memory-usage', {
+ url: req.url,
+ 'memory.rss': String(memoryUsage.rss),
+ 'memory.heapUsed': String(memoryUsage.heapUsed),
+ 'memory.heapTotal': String(memoryUsage.heapTotal)
+ }).stop();
+ return result;
+ }
+ async run(req, res, parsedUrl) {
+ var _this_ready;
+ await ((_this_ready = this.ready) == null ? void 0 : _this_ready.promise);
+ const { basePath } = this.nextConfig;
+ let originalPathname = null;
+ // TODO: see if we can remove this in the future
+ if (basePath && (0, _pathhasprefix.pathHasPrefix)(parsedUrl.pathname || '/', basePath)) {
+ // strip basePath before handling dev bundles
+ // If replace ends up replacing the full url it'll be `undefined`, meaning we have to default it to `/`
+ originalPathname = parsedUrl.pathname;
+ parsedUrl.pathname = (0, _removepathprefix.removePathPrefix)(parsedUrl.pathname || '/', basePath);
+ }
+ const { pathname } = parsedUrl;
+ if (pathname.startsWith('/_next')) {
+ if (_fs.default.existsSync((0, _path.join)(this.publicDir, '_next'))) {
+ throw Object.defineProperty(new Error(_constants.PUBLIC_DIR_MIDDLEWARE_CONFLICT), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if (originalPathname) {
+ // restore the path before continuing so that custom-routes can accurately determine
+ // if they should match against the basePath or not
+ parsedUrl.pathname = originalPathname;
+ }
+ try {
+ return await super.run(req, res, parsedUrl);
+ } catch (error) {
+ const err = (0, _iserror.getProperError)(error);
+ (0, _formatservererror.formatServerError)(err);
+ this.logErrorWithOriginalStack(err);
+ if (!res.sent) {
+ res.statusCode = 500;
+ try {
+ return await this.renderError(err, req, res, pathname, {
+ __NEXT_PAGE: (0, _iserror.default)(err) && err.page || pathname || ''
+ });
+ } catch (internalErr) {
+ console.error(internalErr);
+ res.body('Internal Server Error').send();
+ }
+ }
+ }
+ }
+ logErrorWithOriginalStack(err, type) {
+ this.bundlerService.logErrorWithOriginalStack(err, type);
+ }
+ getPagesManifest() {
+ return _nodemanifestloader.NodeManifestLoader.require((0, _path.join)(this.serverDistDir, _constants1.PAGES_MANIFEST)) ?? undefined;
+ }
+ getAppPathsManifest() {
+ if (!this.enabledDirectories.app) return undefined;
+ return _nodemanifestloader.NodeManifestLoader.require((0, _path.join)(this.serverDistDir, _constants1.APP_PATHS_MANIFEST)) ?? undefined;
+ }
+ getinterceptionRoutePatterns() {
+ const rewrites = (0, _generateinterceptionroutesrewrites.generateInterceptionRoutesRewrites)(Object.keys(this.appPathRoutes ?? {}), this.nextConfig.basePath).map((route)=>new RegExp((0, _buildcustomroute.buildCustomRoute)('rewrite', route).regex));
+ if (this.nextConfig.output === 'export' && rewrites.length > 0) {
+ _log.error('Intercepting routes are not supported with static export.\nRead more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports#unsupported-features');
+ process.exit(1);
+ }
+ return rewrites ?? [];
+ }
+ async getMiddleware() {
+ var _this_middleware;
+ // We need to populate the match
+ // field as it isn't serializable
+ if (((_this_middleware = this.middleware) == null ? void 0 : _this_middleware.match) === null) {
+ this.middleware.match = (0, _middlewareroutematcher.getMiddlewareRouteMatcher)(this.middleware.matchers || []);
+ }
+ return this.middleware;
+ }
+ getNextFontManifest() {
+ return undefined;
+ }
+ async hasMiddleware() {
+ return this.hasPage(this.actualMiddlewareFile);
+ }
+ async ensureMiddleware(url) {
+ return this.ensurePage({
+ page: this.actualMiddlewareFile,
+ clientOnly: false,
+ definition: undefined,
+ url
+ });
+ }
+ async loadInstrumentationModule() {
+ let instrumentationModule;
+ if (this.actualInstrumentationHookFile && await this.ensurePage({
+ page: this.actualInstrumentationHookFile,
+ clientOnly: false,
+ definition: undefined
+ }).then(()=>true).catch(()=>false)) {
+ try {
+ instrumentationModule = await (0, _instrumentationglobalsexternal.getInstrumentationModule)(this.dir, this.nextConfig.distDir);
+ } catch (err) {
+ err.message = `An error occurred while loading instrumentation hook: ${err.message}`;
+ throw err;
+ }
+ }
+ return instrumentationModule;
+ }
+ async runInstrumentationHookIfAvailable() {
+ await (0, _instrumentationglobalsexternal.ensureInstrumentationRegistered)(this.dir, this.nextConfig.distDir);
+ }
+ async ensureEdgeFunction({ page, appPaths, url }) {
+ return this.ensurePage({
+ page,
+ appPaths,
+ clientOnly: false,
+ definition: undefined,
+ url
+ });
+ }
+ generateRoutes(_dev) {
+ // In development we expose all compiled files for react-error-overlay's line show feature
+ // We use unshift so that we're sure the routes is defined before Next's default routes
+ // routes.unshift({
+ // match: getPathMatch('/_next/development/:path*'),
+ // type: 'route',
+ // name: '_next/development catchall',
+ // fn: async (req, res, params) => {
+ // const p = pathJoin(this.distDir, ...(params.path || []))
+ // await this.serveStatic(req, res, p)
+ // return {
+ // finished: true,
+ // }
+ // },
+ // })
+ }
+ _filterAmpDevelopmentScript(html, event) {
+ if (event.code !== 'DISALLOWED_SCRIPT_TAG') {
+ return true;
+ }
+ const snippetChunks = html.split('\n');
+ let snippet;
+ if (!(snippet = html.split('\n')[event.line - 1]) || !(snippet = snippet.substring(event.col))) {
+ return true;
+ }
+ snippet = snippet + snippetChunks.slice(event.line).join('\n');
+ snippet = snippet.substring(0, snippet.indexOf(''));
+ return !snippet.includes('data-amp-development-mode-only');
+ }
+ async getStaticPaths({ pathname, requestHeaders, page, isAppPath }) {
+ // we lazy load the staticPaths to prevent the user
+ // from waiting on them for the page to load in dev mode
+ const __getStaticPaths = async ()=>{
+ const { configFileName, publicRuntimeConfig, serverRuntimeConfig, httpAgentOptions } = this.nextConfig;
+ const { locales, defaultLocale } = this.nextConfig.i18n || {};
+ const staticPathsWorker = this.getStaticPathsWorker();
+ try {
+ var _this_nextConfig_experimental_sri;
+ const pathsResult = await staticPathsWorker.loadStaticPaths({
+ dir: this.dir,
+ distDir: this.distDir,
+ pathname,
+ config: {
+ pprConfig: this.nextConfig.experimental.ppr,
+ configFileName,
+ publicRuntimeConfig,
+ serverRuntimeConfig,
+ dynamicIO: Boolean(this.nextConfig.experimental.dynamicIO)
+ },
+ httpAgentOptions,
+ locales,
+ defaultLocale,
+ page,
+ isAppPath,
+ requestHeaders,
+ cacheHandler: this.nextConfig.cacheHandler,
+ cacheHandlers: this.nextConfig.experimental.cacheHandlers,
+ cacheLifeProfiles: this.nextConfig.experimental.cacheLife,
+ fetchCacheKeyPrefix: this.nextConfig.experimental.fetchCacheKeyPrefix,
+ isrFlushToDisk: this.nextConfig.experimental.isrFlushToDisk,
+ maxMemoryCacheSize: this.nextConfig.cacheMaxMemorySize,
+ nextConfigOutput: this.nextConfig.output,
+ buildId: this.buildId,
+ authInterrupts: Boolean(this.nextConfig.experimental.authInterrupts),
+ sriEnabled: Boolean((_this_nextConfig_experimental_sri = this.nextConfig.experimental.sri) == null ? void 0 : _this_nextConfig_experimental_sri.algorithm)
+ });
+ return pathsResult;
+ } finally{
+ // we don't re-use workers so destroy the used one
+ staticPathsWorker.end();
+ }
+ };
+ const result = this.staticPathsCache.get(pathname);
+ const nextInvoke = (0, _coalescedfunction.withCoalescedInvoke)(__getStaticPaths)(`staticPaths-${pathname}`, []).then(async (res)=>{
+ var _res_value;
+ const { prerenderedRoutes: staticPaths, fallbackMode: fallback } = res.value;
+ if (!isAppPath && this.nextConfig.output === 'export') {
+ if (fallback === _fallback.FallbackMode.BLOCKING_STATIC_RENDER) {
+ throw Object.defineProperty(new Error('getStaticPaths with "fallback: blocking" cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'), "__NEXT_ERROR_CODE", {
+ value: "E11",
+ enumerable: false,
+ configurable: true
+ });
+ } else if (fallback === _fallback.FallbackMode.PRERENDER) {
+ throw Object.defineProperty(new Error('getStaticPaths with "fallback: true" cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'), "__NEXT_ERROR_CODE", {
+ value: "E210",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ const value = {
+ staticPaths: staticPaths == null ? void 0 : staticPaths.map((route)=>route.pathname),
+ fallbackMode: fallback
+ };
+ if (((_res_value = res.value) == null ? void 0 : _res_value.fallbackMode) !== undefined) {
+ // we write the static paths to partial manifest for
+ // fallback handling inside of entry handler's
+ const rawExistingManifest = await _fs.default.promises.readFile((0, _path.join)(this.distDir, _constants1.PRERENDER_MANIFEST), 'utf8');
+ const existingManifest = JSON.parse(rawExistingManifest);
+ for (const staticPath of value.staticPaths || []){
+ existingManifest.routes[staticPath] = {};
+ }
+ existingManifest.dynamicRoutes[pathname] = {
+ fallback: (0, _fallback.fallbackModeToFallbackField)(res.value.fallbackMode, page)
+ };
+ const updatedManifest = JSON.stringify(existingManifest);
+ if (updatedManifest !== rawExistingManifest) {
+ await _fs.default.promises.writeFile((0, _path.join)(this.distDir, _constants1.PRERENDER_MANIFEST), updatedManifest);
+ }
+ }
+ this.staticPathsCache.set(pathname, value);
+ return value;
+ }).catch((err)=>{
+ this.staticPathsCache.remove(pathname);
+ if (!result) throw err;
+ _log.error(`Failed to generate static paths for ${pathname}:`);
+ console.error(err);
+ });
+ if (result) {
+ return result;
+ }
+ return nextInvoke;
+ }
+ async ensurePage(opts) {
+ await this.bundlerService.ensurePage(opts);
+ }
+ async findPageComponents({ locale, page, query, params, isAppPath, appPaths = null, shouldEnsure, url }) {
+ var _this_ready;
+ await ((_this_ready = this.ready) == null ? void 0 : _this_ready.promise);
+ const compilationErr = await this.getCompilationError(page);
+ if (compilationErr) {
+ // Wrap build errors so that they don't get logged again
+ throw new _nextserver.WrappedBuildError(compilationErr);
+ }
+ if (shouldEnsure || this.serverOptions.customServer) {
+ await this.ensurePage({
+ page,
+ appPaths,
+ clientOnly: false,
+ definition: undefined,
+ url
+ });
+ }
+ this.nextFontManifest = super.getNextFontManifest();
+ return await super.findPageComponents({
+ page,
+ query,
+ params,
+ locale,
+ isAppPath,
+ shouldEnsure,
+ url
+ });
+ }
+ async getFallbackErrorComponents(url) {
+ await this.bundlerService.getFallbackErrorComponents(url);
+ return await (0, _loaddefaulterrorcomponents.loadDefaultErrorComponents)(this.distDir);
+ }
+ async getCompilationError(page) {
+ return await this.bundlerService.getCompilationError(page);
+ }
+ async instrumentationOnRequestError(...args) {
+ await super.instrumentationOnRequestError(...args);
+ const err = args[0];
+ this.logErrorWithOriginalStack(err, 'app-dir');
+ }
+}
+
+//# sourceMappingURL=next-dev-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/node-stack-frames.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/node-stack-frames.js
new file mode 100644
index 0000000000000000000000000000000000000000..b83c5cadec659bf031e1b23232b2c0907ad80606
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/node-stack-frames.js
@@ -0,0 +1,72 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getServerError", {
+ enumerable: true,
+ get: function() {
+ return getServerError;
+ }
+});
+const _stacktraceparser = require("next/dist/compiled/stacktrace-parser");
+const _errorsource = require("../../shared/lib/error-source");
+function getFilesystemFrame(frame) {
+ const f = {
+ ...frame
+ };
+ if (typeof f.file === 'string') {
+ if (// Posix:
+ f.file.startsWith('/') || // Win32:
+ /^[a-z]:\\/i.test(f.file) || // Win32 UNC:
+ f.file.startsWith('\\\\')) {
+ f.file = `file://${f.file}`;
+ }
+ }
+ return f;
+}
+function getServerError(error, type) {
+ if (error.name === 'TurbopackInternalError') {
+ // If this is an internal Turbopack error we shouldn't show internal details
+ // to the user. These are written to a log file instead.
+ const turbopackInternalError = Object.defineProperty(new Error('An unexpected Turbopack error occurred. Please see the output of `next dev` for more details.'), "__NEXT_ERROR_CODE", {
+ value: "E167",
+ enumerable: false,
+ configurable: true
+ });
+ (0, _errorsource.decorateServerError)(turbopackInternalError, type);
+ return turbopackInternalError;
+ }
+ let n;
+ try {
+ throw Object.defineProperty(new Error(error.message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ } catch (e) {
+ n = e;
+ }
+ n.name = error.name;
+ try {
+ n.stack = `${n.toString()}\n${(0, _stacktraceparser.parse)(error.stack).map(getFilesystemFrame).map((f)=>{
+ let str = ` at ${f.methodName}`;
+ if (f.file) {
+ let loc = f.file;
+ if (f.lineNumber) {
+ loc += `:${f.lineNumber}`;
+ if (f.column) {
+ loc += `:${f.column}`;
+ }
+ }
+ str += ` (${loc})`;
+ }
+ return str;
+ }).join('\n')}`;
+ } catch {
+ n.stack = error.stack;
+ }
+ (0, _errorsource.decorateServerError)(n, type);
+ return n;
+}
+
+//# sourceMappingURL=node-stack-frames.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/on-demand-entry-handler.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/on-demand-entry-handler.js
new file mode 100644
index 0000000000000000000000000000000000000000..191ffd22ada98ef70fddb953baad58df96e8b3cf
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/on-demand-entry-handler.js
@@ -0,0 +1,693 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ ADDED: null,
+ BUILDING: null,
+ BUILT: null,
+ EntryTypes: null,
+ findPagePathData: null,
+ getEntries: null,
+ getEntryKey: null,
+ getInvalidator: null,
+ onDemandEntryHandler: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ ADDED: function() {
+ return ADDED;
+ },
+ BUILDING: function() {
+ return BUILDING;
+ },
+ BUILT: function() {
+ return BUILT;
+ },
+ EntryTypes: function() {
+ return EntryTypes;
+ },
+ findPagePathData: function() {
+ return findPagePathData;
+ },
+ getEntries: function() {
+ return getEntries;
+ },
+ getEntryKey: function() {
+ return getEntryKey;
+ },
+ getInvalidator: function() {
+ return getInvalidator;
+ },
+ onDemandEntryHandler: function() {
+ return onDemandEntryHandler;
+ }
+});
+const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
+const _events = require("events");
+const _findpagefile = require("../lib/find-page-file");
+const _entries = require("../../build/entries");
+const _path = require("path");
+const _normalizepathsep = require("../../shared/lib/page-path/normalize-path-sep");
+const _normalizepagepath = require("../../shared/lib/page-path/normalize-page-path");
+const _ensureleadingslash = require("../../shared/lib/page-path/ensure-leading-slash");
+const _removepagepathtail = require("../../shared/lib/page-path/remove-page-path-tail");
+const _output = require("../../build/output");
+const _getroutefromentrypoint = /*#__PURE__*/ _interop_require_default(require("../get-route-from-entrypoint"));
+const _utils = require("../../build/utils");
+const _utils1 = require("../../shared/lib/utils");
+const _constants = require("../../shared/lib/constants");
+const _segment = require("../../shared/lib/segment");
+const _hotreloadertypes = require("./hot-reloader-types");
+const _apppageroutedefinition = require("../route-definitions/app-page-route-definition");
+const _scheduler = require("../../lib/scheduler");
+const _batcher = require("../../lib/batcher");
+const _apppaths = require("../../shared/lib/router/utils/app-paths");
+const _pagetypes = require("../../lib/page-types");
+const _flightdatahelpers = require("../../client/flight-data-helpers");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const debug = (0, _debug.default)('next:on-demand-entry-handler');
+/**
+ * Returns object keys with type inferred from the object key
+ */ const keys = Object.keys;
+const COMPILER_KEYS = keys(_constants.COMPILER_INDEXES);
+function treePathToEntrypoint(segmentPath, parentPath) {
+ const [parallelRouteKey, segment] = segmentPath;
+ // TODO-APP: modify this path to cover parallelRouteKey convention
+ const path = (parentPath ? parentPath + '/' : '') + (parallelRouteKey !== 'children' && !segment.startsWith('@') ? `@${parallelRouteKey}/` : '') + (segment === '' ? 'page' : segment);
+ // Last segment
+ if (segmentPath.length === 2) {
+ return path;
+ }
+ const childSegmentPath = (0, _flightdatahelpers.getNextFlightSegmentPath)(segmentPath);
+ return treePathToEntrypoint(childSegmentPath, path);
+}
+function convertDynamicParamTypeToSyntax(dynamicParamTypeShort, param) {
+ switch(dynamicParamTypeShort){
+ case 'c':
+ case 'ci':
+ return `[...${param}]`;
+ case 'oc':
+ return `[[...${param}]]`;
+ case 'd':
+ case 'di':
+ return `[${param}]`;
+ default:
+ throw Object.defineProperty(new Error('Unknown dynamic param type'), "__NEXT_ERROR_CODE", {
+ value: "E378",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+function getEntryKey(compilerType, pageBundleType, page) {
+ // TODO: handle the /children slot better
+ // this is a quick hack to handle when children is provided as children/page instead of /page
+ const pageKey = page.replace(/(@[^/]+)\/children/g, '$1');
+ return `${compilerType}@${pageBundleType}@${pageKey}`;
+}
+function getPageBundleType(pageBundlePath) {
+ // Handle special case for /_error
+ if (pageBundlePath === '/_error') return _pagetypes.PAGE_TYPES.PAGES;
+ if ((0, _utils.isMiddlewareFilename)(pageBundlePath)) return _pagetypes.PAGE_TYPES.ROOT;
+ return pageBundlePath.startsWith('pages/') ? _pagetypes.PAGE_TYPES.PAGES : pageBundlePath.startsWith('app/') ? _pagetypes.PAGE_TYPES.APP : _pagetypes.PAGE_TYPES.ROOT;
+}
+function getEntrypointsFromTree(tree, isFirst, parentPath = []) {
+ const [segment, parallelRoutes] = tree;
+ const currentSegment = Array.isArray(segment) ? convertDynamicParamTypeToSyntax(segment[2], segment[0]) : segment;
+ const isPageSegment = currentSegment.startsWith(_segment.PAGE_SEGMENT_KEY);
+ const currentPath = [
+ ...parentPath,
+ isPageSegment ? '' : currentSegment
+ ];
+ if (!isFirst && isPageSegment) {
+ // TODO get rid of '' at the start of tree
+ return [
+ treePathToEntrypoint(currentPath.slice(1))
+ ];
+ }
+ return Object.keys(parallelRoutes).reduce((paths, key)=>{
+ const childTree = parallelRoutes[key];
+ const childPages = getEntrypointsFromTree(childTree, false, [
+ ...currentPath,
+ key
+ ]);
+ return [
+ ...paths,
+ ...childPages
+ ];
+ }, []);
+}
+const ADDED = Symbol('added');
+const BUILDING = Symbol('building');
+const BUILT = Symbol('built');
+var EntryTypes = /*#__PURE__*/ function(EntryTypes) {
+ EntryTypes[EntryTypes["ENTRY"] = 0] = "ENTRY";
+ EntryTypes[EntryTypes["CHILD_ENTRY"] = 1] = "CHILD_ENTRY";
+ return EntryTypes;
+}({});
+const entriesMap = new Map();
+// remove /server from end of output for server compiler
+const normalizeOutputPath = (dir)=>dir.replace(/[/\\]server$/, '');
+const getEntries = (dir)=>{
+ dir = normalizeOutputPath(dir);
+ const entries = entriesMap.get(dir) || {};
+ entriesMap.set(dir, entries);
+ return entries;
+};
+const invalidators = new Map();
+const getInvalidator = (dir)=>{
+ dir = normalizeOutputPath(dir);
+ return invalidators.get(dir);
+};
+const doneCallbacks = new _events.EventEmitter();
+const lastClientAccessPages = [
+ ''
+];
+const lastServerAccessPagesForAppDir = [
+ ''
+];
+// Make sure only one invalidation happens at a time
+// Otherwise, webpack hash gets changed and it'll force the client to reload.
+class Invalidator {
+ constructor(multiCompiler){
+ this.building = new Set();
+ this.rebuildAgain = new Set();
+ this.multiCompiler = multiCompiler;
+ }
+ shouldRebuildAll() {
+ return this.rebuildAgain.size > 0;
+ }
+ invalidate(compilerKeys = COMPILER_KEYS) {
+ for (const key of compilerKeys){
+ var _this_multiCompiler_compilers_COMPILER_INDEXES_key_watching;
+ // If there's a current build is processing, we won't abort it by invalidating.
+ // (If aborted, it'll cause a client side hard reload)
+ // But let it to invalidate just after the completion.
+ // So, it can re-build the queued pages at once.
+ if (this.building.has(key)) {
+ this.rebuildAgain.add(key);
+ continue;
+ }
+ this.building.add(key);
+ (_this_multiCompiler_compilers_COMPILER_INDEXES_key_watching = this.multiCompiler.compilers[_constants.COMPILER_INDEXES[key]].watching) == null ? void 0 : _this_multiCompiler_compilers_COMPILER_INDEXES_key_watching.invalidate();
+ }
+ }
+ startBuilding(compilerKey) {
+ this.building.add(compilerKey);
+ }
+ doneBuilding(compilerKeys = []) {
+ const rebuild = [];
+ for (const key of compilerKeys){
+ this.building.delete(key);
+ if (this.rebuildAgain.has(key)) {
+ rebuild.push(key);
+ this.rebuildAgain.delete(key);
+ }
+ }
+ if (rebuild.length > 0) {
+ this.invalidate(rebuild);
+ }
+ }
+ willRebuild(compilerKey) {
+ return this.rebuildAgain.has(compilerKey);
+ }
+}
+function disposeInactiveEntries(entries, maxInactiveAge) {
+ Object.keys(entries).forEach((entryKey)=>{
+ const entryData = entries[entryKey];
+ const { lastActiveTime, status, dispose, bundlePath } = entryData;
+ // TODO-APP: implement disposing of CHILD_ENTRY
+ if (entryData.type === 1) {
+ return;
+ }
+ // For the root middleware and the instrumentation hook files,
+ // we don't dispose them periodically as it's needed for every request.
+ if ((0, _utils.isMiddlewareFilename)(bundlePath) || (0, _utils.isInstrumentationHookFilename)(bundlePath)) {
+ return;
+ }
+ if (dispose) // Skip pages already scheduled for disposing
+ return;
+ // This means this entry is currently building or just added
+ // We don't need to dispose those entries.
+ if (status !== BUILT) return;
+ // We should not build the last accessed page even we didn't get any pings
+ // Sometimes, it's possible our XHR ping to wait before completing other requests.
+ // In that case, we should not dispose the current viewing page
+ if (lastClientAccessPages.includes(entryKey) || lastServerAccessPagesForAppDir.includes(entryKey)) return;
+ if (lastActiveTime && Date.now() - lastActiveTime > maxInactiveAge) {
+ entries[entryKey].dispose = true;
+ }
+ });
+}
+// Normalize both app paths and page paths
+function tryToNormalizePagePath(page) {
+ try {
+ return (0, _normalizepagepath.normalizePagePath)(page);
+ } catch (err) {
+ console.error(err);
+ throw new _utils1.PageNotFoundError(page);
+ }
+}
+async function findPagePathData(rootDir, page, extensions, pagesDir, appDir, isGlobalNotFoundEnabled) {
+ const normalizedPagePath = tryToNormalizePagePath(page);
+ let pagePath = null;
+ const isInstrumentation = (0, _utils.isInstrumentationHookFile)(normalizedPagePath);
+ if ((0, _utils.isMiddlewareFile)(normalizedPagePath) || isInstrumentation) {
+ pagePath = await (0, _findpagefile.findPageFile)(rootDir, normalizedPagePath, extensions, false);
+ if (!pagePath) {
+ throw new _utils1.PageNotFoundError(normalizedPagePath);
+ }
+ const pageUrl = (0, _ensureleadingslash.ensureLeadingSlash)((0, _removepagepathtail.removePagePathTail)((0, _normalizepathsep.normalizePathSep)(pagePath), {
+ extensions
+ }));
+ let bundlePath = normalizedPagePath;
+ let pageKey = _path.posix.normalize(pageUrl);
+ if (isInstrumentation || (0, _utils.isMiddlewareFile)(normalizedPagePath)) {
+ bundlePath = bundlePath.replace('/src', '');
+ pageKey = page.replace('/src', '');
+ }
+ return {
+ filename: (0, _path.join)(rootDir, pagePath),
+ bundlePath: bundlePath.slice(1),
+ page: pageKey
+ };
+ }
+ // Check appDir first falling back to pagesDir
+ if (appDir) {
+ if (page === _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY) {
+ // Load `global-not-found` when global-not-found is enabled.
+ // Prefer to load it when both `global-not-found` and root `not-found` present.
+ if (isGlobalNotFoundEnabled) {
+ const globalNotFoundPath = await (0, _findpagefile.findPageFile)(appDir, 'global-not-found', extensions, true);
+ if (globalNotFoundPath) {
+ return {
+ filename: (0, _path.join)(appDir, globalNotFoundPath),
+ bundlePath: `app${_constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY}`,
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY
+ };
+ }
+ } else {
+ // Then if global-not-found.js doesn't exist then load not-found.js
+ const notFoundPath = await (0, _findpagefile.findPageFile)(appDir, 'not-found', extensions, true);
+ if (notFoundPath) {
+ return {
+ filename: (0, _path.join)(appDir, notFoundPath),
+ bundlePath: `app${_constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY}`,
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY
+ };
+ }
+ }
+ // If they're not presented, then fallback to global-not-found
+ return {
+ filename: require.resolve('next/dist/client/components/builtin/global-not-found'),
+ bundlePath: `app${_constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY}`,
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY
+ };
+ }
+ pagePath = await (0, _findpagefile.findPageFile)(appDir, normalizedPagePath, extensions, true);
+ if (pagePath) {
+ const pageUrl = (0, _ensureleadingslash.ensureLeadingSlash)((0, _removepagepathtail.removePagePathTail)((0, _normalizepathsep.normalizePathSep)(pagePath), {
+ keepIndex: true,
+ extensions
+ }));
+ return {
+ filename: (0, _path.join)(appDir, pagePath),
+ bundlePath: _path.posix.join('app', pageUrl),
+ page: _path.posix.normalize(pageUrl)
+ };
+ }
+ }
+ if (!pagePath && pagesDir) {
+ pagePath = await (0, _findpagefile.findPageFile)(pagesDir, normalizedPagePath, extensions, false);
+ }
+ if (pagePath !== null && pagesDir) {
+ const pageUrl = (0, _ensureleadingslash.ensureLeadingSlash)((0, _removepagepathtail.removePagePathTail)((0, _normalizepathsep.normalizePathSep)(pagePath), {
+ extensions
+ }));
+ return {
+ filename: (0, _path.join)(pagesDir, pagePath),
+ bundlePath: _path.posix.join('pages', (0, _normalizepagepath.normalizePagePath)(pageUrl)),
+ page: _path.posix.normalize(pageUrl)
+ };
+ }
+ if (page === '/_error') {
+ return {
+ filename: require.resolve('next/dist/pages/_error'),
+ bundlePath: page,
+ page: (0, _normalizepathsep.normalizePathSep)(page)
+ };
+ } else {
+ throw new _utils1.PageNotFoundError(normalizedPagePath);
+ }
+}
+function onDemandEntryHandler({ hotReloader, maxInactiveAge, multiCompiler, nextConfig, pagesBufferLength, pagesDir, rootDir, appDir }) {
+ const hasAppDir = !!appDir;
+ let curInvalidator = getInvalidator(multiCompiler.outputPath);
+ const curEntries = getEntries(multiCompiler.outputPath);
+ if (!curInvalidator) {
+ curInvalidator = new Invalidator(multiCompiler);
+ invalidators.set(multiCompiler.outputPath, curInvalidator);
+ }
+ const startBuilding = (compilation)=>{
+ const compilationName = compilation.name;
+ curInvalidator.startBuilding(compilationName);
+ };
+ for (const compiler of multiCompiler.compilers){
+ compiler.hooks.make.tap('NextJsOnDemandEntries', startBuilding);
+ }
+ function getPagePathsFromEntrypoints(type, entrypoints) {
+ const pagePaths = [];
+ for (const entrypoint of entrypoints.values()){
+ const page = (0, _getroutefromentrypoint.default)(entrypoint.name, hasAppDir);
+ if (page) {
+ var _entrypoint_name;
+ const pageBundleType = ((_entrypoint_name = entrypoint.name) == null ? void 0 : _entrypoint_name.startsWith('app/')) ? _pagetypes.PAGE_TYPES.APP : _pagetypes.PAGE_TYPES.PAGES;
+ pagePaths.push(getEntryKey(type, pageBundleType, page));
+ } else if ((0, _utils.isMiddlewareFilename)(entrypoint.name) || (0, _utils.isInstrumentationHookFilename)(entrypoint.name)) {
+ pagePaths.push(getEntryKey(type, _pagetypes.PAGE_TYPES.ROOT, `/${entrypoint.name}`));
+ }
+ }
+ return pagePaths;
+ }
+ for (const compiler of multiCompiler.compilers){
+ compiler.hooks.done.tap('NextJsOnDemandEntries', ()=>{
+ var _getInvalidator;
+ return (_getInvalidator = getInvalidator(compiler.outputPath)) == null ? void 0 : _getInvalidator.doneBuilding([
+ compiler.name
+ ]);
+ });
+ }
+ multiCompiler.hooks.done.tap('NextJsOnDemandEntries', (multiStats)=>{
+ var _getInvalidator;
+ const [clientStats, serverStats, edgeServerStats] = multiStats.stats;
+ const entryNames = [
+ ...getPagePathsFromEntrypoints(_constants.COMPILER_NAMES.client, clientStats.compilation.entrypoints),
+ ...getPagePathsFromEntrypoints(_constants.COMPILER_NAMES.server, serverStats.compilation.entrypoints),
+ ...edgeServerStats ? getPagePathsFromEntrypoints(_constants.COMPILER_NAMES.edgeServer, edgeServerStats.compilation.entrypoints) : []
+ ];
+ for (const name of entryNames){
+ const entry = curEntries[name];
+ if (!entry) {
+ continue;
+ }
+ if (entry.status !== BUILDING) {
+ continue;
+ }
+ entry.status = BUILT;
+ doneCallbacks.emit(name);
+ }
+ (_getInvalidator = getInvalidator(multiCompiler.outputPath)) == null ? void 0 : _getInvalidator.doneBuilding([
+ ...COMPILER_KEYS
+ ]);
+ });
+ const pingIntervalTime = Math.max(1000, Math.min(5000, maxInactiveAge));
+ setInterval(function() {
+ disposeInactiveEntries(curEntries, maxInactiveAge);
+ }, pingIntervalTime + 1000).unref();
+ function handleAppDirPing(tree) {
+ const pages = getEntrypointsFromTree(tree, true);
+ for (const page of pages){
+ for (const compilerType of [
+ _constants.COMPILER_NAMES.client,
+ _constants.COMPILER_NAMES.server,
+ _constants.COMPILER_NAMES.edgeServer
+ ]){
+ const entryKey = getEntryKey(compilerType, _pagetypes.PAGE_TYPES.APP, `/${page}`);
+ const entryInfo = curEntries[entryKey];
+ // If there's no entry, it may have been invalidated and needs to be re-built.
+ if (!entryInfo) {
+ continue;
+ }
+ // We don't need to maintain active state of anything other than BUILT entries
+ if (entryInfo.status !== BUILT) continue;
+ // If there's an entryInfo
+ if (!lastServerAccessPagesForAppDir.includes(entryKey)) {
+ lastServerAccessPagesForAppDir.unshift(entryKey);
+ // Maintain the buffer max length
+ // TODO: verify that the current pageKey is not at the end of the array as multiple entrypoints can exist
+ if (lastServerAccessPagesForAppDir.length > pagesBufferLength) {
+ lastServerAccessPagesForAppDir.pop();
+ }
+ }
+ entryInfo.lastActiveTime = Date.now();
+ entryInfo.dispose = false;
+ }
+ }
+ }
+ function handlePing(pg) {
+ const page = (0, _normalizepathsep.normalizePathSep)(pg);
+ for (const compilerType of [
+ _constants.COMPILER_NAMES.client,
+ _constants.COMPILER_NAMES.server,
+ _constants.COMPILER_NAMES.edgeServer
+ ]){
+ const entryKey = getEntryKey(compilerType, _pagetypes.PAGE_TYPES.PAGES, page);
+ const entryInfo = curEntries[entryKey];
+ // If there's no entry, it may have been invalidated and needs to be re-built.
+ if (!entryInfo) {
+ // if (page !== lastEntry) client pings, but there's no entry for page
+ if (compilerType === _constants.COMPILER_NAMES.client) {
+ return;
+ }
+ continue;
+ }
+ // We don't need to maintain active state of anything other than BUILT entries
+ if (entryInfo.status !== BUILT) continue;
+ // If there's an entryInfo
+ if (!lastClientAccessPages.includes(entryKey)) {
+ lastClientAccessPages.unshift(entryKey);
+ // Maintain the buffer max length
+ if (lastClientAccessPages.length > pagesBufferLength) {
+ lastClientAccessPages.pop();
+ }
+ }
+ entryInfo.lastActiveTime = Date.now();
+ entryInfo.dispose = false;
+ }
+ return;
+ }
+ async function ensurePageImpl({ page, appPaths, definition, isApp, url }) {
+ const stalledTime = 60;
+ const stalledEnsureTimeout = setTimeout(()=>{
+ debug(`Ensuring ${page} has taken longer than ${stalledTime}s, if this continues to stall this may be a bug`);
+ }, stalledTime * 1000);
+ try {
+ let route;
+ if (definition) {
+ route = definition;
+ } else {
+ route = await findPagePathData(rootDir, page, nextConfig.pageExtensions, pagesDir, appDir, !!nextConfig.experimental.globalNotFound);
+ }
+ const isInsideAppDir = !!appDir && route.filename.startsWith(appDir);
+ if (typeof isApp === 'boolean' && isApp !== isInsideAppDir) {
+ Error.stackTraceLimit = 15;
+ throw Object.defineProperty(new Error(`Ensure bailed, found path "${route.page}" does not match ensure type (${isApp ? 'app' : 'pages'})`), "__NEXT_ERROR_CODE", {
+ value: "E419",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const pageBundleType = getPageBundleType(route.bundlePath);
+ const addEntry = (compilerType)=>{
+ const entryKey = getEntryKey(compilerType, pageBundleType, route.page);
+ if (curEntries[entryKey] && // there can be an overlap in the entryKey for the instrumentation hook file and a page named the same
+ // this is a quick fix to support this scenario by overwriting the instrumentation hook entry, since we only use it one time
+ // any changes to the instrumentation hook file will require a restart of the dev server anyway
+ !(0, _utils.isInstrumentationHookFilename)(curEntries[entryKey].bundlePath)) {
+ curEntries[entryKey].dispose = false;
+ curEntries[entryKey].lastActiveTime = Date.now();
+ if (curEntries[entryKey].status === BUILT) {
+ return {
+ entryKey,
+ newEntry: false,
+ shouldInvalidate: false
+ };
+ }
+ return {
+ entryKey,
+ newEntry: false,
+ shouldInvalidate: true
+ };
+ }
+ curEntries[entryKey] = {
+ type: 0,
+ appPaths,
+ absolutePagePath: route.filename,
+ request: route.filename,
+ bundlePath: route.bundlePath,
+ dispose: false,
+ lastActiveTime: Date.now(),
+ status: ADDED
+ };
+ return {
+ entryKey: entryKey,
+ newEntry: true,
+ shouldInvalidate: true
+ };
+ };
+ const staticInfo = await (0, _entries.getStaticInfoIncludingLayouts)({
+ page,
+ pageFilePath: route.filename,
+ isInsideAppDir,
+ pageExtensions: nextConfig.pageExtensions,
+ isDev: true,
+ config: nextConfig,
+ appDir
+ });
+ const added = new Map();
+ const isServerComponent = isInsideAppDir && staticInfo.rsc !== _constants.RSC_MODULE_TYPES.client;
+ let pageRuntime = staticInfo.runtime;
+ if ((0, _utils.isMiddlewareFile)(page) && !nextConfig.experimental.nodeMiddleware) {
+ pageRuntime = 'edge';
+ }
+ (0, _entries.runDependingOnPageType)({
+ page: route.page,
+ pageRuntime,
+ pageType: pageBundleType,
+ onClient: ()=>{
+ // Skip adding the client entry for app / Server Components.
+ if (isServerComponent || isInsideAppDir) {
+ return;
+ }
+ added.set(_constants.COMPILER_NAMES.client, addEntry(_constants.COMPILER_NAMES.client));
+ },
+ onServer: ()=>{
+ added.set(_constants.COMPILER_NAMES.server, addEntry(_constants.COMPILER_NAMES.server));
+ const edgeServerEntry = getEntryKey(_constants.COMPILER_NAMES.edgeServer, pageBundleType, route.page);
+ if (curEntries[edgeServerEntry] && !(0, _utils.isInstrumentationHookFile)(route.page)) {
+ // Runtime switched from edge to server
+ delete curEntries[edgeServerEntry];
+ }
+ },
+ onEdgeServer: ()=>{
+ added.set(_constants.COMPILER_NAMES.edgeServer, addEntry(_constants.COMPILER_NAMES.edgeServer));
+ const serverEntry = getEntryKey(_constants.COMPILER_NAMES.server, pageBundleType, route.page);
+ if (curEntries[serverEntry] && !(0, _utils.isInstrumentationHookFile)(route.page)) {
+ // Runtime switched from server to edge
+ delete curEntries[serverEntry];
+ }
+ }
+ });
+ const addedValues = [
+ ...added.values()
+ ];
+ const entriesThatShouldBeInvalidated = [
+ ...added.entries()
+ ].filter(([, entry])=>entry.shouldInvalidate);
+ const hasNewEntry = addedValues.some((entry)=>entry.newEntry);
+ if (hasNewEntry) {
+ const routePage = isApp ? route.page : (0, _apppaths.normalizeAppPath)(route.page);
+ (0, _output.reportTrigger)(routePage, url);
+ }
+ if (entriesThatShouldBeInvalidated.length > 0) {
+ const invalidatePromise = Promise.all(entriesThatShouldBeInvalidated.map(([compilerKey, { entryKey }])=>{
+ return new Promise((resolve, reject)=>{
+ doneCallbacks.once(entryKey, (err)=>{
+ if (err) {
+ return reject(err);
+ }
+ // If the invalidation also triggers a rebuild, we need to
+ // wait for that additional build to prevent race conditions.
+ const needsRebuild = curInvalidator.willRebuild(compilerKey);
+ if (needsRebuild) {
+ doneCallbacks.once(entryKey, (rebuildErr)=>{
+ if (rebuildErr) {
+ return reject(rebuildErr);
+ }
+ resolve();
+ });
+ } else {
+ resolve();
+ }
+ });
+ });
+ }));
+ curInvalidator.invalidate([
+ ...added.keys()
+ ]);
+ await invalidatePromise;
+ }
+ } finally{
+ clearTimeout(stalledEnsureTimeout);
+ }
+ }
+ // Make sure that we won't have multiple invalidations ongoing concurrently.
+ const batcher = _batcher.Batcher.create({
+ // The cache key here is composed of the elements that affect the
+ // compilation, namely, the page, whether it's client only, and whether
+ // it's an app page. This ensures that we don't have multiple compilations
+ // for the same page happening concurrently.
+ //
+ // We don't include the whole match because it contains match specific
+ // parameters (like route params) that would just bust this cache. Any
+ // details that would possibly bust the cache should be listed here.
+ cacheKeyFn: (options)=>JSON.stringify(options),
+ // Schedule the invocation of the ensurePageImpl function on the next tick.
+ schedulerFn: _scheduler.scheduleOnNextTick
+ });
+ return {
+ async ensurePage ({ page, appPaths = null, definition, isApp, url }) {
+ // If the route is actually an app page route, then we should have access
+ // to the app route definition, and therefore, the appPaths from it.
+ if (!appPaths && definition && (0, _apppageroutedefinition.isAppPageRouteDefinition)(definition)) {
+ appPaths = definition.appPaths;
+ }
+ // Wrap the invocation of the ensurePageImpl function in the pending
+ // wrapper, which will ensure that we don't have multiple compilations
+ // for the same page happening concurrently.
+ return batcher.batch({
+ page,
+ appPaths,
+ definition,
+ isApp
+ }, async ()=>{
+ await ensurePageImpl({
+ page,
+ appPaths,
+ definition,
+ isApp,
+ url
+ });
+ });
+ },
+ onHMR (client, getHmrServerError) {
+ let bufferedHmrServerError = null;
+ client.addEventListener('close', ()=>{
+ bufferedHmrServerError = null;
+ });
+ client.addEventListener('message', ({ data })=>{
+ try {
+ const error = getHmrServerError();
+ // New error occurred: buffered error is flushed and new error occurred
+ if (!bufferedHmrServerError && error) {
+ hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR,
+ errorJSON: (0, _utils1.stringifyError)(error)
+ });
+ bufferedHmrServerError = null;
+ }
+ const parsedData = JSON.parse(typeof data !== 'string' ? data.toString() : data);
+ if (parsedData.event === 'ping') {
+ if (parsedData.appDirRoute) {
+ handleAppDirPing(parsedData.tree);
+ } else {
+ handlePing(parsedData.page);
+ }
+ }
+ } catch {}
+ });
+ }
+ };
+}
+
+//# sourceMappingURL=on-demand-entry-handler.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/parse-version-info.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/parse-version-info.js
new file mode 100644
index 0000000000000000000000000000000000000000..93029f81f23fbf8a8ae56a331fd1feedb5eb8c78
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/parse-version-info.js
@@ -0,0 +1,108 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "parseVersionInfo", {
+ enumerable: true,
+ get: function() {
+ return parseVersionInfo;
+ }
+});
+const _semver = /*#__PURE__*/ _interop_require_wildcard(require("next/dist/compiled/semver"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+function parseVersionInfo(o) {
+ const latest = _semver.parse(o.latest);
+ const canary = _semver.parse(o.canary);
+ const installedParsed = _semver.parse(o.installed);
+ const installed = o.installed;
+ if (installedParsed && latest && canary) {
+ if (installedParsed.major < latest.major) {
+ // Old major version
+ return {
+ staleness: 'stale-major',
+ expected: latest.raw,
+ installed
+ };
+ } else if (installedParsed.prerelease[0] === 'canary' && _semver.lt(installedParsed, canary)) {
+ // Matching major, but old canary
+ return {
+ staleness: 'stale-prerelease',
+ expected: canary.raw,
+ installed
+ };
+ } else if (!installedParsed.prerelease.length && _semver.lt(installedParsed, latest)) {
+ // Stable, but not the latest
+ if (installedParsed.minor === latest.minor) {
+ // Same major and minor, but not the latest patch
+ return {
+ staleness: 'stale-patch',
+ expected: latest.raw,
+ installed
+ };
+ }
+ return {
+ staleness: 'stale-minor',
+ expected: latest.raw,
+ installed
+ };
+ } else if (_semver.gt(installedParsed, latest) && installedParsed.version !== canary.version) {
+ // Newer major version
+ return {
+ staleness: 'newer-than-npm',
+ installed
+ };
+ } else {
+ // Latest and greatest
+ return {
+ staleness: 'fresh',
+ installed
+ };
+ }
+ }
+ return {
+ installed: (installedParsed == null ? void 0 : installedParsed.raw) ?? '0.0.0',
+ staleness: 'unknown'
+ };
+}
+
+//# sourceMappingURL=parse-version-info.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/require-cache.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/require-cache.js
new file mode 100644
index 0000000000000000000000000000000000000000..839f6dca6a4eb6e31f2b383b17b4d56a2626d78c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/require-cache.js
@@ -0,0 +1,61 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ deleteCache: null,
+ deleteFromRequireCache: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ deleteCache: function() {
+ return deleteCache;
+ },
+ deleteFromRequireCache: function() {
+ return deleteFromRequireCache;
+ }
+});
+const _iserror = /*#__PURE__*/ _interop_require_default(require("../../lib/is-error"));
+const _realpath = require("../../lib/realpath");
+const _loadmanifestexternal = require("../load-manifest.external");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function deleteFromRequireCache(filePath) {
+ try {
+ filePath = (0, _realpath.realpathSync)(filePath);
+ } catch (e) {
+ if ((0, _iserror.default)(e) && e.code !== 'ENOENT') throw e;
+ }
+ const mod = require.cache[filePath];
+ if (mod) {
+ // remove the child reference from all parent modules
+ for (const parent of Object.values(require.cache)){
+ if (parent == null ? void 0 : parent.children) {
+ const idx = parent.children.indexOf(mod);
+ if (idx >= 0) parent.children.splice(idx, 1);
+ }
+ }
+ // remove parent references from external modules
+ for (const child of mod.children){
+ child.parent = null;
+ }
+ delete require.cache[filePath];
+ return true;
+ }
+ return false;
+}
+function deleteCache(filePath) {
+ // try to clear it from the fs cache
+ (0, _loadmanifestexternal.clearManifestCache)(filePath);
+ deleteFromRequireCache(filePath);
+}
+
+//# sourceMappingURL=require-cache.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/static-paths-worker.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/static-paths-worker.js
new file mode 100644
index 0000000000000000000000000000000000000000..f70c8959342b4fff0b793fa3c4467d39132ee544
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/static-paths-worker.js
@@ -0,0 +1,90 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "loadStaticPaths", {
+ enumerable: true,
+ get: function() {
+ return loadStaticPaths;
+ }
+});
+require("../require-hook");
+require("../node-environment");
+const _utils = require("../../build/utils");
+const _appsegments = require("../../build/segment-config/app/app-segments");
+const _loadcomponents = require("../load-components");
+const _setuphttpagentenv = require("../setup-http-agent-env");
+const _checks = require("../route-modules/checks");
+const _ppr = require("../lib/experimental/ppr");
+const _invarianterror = require("../../shared/lib/invariant-error");
+const _collectrootparamkeys = require("../../build/segment-config/app/collect-root-param-keys");
+const _app = require("../../build/static-paths/app");
+const _pages = require("../../build/static-paths/pages");
+const _createincrementalcache = require("../../export/helpers/create-incremental-cache");
+async function loadStaticPaths({ dir, distDir, pathname, config, httpAgentOptions, locales, defaultLocale, isAppPath, page, isrFlushToDisk, fetchCacheKeyPrefix, maxMemoryCacheSize, requestHeaders, cacheHandler, cacheHandlers, cacheLifeProfiles, nextConfigOutput, buildId, authInterrupts, sriEnabled }) {
+ // this needs to be initialized before loadComponents otherwise
+ // "use cache" could be missing it's cache handlers
+ await (0, _createincrementalcache.createIncrementalCache)({
+ dir,
+ distDir,
+ cacheHandler,
+ cacheHandlers,
+ requestHeaders,
+ fetchCacheKeyPrefix,
+ flushToDisk: isrFlushToDisk,
+ cacheMaxMemorySize: maxMemoryCacheSize
+ });
+ require('../../shared/lib/runtime-config.external').setConfig(config);
+ (0, _setuphttpagentenv.setHttpClientAndAgentOptions)({
+ httpAgentOptions
+ });
+ const components = await (0, _loadcomponents.loadComponents)({
+ distDir,
+ // In `pages/`, the page is the same as the pathname.
+ page: page || pathname,
+ isAppPath,
+ isDev: true,
+ sriEnabled
+ });
+ if (isAppPath) {
+ const segments = await (0, _appsegments.collectSegments)(components);
+ const isRoutePPREnabled = (0, _checks.isAppPageRouteModule)(components.routeModule) && (0, _ppr.checkIsRoutePPREnabled)(config.pprConfig, (0, _utils.reduceAppConfig)(segments));
+ const rootParamKeys = (0, _collectrootparamkeys.collectRootParamKeys)(components);
+ return (0, _app.buildAppStaticPaths)({
+ dir,
+ page: pathname,
+ dynamicIO: config.dynamicIO,
+ segments,
+ distDir,
+ requestHeaders,
+ cacheHandler,
+ cacheLifeProfiles,
+ isrFlushToDisk,
+ fetchCacheKeyPrefix,
+ maxMemoryCacheSize,
+ ComponentMod: components.ComponentMod,
+ nextConfigOutput,
+ isRoutePPREnabled,
+ buildId,
+ authInterrupts,
+ rootParamKeys
+ });
+ } else if (!components.getStaticPaths) {
+ // We shouldn't get to this point since the worker should only be called for
+ // SSG pages with getStaticPaths.
+ throw Object.defineProperty(new _invarianterror.InvariantError(`Failed to load page with getStaticPaths for ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E605",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return (0, _pages.buildPagesStaticPaths)({
+ page: pathname,
+ getStaticPaths: components.getStaticPaths,
+ configFileName: config.configFileName,
+ locales,
+ defaultLocale
+ });
+}
+
+//# sourceMappingURL=static-paths-worker.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/turbopack-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/turbopack-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..0666a1efcc55ccc4ec683b918e2077ef0bb7980c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dev/turbopack-utils.js
@@ -0,0 +1,692 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AssetMapper: null,
+ addMetadataIdToRoute: null,
+ addRouteSuffix: null,
+ handleEntrypoints: null,
+ handlePagesErrorRoute: null,
+ handleRouteType: null,
+ hasEntrypointForKey: null,
+ msToNs: null,
+ normalizedPageToTurbopackStructureRoute: null,
+ printNonFatalIssue: null,
+ processTopLevelIssues: null,
+ removeRouteSuffix: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AssetMapper: function() {
+ return AssetMapper;
+ },
+ addMetadataIdToRoute: function() {
+ return addMetadataIdToRoute;
+ },
+ addRouteSuffix: function() {
+ return addRouteSuffix;
+ },
+ handleEntrypoints: function() {
+ return handleEntrypoints;
+ },
+ handlePagesErrorRoute: function() {
+ return handlePagesErrorRoute;
+ },
+ handleRouteType: function() {
+ return handleRouteType;
+ },
+ hasEntrypointForKey: function() {
+ return hasEntrypointForKey;
+ },
+ msToNs: function() {
+ return msToNs;
+ },
+ normalizedPageToTurbopackStructureRoute: function() {
+ return normalizedPageToTurbopackStructureRoute;
+ },
+ printNonFatalIssue: function() {
+ return printNonFatalIssue;
+ },
+ processTopLevelIssues: function() {
+ return processTopLevelIssues;
+ },
+ removeRouteSuffix: function() {
+ return removeRouteSuffix;
+ }
+});
+const _hotreloadertypes = require("./hot-reloader-types");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _entrykey = require("../../shared/lib/turbopack/entry-key");
+const _ismetadataroute = require("../../lib/metadata/is-metadata-route");
+const _utils = require("../../shared/lib/turbopack/utils");
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const onceErrorSet = new Set();
+/**
+ * Check if given issue is a warning to be display only once.
+ * This mimics behavior of get-page-static-info's warnOnce.
+ * @param issue
+ * @returns
+ */ function shouldEmitOnceWarning(issue) {
+ const { severity, title, stage } = issue;
+ if (severity === 'warning' && title.value === 'Invalid page configuration') {
+ if (onceErrorSet.has(issue)) {
+ return false;
+ }
+ onceErrorSet.add(issue);
+ }
+ if (severity === 'warning' && stage === 'config' && (0, _utils.renderStyledStringToErrorAnsi)(issue.title).includes("can't be external")) {
+ if (onceErrorSet.has(issue)) {
+ return false;
+ }
+ onceErrorSet.add(issue);
+ }
+ return true;
+}
+function printNonFatalIssue(issue) {
+ if ((0, _utils.isRelevantWarning)(issue) && shouldEmitOnceWarning(issue)) {
+ _log.warn((0, _utils.formatIssue)(issue));
+ }
+}
+function processTopLevelIssues(currentTopLevelIssues, result) {
+ currentTopLevelIssues.clear();
+ for (const issue of result.issues){
+ const issueKey = (0, _utils.getIssueKey)(issue);
+ currentTopLevelIssues.set(issueKey, issue);
+ }
+}
+const MILLISECONDS_IN_NANOSECOND = BigInt(1000000);
+function msToNs(ms) {
+ return BigInt(Math.floor(ms)) * MILLISECONDS_IN_NANOSECOND;
+}
+async function handleRouteType({ dev, page, pathname, route, currentEntryIssues, entrypoints, manifestLoader, readyIds, devRewrites, productionRewrites, hooks, logErrors }) {
+ const shouldCreateWebpackStats = process.env.TURBOPACK_STATS != null;
+ switch(route.type){
+ case 'page':
+ {
+ const clientKey = (0, _entrykey.getEntryKey)('pages', 'client', page);
+ const serverKey = (0, _entrykey.getEntryKey)('pages', 'server', page);
+ try {
+ // In the best case scenario, Turbopack chunks document, app, page separately in that order,
+ // so it can happen that the chunks of document change, but the chunks of app and page
+ // don't. We still need to reload the page chunks in that case though, otherwise the version
+ // of the document or app component export from the pages template is stale.
+ let documentOrAppChanged = false;
+ if (entrypoints.global.app) {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', '_app');
+ const writtenEndpoint = await entrypoints.global.app.writeToDisk();
+ documentOrAppChanged ||= (hooks == null ? void 0 : hooks.handleWrittenEndpoint(key, writtenEndpoint, false)) ?? false;
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ }
+ await manifestLoader.loadBuildManifest('_app');
+ await manifestLoader.loadPagesManifest('_app');
+ if (entrypoints.global.document) {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', '_document');
+ const writtenEndpoint = await entrypoints.global.document.writeToDisk();
+ documentOrAppChanged ||= (hooks == null ? void 0 : hooks.handleWrittenEndpoint(key, writtenEndpoint, false)) ?? false;
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ }
+ await manifestLoader.loadPagesManifest('_document');
+ const writtenEndpoint = await route.htmlEndpoint.writeToDisk();
+ hooks == null ? void 0 : hooks.handleWrittenEndpoint(serverKey, writtenEndpoint, documentOrAppChanged);
+ const type = writtenEndpoint == null ? void 0 : writtenEndpoint.type;
+ await manifestLoader.loadBuildManifest(page);
+ await manifestLoader.loadPagesManifest(page);
+ if (type === 'edge') {
+ await manifestLoader.loadMiddlewareManifest(page, 'pages');
+ } else {
+ manifestLoader.deleteMiddlewareManifest(serverKey);
+ }
+ await manifestLoader.loadFontManifest('/_app', 'pages');
+ await manifestLoader.loadFontManifest(page, 'pages');
+ if (shouldCreateWebpackStats) {
+ await manifestLoader.loadWebpackStats(page, 'pages');
+ }
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites,
+ entrypoints
+ });
+ (0, _utils.processIssues)(currentEntryIssues, serverKey, writtenEndpoint, false, logErrors);
+ } finally{
+ if (dev) {
+ // TODO subscriptions should only be caused by the WebSocket connections
+ // otherwise we don't known when to unsubscribe and this leaking
+ hooks == null ? void 0 : hooks.subscribeToChanges(serverKey, false, route.dataEndpoint, ()=>{
+ // Report the next compilation again
+ readyIds == null ? void 0 : readyIds.delete(pathname);
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ONLY_CHANGES,
+ pages: [
+ page
+ ]
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in ${page} data subscription: ${e}`
+ };
+ });
+ hooks == null ? void 0 : hooks.subscribeToChanges(clientKey, false, route.htmlEndpoint, ()=>{
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.CLIENT_CHANGES
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in ${page} html subscription: ${e}`
+ };
+ });
+ if (entrypoints.global.document) {
+ hooks == null ? void 0 : hooks.subscribeToChanges((0, _entrykey.getEntryKey)('pages', 'server', '_document'), false, entrypoints.global.document, ()=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: '_document has changed (page route)'
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in _document subscription (page route): ${e}`
+ };
+ });
+ }
+ }
+ }
+ break;
+ }
+ case 'page-api':
+ {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', page);
+ const writtenEndpoint = await route.endpoint.writeToDisk();
+ hooks == null ? void 0 : hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ const type = writtenEndpoint.type;
+ await manifestLoader.loadPagesManifest(page);
+ if (type === 'edge') {
+ await manifestLoader.loadMiddlewareManifest(page, 'pages');
+ } else {
+ manifestLoader.deleteMiddlewareManifest(key);
+ }
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites,
+ entrypoints
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, true, logErrors);
+ break;
+ }
+ case 'app-page':
+ {
+ const key = (0, _entrykey.getEntryKey)('app', 'server', page);
+ const writtenEndpoint = await route.htmlEndpoint.writeToDisk();
+ hooks == null ? void 0 : hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ if (dev) {
+ // TODO subscriptions should only be caused by the WebSocket connections
+ // otherwise we don't known when to unsubscribe and this leaking
+ hooks == null ? void 0 : hooks.subscribeToChanges(key, true, route.rscEndpoint, (change, hash)=>{
+ if (change.issues.some((issue)=>issue.severity === 'error')) {
+ // Ignore any updates that has errors
+ // There will be another update without errors eventually
+ return;
+ }
+ // Report the next compilation again
+ readyIds == null ? void 0 : readyIds.delete(pathname);
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES,
+ hash
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in ${page} app-page subscription: ${e}`
+ };
+ });
+ }
+ const type = writtenEndpoint.type;
+ if (type === 'edge') {
+ await manifestLoader.loadMiddlewareManifest(page, 'app');
+ } else {
+ manifestLoader.deleteMiddlewareManifest(key);
+ }
+ await manifestLoader.loadAppBuildManifest(page);
+ await manifestLoader.loadBuildManifest(page, 'app');
+ await manifestLoader.loadAppPathsManifest(page);
+ await manifestLoader.loadActionManifest(page);
+ await manifestLoader.loadFontManifest(page, 'app');
+ if (shouldCreateWebpackStats) {
+ await manifestLoader.loadWebpackStats(page, 'app');
+ }
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites,
+ entrypoints
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, dev, logErrors);
+ break;
+ }
+ case 'app-route':
+ {
+ const key = (0, _entrykey.getEntryKey)('app', 'server', page);
+ const writtenEndpoint = await route.endpoint.writeToDisk();
+ hooks == null ? void 0 : hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ const type = writtenEndpoint.type;
+ await manifestLoader.loadAppPathsManifest(page);
+ if (type === 'edge') {
+ await manifestLoader.loadMiddlewareManifest(page, 'app');
+ } else {
+ manifestLoader.deleteMiddlewareManifest(key);
+ }
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites,
+ entrypoints
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, true, logErrors);
+ break;
+ }
+ default:
+ {
+ throw Object.defineProperty(new Error(`unknown route type ${route.type} for ${page}`), "__NEXT_ERROR_CODE", {
+ value: "E316",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+}
+class AssetMapper {
+ /**
+ * Overrides asset paths for a key and updates the mapping from path to key.
+ *
+ * @param key
+ * @param assetPaths asset paths relative to the .next directory
+ */ setPathsForKey(key, assetPaths) {
+ this.delete(key);
+ const newAssetPaths = new Set(assetPaths);
+ this.entryMap.set(key, newAssetPaths);
+ for (const assetPath of newAssetPaths){
+ let assetPathKeys = this.assetMap.get(assetPath);
+ if (!assetPathKeys) {
+ assetPathKeys = new Set();
+ this.assetMap.set(assetPath, assetPathKeys);
+ }
+ assetPathKeys.add(key);
+ }
+ }
+ /**
+ * Deletes the key and any asset only referenced by this key.
+ *
+ * @param key
+ */ delete(key) {
+ for (const assetPath of this.getAssetPathsByKey(key)){
+ const assetPathKeys = this.assetMap.get(assetPath);
+ assetPathKeys == null ? void 0 : assetPathKeys.delete(key);
+ if (!(assetPathKeys == null ? void 0 : assetPathKeys.size)) {
+ this.assetMap.delete(assetPath);
+ }
+ }
+ this.entryMap.delete(key);
+ }
+ getAssetPathsByKey(key) {
+ return Array.from(this.entryMap.get(key) ?? []);
+ }
+ getKeysByAsset(path) {
+ return Array.from(this.assetMap.get(path) ?? []);
+ }
+ keys() {
+ return this.entryMap.keys();
+ }
+ constructor(){
+ this.entryMap = new Map();
+ this.assetMap = new Map();
+ }
+}
+function hasEntrypointForKey(entrypoints, key, assetMapper) {
+ const { type, page } = (0, _entrykey.splitEntryKey)(key);
+ switch(type){
+ case 'app':
+ return entrypoints.app.has(page);
+ case 'pages':
+ switch(page){
+ case '_app':
+ return entrypoints.global.app != null;
+ case '_document':
+ return entrypoints.global.document != null;
+ case '_error':
+ return entrypoints.global.error != null;
+ default:
+ return entrypoints.page.has(page);
+ }
+ case 'root':
+ switch(page){
+ case 'middleware':
+ return entrypoints.global.middleware != null;
+ case 'instrumentation':
+ return entrypoints.global.instrumentation != null;
+ default:
+ return false;
+ }
+ case 'assets':
+ if (!assetMapper) {
+ return false;
+ }
+ return assetMapper.getKeysByAsset(page).some((pageKey)=>hasEntrypointForKey(entrypoints, pageKey, assetMapper));
+ default:
+ {
+ // validation that we covered all cases, this should never run.
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const _ = type;
+ return false;
+ }
+ }
+}
+async function handleEntrypoints({ entrypoints, currentEntrypoints, currentEntryIssues, manifestLoader, devRewrites, logErrors, dev }) {
+ currentEntrypoints.global.app = entrypoints.pagesAppEndpoint;
+ currentEntrypoints.global.document = entrypoints.pagesDocumentEndpoint;
+ currentEntrypoints.global.error = entrypoints.pagesErrorEndpoint;
+ currentEntrypoints.global.instrumentation = entrypoints.instrumentation;
+ currentEntrypoints.page.clear();
+ currentEntrypoints.app.clear();
+ for (const [pathname, route] of entrypoints.routes){
+ switch(route.type){
+ case 'page':
+ case 'page-api':
+ currentEntrypoints.page.set(pathname, route);
+ break;
+ case 'app-page':
+ {
+ route.pages.forEach((page)=>{
+ currentEntrypoints.app.set(page.originalName, {
+ type: 'app-page',
+ ...page
+ });
+ });
+ break;
+ }
+ case 'app-route':
+ {
+ currentEntrypoints.app.set(route.originalName, route);
+ break;
+ }
+ default:
+ _log.info(`skipping ${pathname} (${route.type})`);
+ break;
+ }
+ }
+ if (dev) {
+ await handleEntrypointsDevCleanup({
+ currentEntryIssues,
+ currentEntrypoints,
+ ...dev
+ });
+ }
+ const { middleware, instrumentation } = entrypoints;
+ // We check for explicit true/false, since it's initialized to
+ // undefined during the first loop (middlewareChanges event is
+ // unnecessary during the first serve)
+ if (currentEntrypoints.global.middleware && !middleware) {
+ const key = (0, _entrykey.getEntryKey)('root', 'server', 'middleware');
+ // Went from middleware to no middleware
+ await (dev == null ? void 0 : dev.hooks.unsubscribeFromChanges(key));
+ currentEntryIssues.delete(key);
+ dev.hooks.sendHmr('middleware', {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES
+ });
+ } else if (!currentEntrypoints.global.middleware && middleware) {
+ // Went from no middleware to middleware
+ dev.hooks.sendHmr('middleware', {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES
+ });
+ }
+ currentEntrypoints.global.middleware = middleware;
+ if (instrumentation) {
+ const processInstrumentation = async (name, prop)=>{
+ const prettyName = {
+ nodeJs: 'Node.js',
+ edge: 'Edge'
+ };
+ const finishBuilding = dev.hooks.startBuilding(`instrumentation ${prettyName[prop]}`, undefined, true);
+ const key = (0, _entrykey.getEntryKey)('root', 'server', name);
+ const writtenEndpoint = await instrumentation[prop].writeToDisk();
+ dev.hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ finishBuilding();
+ };
+ await processInstrumentation('instrumentation.nodeJs', 'nodeJs');
+ await processInstrumentation('instrumentation.edge', 'edge');
+ await manifestLoader.loadMiddlewareManifest('instrumentation', 'instrumentation');
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites: undefined,
+ entrypoints: currentEntrypoints
+ });
+ dev.serverFields.actualInstrumentationHookFile = '/instrumentation';
+ await dev.hooks.propagateServerField('actualInstrumentationHookFile', dev.serverFields.actualInstrumentationHookFile);
+ } else {
+ dev.serverFields.actualInstrumentationHookFile = undefined;
+ await dev.hooks.propagateServerField('actualInstrumentationHookFile', dev.serverFields.actualInstrumentationHookFile);
+ }
+ if (middleware) {
+ const key = (0, _entrykey.getEntryKey)('root', 'server', 'middleware');
+ const endpoint = middleware.endpoint;
+ async function processMiddleware() {
+ var _manifestLoader_getMiddlewareManifest;
+ const finishBuilding = dev.hooks.startBuilding('middleware', undefined, true);
+ const writtenEndpoint = await endpoint.writeToDisk();
+ dev.hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ await manifestLoader.loadMiddlewareManifest('middleware', 'middleware');
+ const middlewareConfig = (_manifestLoader_getMiddlewareManifest = manifestLoader.getMiddlewareManifest(key)) == null ? void 0 : _manifestLoader_getMiddlewareManifest.middleware['/'];
+ if (dev && middlewareConfig) {
+ dev.serverFields.middleware = {
+ match: null,
+ page: '/',
+ matchers: middlewareConfig.matchers
+ };
+ }
+ finishBuilding();
+ }
+ await processMiddleware();
+ if (dev) {
+ dev == null ? void 0 : dev.hooks.subscribeToChanges(key, false, endpoint, async ()=>{
+ const finishBuilding = dev.hooks.startBuilding('middleware', undefined, true);
+ await processMiddleware();
+ await dev.hooks.propagateServerField('actualMiddlewareFile', dev.serverFields.actualMiddlewareFile);
+ await dev.hooks.propagateServerField('middleware', dev.serverFields.middleware);
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites: undefined,
+ entrypoints: currentEntrypoints
+ });
+ finishBuilding == null ? void 0 : finishBuilding();
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES
+ };
+ }, ()=>{
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES
+ };
+ });
+ }
+ } else {
+ manifestLoader.deleteMiddlewareManifest((0, _entrykey.getEntryKey)('root', 'server', 'middleware'));
+ dev.serverFields.actualMiddlewareFile = undefined;
+ dev.serverFields.middleware = undefined;
+ }
+ await dev.hooks.propagateServerField('actualMiddlewareFile', dev.serverFields.actualMiddlewareFile);
+ await dev.hooks.propagateServerField('middleware', dev.serverFields.middleware);
+}
+async function handleEntrypointsDevCleanup({ currentEntryIssues, currentEntrypoints, assetMapper, changeSubscriptions, clients, clientStates, hooks }) {
+ // this needs to be first as `hasEntrypointForKey` uses the `assetMapper`
+ for (const key of assetMapper.keys()){
+ if (!hasEntrypointForKey(currentEntrypoints, key, assetMapper)) {
+ assetMapper.delete(key);
+ }
+ }
+ for (const key of changeSubscriptions.keys()){
+ // middleware is handled separately
+ if (!hasEntrypointForKey(currentEntrypoints, key, assetMapper)) {
+ await hooks.unsubscribeFromChanges(key);
+ }
+ }
+ for (const [key] of currentEntryIssues){
+ if (!hasEntrypointForKey(currentEntrypoints, key, assetMapper)) {
+ currentEntryIssues.delete(key);
+ }
+ }
+ for (const client of clients){
+ const state = clientStates.get(client);
+ if (!state) {
+ continue;
+ }
+ for (const key of state.clientIssues.keys()){
+ if (!hasEntrypointForKey(currentEntrypoints, key, assetMapper)) {
+ state.clientIssues.delete(key);
+ }
+ }
+ for (const id of state.subscriptions.keys()){
+ if (!hasEntrypointForKey(currentEntrypoints, (0, _entrykey.getEntryKey)('assets', 'client', id), assetMapper)) {
+ hooks.unsubscribeFromHmrEvents(client, id);
+ }
+ }
+ }
+}
+async function handlePagesErrorRoute({ currentEntryIssues, entrypoints, manifestLoader, devRewrites, productionRewrites, logErrors, hooks }) {
+ if (entrypoints.global.app) {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', '_app');
+ const writtenEndpoint = await entrypoints.global.app.writeToDisk();
+ hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ hooks.subscribeToChanges(key, false, entrypoints.global.app, ()=>{
+ // There's a special case for this in `../client/page-bootstrap.ts`.
+ // https://github.com/vercel/next.js/blob/08d7a7e5189a835f5dcb82af026174e587575c0e/packages/next/src/client/page-bootstrap.ts#L69-L71
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.CLIENT_CHANGES
+ };
+ }, ()=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: '_app has changed (error route)'
+ };
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ }
+ await manifestLoader.loadBuildManifest('_app');
+ await manifestLoader.loadPagesManifest('_app');
+ await manifestLoader.loadFontManifest('_app');
+ if (entrypoints.global.document) {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', '_document');
+ const writtenEndpoint = await entrypoints.global.document.writeToDisk();
+ hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ hooks.subscribeToChanges(key, false, entrypoints.global.document, ()=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: '_document has changed (error route)'
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in _document subscription (error route): ${e}`
+ };
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ }
+ await manifestLoader.loadPagesManifest('_document');
+ if (entrypoints.global.error) {
+ const key = (0, _entrykey.getEntryKey)('pages', 'server', '_error');
+ const writtenEndpoint = await entrypoints.global.error.writeToDisk();
+ hooks.handleWrittenEndpoint(key, writtenEndpoint, false);
+ hooks.subscribeToChanges(key, false, entrypoints.global.error, ()=>{
+ // There's a special case for this in `../client/page-bootstrap.ts`.
+ // https://github.com/vercel/next.js/blob/08d7a7e5189a835f5dcb82af026174e587575c0e/packages/next/src/client/page-bootstrap.ts#L69-L71
+ return {
+ event: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.CLIENT_CHANGES
+ };
+ }, (e)=>{
+ return {
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE,
+ data: `error in _error subscription: ${e}`
+ };
+ });
+ (0, _utils.processIssues)(currentEntryIssues, key, writtenEndpoint, false, logErrors);
+ }
+ await manifestLoader.loadBuildManifest('_error');
+ await manifestLoader.loadPagesManifest('_error');
+ await manifestLoader.loadFontManifest('_error');
+ await manifestLoader.writeManifests({
+ devRewrites,
+ productionRewrites,
+ entrypoints
+ });
+}
+function removeRouteSuffix(route) {
+ return route.replace(/\/route$/, '');
+}
+function addRouteSuffix(route) {
+ return route + '/route';
+}
+function addMetadataIdToRoute(route) {
+ return route + '/[__metadata_id__]';
+}
+function normalizedPageToTurbopackStructureRoute(route, ext) {
+ let entrypointKey = route;
+ if ((0, _ismetadataroute.isMetadataRoute)(entrypointKey)) {
+ entrypointKey = entrypointKey.endsWith('/route') ? entrypointKey.slice(0, -'/route'.length) : entrypointKey;
+ if (ext) {
+ if (entrypointKey.endsWith('/[__metadata_id__]')) {
+ entrypointKey = entrypointKey.slice(0, -'/[__metadata_id__]'.length);
+ }
+ if (entrypointKey.endsWith('/sitemap.xml') && ext !== '.xml') {
+ // For dynamic sitemap route, remove the extension
+ entrypointKey = entrypointKey.slice(0, -'.xml'.length);
+ }
+ }
+ entrypointKey = entrypointKey + '/route';
+ }
+ return entrypointKey;
+}
+
+//# sourceMappingURL=turbopack-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dynamic-rendering-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dynamic-rendering-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..170a10d29e8c5a4e4e62f5cf0f7e6df8ca51fc56
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/dynamic-rendering-utils.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isHangingPromiseRejectionError: null,
+ makeHangingPromise: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isHangingPromiseRejectionError: function() {
+ return isHangingPromiseRejectionError;
+ },
+ makeHangingPromise: function() {
+ return makeHangingPromise;
+ }
+});
+function isHangingPromiseRejectionError(err) {
+ if (typeof err !== 'object' || err === null || !('digest' in err)) {
+ return false;
+ }
+ return err.digest === HANGING_PROMISE_REJECTION;
+}
+const HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION';
+class HangingPromiseRejectionError extends Error {
+ constructor(expression){
+ super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context.`), this.expression = expression, this.digest = HANGING_PROMISE_REJECTION;
+ }
+}
+const abortListenersBySignal = new WeakMap();
+function makeHangingPromise(signal, expression) {
+ if (signal.aborted) {
+ return Promise.reject(new HangingPromiseRejectionError(expression));
+ } else {
+ const hangingPromise = new Promise((_, reject)=>{
+ const boundRejection = reject.bind(null, new HangingPromiseRejectionError(expression));
+ let currentListeners = abortListenersBySignal.get(signal);
+ if (currentListeners) {
+ currentListeners.push(boundRejection);
+ } else {
+ const listeners = [
+ boundRejection
+ ];
+ abortListenersBySignal.set(signal, listeners);
+ signal.addEventListener('abort', ()=>{
+ for(let i = 0; i < listeners.length; i++){
+ listeners[i]();
+ }
+ }, {
+ once: true
+ });
+ }
+ });
+ // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so
+ // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct
+ // your own promise out of it you'll need to ensure you handle the error when it rejects.
+ hangingPromise.catch(ignoreReject);
+ return hangingPromise;
+ }
+}
+function ignoreReject() {}
+
+//# sourceMappingURL=dynamic-rendering-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/font-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/font-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..9045171a7c33f272ad25c306a4f19d8406766824
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/font-utils.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "calculateSizeAdjustValues", {
+ enumerable: true,
+ get: function() {
+ return calculateSizeAdjustValues;
+ }
+});
+const _constants = require("../shared/lib/constants");
+const capsizeFontsMetrics = require('next/dist/server/capsize-font-metrics.json');
+function formatName(str) {
+ return str.replace(/(?:^\w|[A-Z]|\b\w)/g, function(word, index) {
+ return index === 0 ? word.toLowerCase() : word.toUpperCase();
+ }).replace(/\s+/g, '');
+}
+function formatOverrideValue(val) {
+ return Math.abs(val * 100).toFixed(2);
+}
+function calculateSizeAdjustValues(fontName) {
+ const fontKey = formatName(fontName);
+ const fontMetrics = capsizeFontsMetrics[fontKey];
+ let { category, ascent, descent, lineGap, unitsPerEm, xWidthAvg } = fontMetrics;
+ const mainFontAvgWidth = xWidthAvg / unitsPerEm;
+ const fallbackFont = category === 'serif' ? _constants.DEFAULT_SERIF_FONT : _constants.DEFAULT_SANS_SERIF_FONT;
+ const fallbackFontName = formatName(fallbackFont.name);
+ const fallbackFontMetrics = capsizeFontsMetrics[fallbackFontName];
+ const fallbackFontAvgWidth = fallbackFontMetrics.xWidthAvg / fallbackFontMetrics.unitsPerEm;
+ let sizeAdjust = xWidthAvg ? mainFontAvgWidth / fallbackFontAvgWidth : 1;
+ ascent = formatOverrideValue(ascent / (unitsPerEm * sizeAdjust));
+ descent = formatOverrideValue(descent / (unitsPerEm * sizeAdjust));
+ lineGap = formatOverrideValue(lineGap / (unitsPerEm * sizeAdjust));
+ return {
+ ascent,
+ descent,
+ lineGap,
+ fallbackFont: fallbackFont.name,
+ sizeAdjust: formatOverrideValue(sizeAdjust)
+ };
+}
+
+//# sourceMappingURL=font-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-app-route-from-entrypoint.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-app-route-from-entrypoint.js
new file mode 100644
index 0000000000000000000000000000000000000000..97f4cc2b9035ca69508b9479adb41be46484533a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-app-route-from-entrypoint.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return getAppRouteFromEntrypoint;
+ }
+});
+const _matchbundle = /*#__PURE__*/ _interop_require_default(require("./match-bundle"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+// matches app/:path*.js
+const APP_ROUTE_NAME_REGEX = /^app[/\\](.*)$/;
+function getAppRouteFromEntrypoint(entryFile) {
+ const pagePath = (0, _matchbundle.default)(APP_ROUTE_NAME_REGEX, entryFile);
+ if (typeof pagePath === 'string' && !pagePath) {
+ return '/';
+ }
+ if (!pagePath) {
+ return null;
+ }
+ return pagePath;
+}
+
+//# sourceMappingURL=get-app-route-from-entrypoint.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-route-from-entrypoint.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-route-from-entrypoint.js
new file mode 100644
index 0000000000000000000000000000000000000000..16ba21b265eac17b20c12c3539d4636e2b57f8ee
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/get-route-from-entrypoint.js
@@ -0,0 +1,35 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return getRouteFromEntrypoint;
+ }
+});
+const _getapproutefromentrypoint = /*#__PURE__*/ _interop_require_default(require("./get-app-route-from-entrypoint"));
+const _matchbundle = /*#__PURE__*/ _interop_require_default(require("./match-bundle"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+// matches pages/:page*.js
+const SERVER_ROUTE_NAME_REGEX = /^pages[/\\](.*)$/;
+// matches static/pages/:page*.js
+const BROWSER_ROUTE_NAME_REGEX = /^static[/\\]pages[/\\](.*)$/;
+function getRouteFromEntrypoint(entryFile, app) {
+ let pagePath = (0, _matchbundle.default)(SERVER_ROUTE_NAME_REGEX, entryFile);
+ if (pagePath) {
+ return pagePath;
+ }
+ if (app) {
+ pagePath = (0, _getapproutefromentrypoint.default)(entryFile);
+ if (pagePath) return pagePath;
+ }
+ // Potentially the passed item is a browser bundle so we try to match that also
+ return (0, _matchbundle.default)(BROWSER_ROUTE_NAME_REGEX, entryFile);
+}
+
+//# sourceMappingURL=get-route-from-entrypoint.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/htmlescape.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/htmlescape.js
new file mode 100644
index 0000000000000000000000000000000000000000..95d8920ed54ab1dc339a7aaa9ed0c0f12e8b1dcf
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/htmlescape.js
@@ -0,0 +1,37 @@
+// This utility is based on https://github.com/zertosh/htmlescape
+// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ ESCAPE_REGEX: null,
+ htmlEscapeJsonString: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ ESCAPE_REGEX: function() {
+ return ESCAPE_REGEX;
+ },
+ htmlEscapeJsonString: function() {
+ return htmlEscapeJsonString;
+ }
+});
+const ESCAPE_LOOKUP = {
+ '&': '\\u0026',
+ '>': '\\u003e',
+ '<': '\\u003c',
+ '\u2028': '\\u2028',
+ '\u2029': '\\u2029'
+};
+const ESCAPE_REGEX = /[&><\u2028\u2029]/g;
+function htmlEscapeJsonString(str) {
+ return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);
+}
+
+//# sourceMappingURL=htmlescape.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/image-optimizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/image-optimizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..8e53bdb78884241ae33bf7dccc5d3c254abfbf5b
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/image-optimizer.js
@@ -0,0 +1,885 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ ImageError: null,
+ ImageOptimizerCache: null,
+ detectContentType: null,
+ extractEtag: null,
+ fetchExternalImage: null,
+ fetchInternalImage: null,
+ getHash: null,
+ getImageEtag: null,
+ getImageSize: null,
+ getMaxAge: null,
+ getPreviouslyCachedImageOrNull: null,
+ getSharp: null,
+ imageOptimizer: null,
+ optimizeImage: null,
+ sendResponse: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ ImageError: function() {
+ return ImageError;
+ },
+ ImageOptimizerCache: function() {
+ return ImageOptimizerCache;
+ },
+ detectContentType: function() {
+ return detectContentType;
+ },
+ extractEtag: function() {
+ return extractEtag;
+ },
+ fetchExternalImage: function() {
+ return fetchExternalImage;
+ },
+ fetchInternalImage: function() {
+ return fetchInternalImage;
+ },
+ getHash: function() {
+ return getHash;
+ },
+ getImageEtag: function() {
+ return getImageEtag;
+ },
+ getImageSize: function() {
+ return getImageSize;
+ },
+ getMaxAge: function() {
+ return getMaxAge;
+ },
+ getPreviouslyCachedImageOrNull: function() {
+ return getPreviouslyCachedImageOrNull;
+ },
+ getSharp: function() {
+ return getSharp;
+ },
+ imageOptimizer: function() {
+ return imageOptimizer;
+ },
+ optimizeImage: function() {
+ return optimizeImage;
+ },
+ sendResponse: function() {
+ return sendResponse;
+ }
+});
+const _crypto = require("crypto");
+const _fs = require("fs");
+const _accept = require("next/dist/compiled/@hapi/accept");
+const _contentdisposition = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/content-disposition"));
+const _imagesize = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/image-size"));
+const _isanimated = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/is-animated"));
+const _path = require("path");
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _imageblursvg = require("../shared/lib/image-blur-svg");
+const _matchlocalpattern = require("../shared/lib/match-local-pattern");
+const _matchremotepattern = require("../shared/lib/match-remote-pattern");
+const _mockrequest = require("./lib/mock-request");
+const _responsecache = require("./response-cache");
+const _sendpayload = require("./send-payload");
+const _servestatic = require("./serve-static");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
+const _iserror = /*#__PURE__*/ _interop_require_default(require("../lib/is-error"));
+const _url1 = require("../lib/url");
+const _invarianterror = require("../shared/lib/invariant-error");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const AVIF = 'image/avif';
+const WEBP = 'image/webp';
+const PNG = 'image/png';
+const JPEG = 'image/jpeg';
+const GIF = 'image/gif';
+const SVG = 'image/svg+xml';
+const ICO = 'image/x-icon';
+const ICNS = 'image/x-icns';
+const TIFF = 'image/tiff';
+const BMP = 'image/bmp';
+const CACHE_VERSION = 4;
+const ANIMATABLE_TYPES = [
+ WEBP,
+ PNG,
+ GIF
+];
+const BYPASS_TYPES = [
+ SVG,
+ ICO,
+ ICNS,
+ BMP
+];
+const BLUR_IMG_SIZE = 8 // should match `next-image-loader`
+;
+const BLUR_QUALITY = 70 // should match `next-image-loader`
+;
+let _sharp;
+function getSharp(concurrency) {
+ if (_sharp) {
+ return _sharp;
+ }
+ try {
+ _sharp = require('sharp');
+ if (_sharp && _sharp.concurrency() > 1) {
+ // Reducing concurrency should reduce the memory usage too.
+ // We more aggressively reduce in dev but also reduce in prod.
+ // https://sharp.pixelplumbing.com/api-utility#concurrency
+ const divisor = process.env.NODE_ENV === 'development' ? 4 : 2;
+ _sharp.concurrency(concurrency ?? Math.floor(Math.max(_sharp.concurrency() / divisor, 1)));
+ }
+ } catch (e) {
+ if ((0, _iserror.default)(e) && e.code === 'MODULE_NOT_FOUND') {
+ throw Object.defineProperty(new Error('Module `sharp` not found. Please run `npm install --cpu=wasm32 sharp` to install it.'), "__NEXT_ERROR_CODE", {
+ value: "E47",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ throw e;
+ }
+ return _sharp;
+}
+function getSupportedMimeType(options, accept = '') {
+ const mimeType = (0, _accept.mediaType)(accept, options);
+ return accept.includes(mimeType) ? mimeType : '';
+}
+function getHash(items) {
+ const hash = (0, _crypto.createHash)('sha256');
+ for (let item of items){
+ if (typeof item === 'number') hash.update(String(item));
+ else {
+ hash.update(item);
+ }
+ }
+ // See https://en.wikipedia.org/wiki/Base64#URL_applications
+ return hash.digest('base64url');
+}
+function extractEtag(etag, imageBuffer) {
+ if (etag) {
+ // upstream etag needs to be base64url encoded due to weak etag signature
+ // as we store this in the cache-entry file name.
+ return Buffer.from(etag).toString('base64url');
+ }
+ return getImageEtag(imageBuffer);
+}
+function getImageEtag(image) {
+ return getHash([
+ image
+ ]);
+}
+async function writeToCacheDir(dir, extension, maxAge, expireAt, buffer, etag, upstreamEtag) {
+ const filename = (0, _path.join)(dir, `${maxAge}.${expireAt}.${etag}.${upstreamEtag}.${extension}`);
+ await _fs.promises.rm(dir, {
+ recursive: true,
+ force: true
+ }).catch(()=>{});
+ await _fs.promises.mkdir(dir, {
+ recursive: true
+ });
+ await _fs.promises.writeFile(filename, buffer);
+}
+function detectContentType(buffer) {
+ if ([
+ 0xff,
+ 0xd8,
+ 0xff
+ ].every((b, i)=>buffer[i] === b)) {
+ return JPEG;
+ }
+ if ([
+ 0x89,
+ 0x50,
+ 0x4e,
+ 0x47,
+ 0x0d,
+ 0x0a,
+ 0x1a,
+ 0x0a
+ ].every((b, i)=>buffer[i] === b)) {
+ return PNG;
+ }
+ if ([
+ 0x47,
+ 0x49,
+ 0x46,
+ 0x38
+ ].every((b, i)=>buffer[i] === b)) {
+ return GIF;
+ }
+ if ([
+ 0x52,
+ 0x49,
+ 0x46,
+ 0x46,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0x57,
+ 0x45,
+ 0x42,
+ 0x50
+ ].every((b, i)=>!b || buffer[i] === b)) {
+ return WEBP;
+ }
+ if ([
+ 0x3c,
+ 0x3f,
+ 0x78,
+ 0x6d,
+ 0x6c
+ ].every((b, i)=>buffer[i] === b)) {
+ return SVG;
+ }
+ if ([
+ 0x3c,
+ 0x73,
+ 0x76,
+ 0x67
+ ].every((b, i)=>buffer[i] === b)) {
+ return SVG;
+ }
+ if ([
+ 0,
+ 0,
+ 0,
+ 0,
+ 0x66,
+ 0x74,
+ 0x79,
+ 0x70,
+ 0x61,
+ 0x76,
+ 0x69,
+ 0x66
+ ].every((b, i)=>!b || buffer[i] === b)) {
+ return AVIF;
+ }
+ if ([
+ 0x00,
+ 0x00,
+ 0x01,
+ 0x00
+ ].every((b, i)=>buffer[i] === b)) {
+ return ICO;
+ }
+ if ([
+ 0x69,
+ 0x63,
+ 0x6e,
+ 0x73
+ ].every((b, i)=>buffer[i] === b)) {
+ return ICNS;
+ }
+ if ([
+ 0x49,
+ 0x49,
+ 0x2a,
+ 0x00
+ ].every((b, i)=>buffer[i] === b)) {
+ return TIFF;
+ }
+ if ([
+ 0x42,
+ 0x4d
+ ].every((b, i)=>buffer[i] === b)) {
+ return BMP;
+ }
+ return null;
+}
+class ImageOptimizerCache {
+ static validateParams(req, query, nextConfig, isDev) {
+ var _nextConfig_images, _nextConfig_images1, _nextConfig_images2;
+ const imageData = nextConfig.images;
+ const { deviceSizes = [], imageSizes = [], domains = [], minimumCacheTTL = 60, formats = [
+ 'image/webp'
+ ] } = imageData;
+ const remotePatterns = ((_nextConfig_images = nextConfig.images) == null ? void 0 : _nextConfig_images.remotePatterns) || [];
+ const localPatterns = (_nextConfig_images1 = nextConfig.images) == null ? void 0 : _nextConfig_images1.localPatterns;
+ const qualities = (_nextConfig_images2 = nextConfig.images) == null ? void 0 : _nextConfig_images2.qualities;
+ const { url, w, q } = query;
+ let href;
+ if (domains.length > 0) {
+ _log.warnOnce('The "images.domains" configuration is deprecated. Please use "images.remotePatterns" configuration instead.');
+ }
+ if (!url) {
+ return {
+ errorMessage: '"url" parameter is required'
+ };
+ } else if (Array.isArray(url)) {
+ return {
+ errorMessage: '"url" parameter cannot be an array'
+ };
+ }
+ if (url.length > 3072) {
+ return {
+ errorMessage: '"url" parameter is too long'
+ };
+ }
+ if (url.startsWith('//')) {
+ return {
+ errorMessage: '"url" parameter cannot be a protocol-relative URL (//)'
+ };
+ }
+ let isAbsolute;
+ if (url.startsWith('/')) {
+ var _parseUrl;
+ href = url;
+ isAbsolute = false;
+ if (/\/_next\/image($|\/)/.test(decodeURIComponent(((_parseUrl = (0, _url1.parseUrl)(url)) == null ? void 0 : _parseUrl.pathname) ?? ''))) {
+ return {
+ errorMessage: '"url" parameter cannot be recursive'
+ };
+ }
+ if (!(0, _matchlocalpattern.hasLocalMatch)(localPatterns, url)) {
+ return {
+ errorMessage: '"url" parameter is not allowed'
+ };
+ }
+ } else {
+ let hrefParsed;
+ try {
+ hrefParsed = new URL(url);
+ href = hrefParsed.toString();
+ isAbsolute = true;
+ } catch (_error) {
+ return {
+ errorMessage: '"url" parameter is invalid'
+ };
+ }
+ if (![
+ 'http:',
+ 'https:'
+ ].includes(hrefParsed.protocol)) {
+ return {
+ errorMessage: '"url" parameter is invalid'
+ };
+ }
+ if (!(0, _matchremotepattern.hasRemoteMatch)(domains, remotePatterns, hrefParsed)) {
+ return {
+ errorMessage: '"url" parameter is not allowed'
+ };
+ }
+ }
+ if (!w) {
+ return {
+ errorMessage: '"w" parameter (width) is required'
+ };
+ } else if (Array.isArray(w)) {
+ return {
+ errorMessage: '"w" parameter (width) cannot be an array'
+ };
+ } else if (!/^[0-9]+$/.test(w)) {
+ return {
+ errorMessage: '"w" parameter (width) must be an integer greater than 0'
+ };
+ }
+ if (!q) {
+ return {
+ errorMessage: '"q" parameter (quality) is required'
+ };
+ } else if (Array.isArray(q)) {
+ return {
+ errorMessage: '"q" parameter (quality) cannot be an array'
+ };
+ } else if (!/^[0-9]+$/.test(q)) {
+ return {
+ errorMessage: '"q" parameter (quality) must be an integer between 1 and 100'
+ };
+ }
+ const width = parseInt(w, 10);
+ if (width <= 0 || isNaN(width)) {
+ return {
+ errorMessage: '"w" parameter (width) must be an integer greater than 0'
+ };
+ }
+ const sizes = [
+ ...deviceSizes || [],
+ ...imageSizes || []
+ ];
+ if (isDev) {
+ sizes.push(BLUR_IMG_SIZE);
+ }
+ const isValidSize = sizes.includes(width) || isDev && width <= BLUR_IMG_SIZE;
+ if (!isValidSize) {
+ return {
+ errorMessage: `"w" parameter (width) of ${width} is not allowed`
+ };
+ }
+ const quality = parseInt(q, 10);
+ if (isNaN(quality) || quality < 1 || quality > 100) {
+ return {
+ errorMessage: '"q" parameter (quality) must be an integer between 1 and 100'
+ };
+ }
+ if (qualities) {
+ if (isDev) {
+ qualities.push(BLUR_QUALITY);
+ }
+ if (!qualities.includes(quality)) {
+ return {
+ errorMessage: `"q" parameter (quality) of ${q} is not allowed`
+ };
+ }
+ }
+ const mimeType = getSupportedMimeType(formats || [], req.headers['accept']);
+ const isStatic = url.startsWith(`${nextConfig.basePath || ''}/_next/static/media`);
+ return {
+ href,
+ sizes,
+ isAbsolute,
+ isStatic,
+ width,
+ quality,
+ mimeType,
+ minimumCacheTTL
+ };
+ }
+ static getCacheKey({ href, width, quality, mimeType }) {
+ return getHash([
+ CACHE_VERSION,
+ href,
+ width,
+ quality,
+ mimeType
+ ]);
+ }
+ constructor({ distDir, nextConfig }){
+ this.cacheDir = (0, _path.join)(distDir, 'cache', 'images');
+ this.nextConfig = nextConfig;
+ }
+ async get(cacheKey) {
+ try {
+ const cacheDir = (0, _path.join)(this.cacheDir, cacheKey);
+ const files = await _fs.promises.readdir(cacheDir);
+ const now = Date.now();
+ for (const file of files){
+ const [maxAgeSt, expireAtSt, etag, upstreamEtag, extension] = file.split('.', 5);
+ const buffer = await _fs.promises.readFile((0, _path.join)(cacheDir, file));
+ const expireAt = Number(expireAtSt);
+ const maxAge = Number(maxAgeSt);
+ return {
+ value: {
+ kind: _responsecache.CachedRouteKind.IMAGE,
+ etag,
+ buffer,
+ extension,
+ upstreamEtag
+ },
+ revalidateAfter: Math.max(maxAge, this.nextConfig.images.minimumCacheTTL) * 1000 + Date.now(),
+ cacheControl: {
+ revalidate: maxAge,
+ expire: undefined
+ },
+ isStale: now > expireAt
+ };
+ }
+ } catch (_) {
+ // failed to read from cache dir, treat as cache miss
+ }
+ return null;
+ }
+ async set(cacheKey, value, { cacheControl }) {
+ if (!this.nextConfig.experimental.isrFlushToDisk) {
+ return;
+ }
+ if ((value == null ? void 0 : value.kind) !== _responsecache.CachedRouteKind.IMAGE) {
+ throw Object.defineProperty(new Error('invariant attempted to set non-image to image-cache'), "__NEXT_ERROR_CODE", {
+ value: "E366",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const revalidate = cacheControl == null ? void 0 : cacheControl.revalidate;
+ if (typeof revalidate !== 'number') {
+ throw Object.defineProperty(new _invarianterror.InvariantError('revalidate must be a number for image-cache'), "__NEXT_ERROR_CODE", {
+ value: "E657",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const expireAt = Math.max(revalidate, this.nextConfig.images.minimumCacheTTL) * 1000 + Date.now();
+ try {
+ await writeToCacheDir((0, _path.join)(this.cacheDir, cacheKey), value.extension, revalidate, expireAt, value.buffer, value.etag, value.upstreamEtag);
+ } catch (err) {
+ _log.error(`Failed to write image to cache ${cacheKey}`, err);
+ }
+ }
+}
+class ImageError extends Error {
+ constructor(statusCode, message){
+ super(message);
+ // ensure an error status is used > 400
+ if (statusCode >= 400) {
+ this.statusCode = statusCode;
+ } else {
+ this.statusCode = 500;
+ }
+ }
+}
+function parseCacheControl(str) {
+ const map = new Map();
+ if (!str) {
+ return map;
+ }
+ for (let directive of str.split(',')){
+ let [key, value] = directive.trim().split('=', 2);
+ key = key.toLowerCase();
+ if (value) {
+ value = value.toLowerCase();
+ }
+ map.set(key, value);
+ }
+ return map;
+}
+function getMaxAge(str) {
+ const map = parseCacheControl(str);
+ if (map) {
+ let age = map.get('s-maxage') || map.get('max-age') || '';
+ if (age.startsWith('"') && age.endsWith('"')) {
+ age = age.slice(1, -1);
+ }
+ const n = parseInt(age, 10);
+ if (!isNaN(n)) {
+ return n;
+ }
+ }
+ return 0;
+}
+function getPreviouslyCachedImageOrNull(upstreamImage, previousCacheEntry) {
+ var _previousCacheEntry_value;
+ if ((previousCacheEntry == null ? void 0 : (_previousCacheEntry_value = previousCacheEntry.value) == null ? void 0 : _previousCacheEntry_value.kind) === 'IMAGE' && // Images that are SVGs, animated or failed the optimization previously end up using upstreamEtag as their etag as well,
+ // in these cases we want to trigger a new "optimization" attempt.
+ previousCacheEntry.value.upstreamEtag !== previousCacheEntry.value.etag && // and the upstream etag is the same as the previous cache entry's
+ upstreamImage.etag === previousCacheEntry.value.upstreamEtag) {
+ return previousCacheEntry.value;
+ }
+ return null;
+}
+async function optimizeImage({ buffer, contentType, quality, width, height, concurrency, limitInputPixels, sequentialRead, timeoutInSeconds }) {
+ const sharp = getSharp(concurrency);
+ const transformer = sharp(buffer, {
+ limitInputPixels,
+ sequentialRead: sequentialRead ?? undefined
+ }).timeout({
+ seconds: timeoutInSeconds ?? 7
+ }).rotate();
+ if (height) {
+ transformer.resize(width, height);
+ } else {
+ transformer.resize(width, undefined, {
+ withoutEnlargement: true
+ });
+ }
+ if (contentType === AVIF) {
+ transformer.avif({
+ quality: Math.max(quality - 20, 1),
+ effort: 3
+ });
+ } else if (contentType === WEBP) {
+ transformer.webp({
+ quality
+ });
+ } else if (contentType === PNG) {
+ transformer.png({
+ quality
+ });
+ } else if (contentType === JPEG) {
+ transformer.jpeg({
+ quality,
+ mozjpeg: true
+ });
+ }
+ const optimizedBuffer = await transformer.toBuffer();
+ return optimizedBuffer;
+}
+async function fetchExternalImage(href) {
+ const res = await fetch(href, {
+ signal: AbortSignal.timeout(7000)
+ }).catch((err)=>err);
+ if (res instanceof Error) {
+ const err = res;
+ if (err.name === 'TimeoutError') {
+ _log.error('upstream image response timed out for', href);
+ throw Object.defineProperty(new ImageError(504, '"url" parameter is valid but upstream response timed out'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ throw err;
+ }
+ if (!res.ok) {
+ _log.error('upstream image response failed for', href, res.status);
+ throw Object.defineProperty(new ImageError(res.status, '"url" parameter is valid but upstream response is invalid'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const buffer = Buffer.from(await res.arrayBuffer());
+ const contentType = res.headers.get('Content-Type');
+ const cacheControl = res.headers.get('Cache-Control');
+ const etag = extractEtag(res.headers.get('ETag'), buffer);
+ return {
+ buffer,
+ contentType,
+ cacheControl,
+ etag
+ };
+}
+async function fetchInternalImage(href, _req, _res, handleRequest) {
+ try {
+ const mocked = (0, _mockrequest.createRequestResponseMocks)({
+ url: href,
+ method: _req.method || 'GET',
+ headers: _req.headers,
+ socket: _req.socket
+ });
+ await handleRequest(mocked.req, mocked.res, _url.default.parse(href, true));
+ await mocked.res.hasStreamed;
+ if (!mocked.res.statusCode) {
+ _log.error('image response failed for', href, mocked.res.statusCode);
+ throw Object.defineProperty(new ImageError(mocked.res.statusCode, '"url" parameter is valid but internal response is invalid'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const buffer = Buffer.concat(mocked.res.buffers);
+ const contentType = mocked.res.getHeader('Content-Type');
+ const cacheControl = mocked.res.getHeader('Cache-Control');
+ const etag = extractEtag(mocked.res.getHeader('ETag'), buffer);
+ return {
+ buffer,
+ contentType,
+ cacheControl,
+ etag
+ };
+ } catch (err) {
+ _log.error('upstream image response failed for', href, err);
+ throw Object.defineProperty(new ImageError(500, '"url" parameter is valid but upstream response is invalid'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+async function imageOptimizer(imageUpstream, paramsResult, nextConfig, opts) {
+ var _imageUpstream_contentType;
+ const { href, quality, width, mimeType } = paramsResult;
+ const { buffer: upstreamBuffer, etag: upstreamEtag } = imageUpstream;
+ const maxAge = Math.max(nextConfig.images.minimumCacheTTL, getMaxAge(imageUpstream.cacheControl));
+ const upstreamType = detectContentType(upstreamBuffer) || ((_imageUpstream_contentType = imageUpstream.contentType) == null ? void 0 : _imageUpstream_contentType.toLowerCase().trim());
+ if (upstreamType) {
+ if (upstreamType.startsWith('image/svg') && !nextConfig.images.dangerouslyAllowSVG) {
+ if (!opts.silent) {
+ _log.error(`The requested resource "${href}" has type "${upstreamType}" but dangerouslyAllowSVG is disabled`);
+ }
+ throw Object.defineProperty(new ImageError(400, '"url" parameter is valid but image type is not allowed'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (ANIMATABLE_TYPES.includes(upstreamType) && (0, _isanimated.default)(upstreamBuffer)) {
+ if (!opts.silent) {
+ _log.warnOnce(`The requested resource "${href}" is an animated image so it will not be optimized. Consider adding the "unoptimized" property to the .`);
+ }
+ return {
+ buffer: upstreamBuffer,
+ contentType: upstreamType,
+ maxAge,
+ etag: upstreamEtag,
+ upstreamEtag
+ };
+ }
+ if (BYPASS_TYPES.includes(upstreamType)) {
+ return {
+ buffer: upstreamBuffer,
+ contentType: upstreamType,
+ maxAge,
+ etag: upstreamEtag,
+ upstreamEtag
+ };
+ }
+ if (!upstreamType.startsWith('image/') || upstreamType.includes(',')) {
+ if (!opts.silent) {
+ _log.error("The requested resource isn't a valid image for", href, 'received', upstreamType);
+ }
+ throw Object.defineProperty(new ImageError(400, "The requested resource isn't a valid image."), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ let contentType;
+ if (mimeType) {
+ contentType = mimeType;
+ } else if ((upstreamType == null ? void 0 : upstreamType.startsWith('image/')) && (0, _servestatic.getExtension)(upstreamType) && upstreamType !== WEBP && upstreamType !== AVIF) {
+ contentType = upstreamType;
+ } else {
+ contentType = JPEG;
+ }
+ const previouslyCachedImage = getPreviouslyCachedImageOrNull(imageUpstream, opts.previousCacheEntry);
+ if (previouslyCachedImage) {
+ var _opts_previousCacheEntry_cacheControl, _opts_previousCacheEntry;
+ return {
+ buffer: previouslyCachedImage.buffer,
+ contentType,
+ maxAge: (opts == null ? void 0 : (_opts_previousCacheEntry = opts.previousCacheEntry) == null ? void 0 : (_opts_previousCacheEntry_cacheControl = _opts_previousCacheEntry.cacheControl) == null ? void 0 : _opts_previousCacheEntry_cacheControl.revalidate) || maxAge,
+ etag: previouslyCachedImage.etag,
+ upstreamEtag: previouslyCachedImage.upstreamEtag
+ };
+ }
+ try {
+ let optimizedBuffer = await optimizeImage({
+ buffer: upstreamBuffer,
+ contentType,
+ quality,
+ width,
+ concurrency: nextConfig.experimental.imgOptConcurrency,
+ limitInputPixels: nextConfig.experimental.imgOptMaxInputPixels,
+ sequentialRead: nextConfig.experimental.imgOptSequentialRead,
+ timeoutInSeconds: nextConfig.experimental.imgOptTimeoutInSeconds
+ });
+ if (opts.isDev && width <= BLUR_IMG_SIZE && quality === BLUR_QUALITY) {
+ // During `next dev`, we don't want to generate blur placeholders with webpack
+ // because it can delay starting the dev server. Instead, `next-image-loader.js`
+ // will inline a special url to lazily generate the blur placeholder at request time.
+ const meta = await getImageSize(optimizedBuffer);
+ const blurOpts = {
+ blurWidth: meta.width,
+ blurHeight: meta.height,
+ blurDataURL: `data:${contentType};base64,${optimizedBuffer.toString('base64')}`
+ };
+ optimizedBuffer = Buffer.from(unescape((0, _imageblursvg.getImageBlurSvg)(blurOpts)));
+ contentType = 'image/svg+xml';
+ }
+ return {
+ buffer: optimizedBuffer,
+ contentType,
+ maxAge,
+ etag: getImageEtag(optimizedBuffer),
+ upstreamEtag
+ };
+ } catch (error) {
+ if (upstreamType) {
+ // If we fail to optimize, fallback to the original image
+ return {
+ buffer: upstreamBuffer,
+ contentType: upstreamType,
+ maxAge: nextConfig.images.minimumCacheTTL,
+ etag: upstreamEtag,
+ upstreamEtag,
+ error
+ };
+ } else {
+ throw Object.defineProperty(new ImageError(400, 'Unable to optimize image and unable to fallback to upstream image'), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+}
+function getFileNameWithExtension(url, contentType) {
+ const [urlWithoutQueryParams] = url.split('?', 1);
+ const fileNameWithExtension = urlWithoutQueryParams.split('/').pop();
+ if (!contentType || !fileNameWithExtension) {
+ return 'image.bin';
+ }
+ const [fileName] = fileNameWithExtension.split('.', 1);
+ const extension = (0, _servestatic.getExtension)(contentType);
+ return `${fileName}.${extension}`;
+}
+function setResponseHeaders(req, res, url, etag, contentType, isStatic, xCache, imagesConfig, maxAge, isDev) {
+ res.setHeader('Vary', 'Accept');
+ res.setHeader('Cache-Control', isStatic ? 'public, max-age=315360000, immutable' : `public, max-age=${isDev ? 0 : maxAge}, must-revalidate`);
+ if ((0, _sendpayload.sendEtagResponse)(req, res, etag)) {
+ // already called res.end() so we're finished
+ return {
+ finished: true
+ };
+ }
+ if (contentType) {
+ res.setHeader('Content-Type', contentType);
+ }
+ const fileName = getFileNameWithExtension(url, contentType);
+ res.setHeader('Content-Disposition', (0, _contentdisposition.default)(fileName, {
+ type: imagesConfig.contentDispositionType
+ }));
+ res.setHeader('Content-Security-Policy', imagesConfig.contentSecurityPolicy);
+ res.setHeader('X-Nextjs-Cache', xCache);
+ return {
+ finished: false
+ };
+}
+function sendResponse(req, res, url, extension, buffer, etag, isStatic, xCache, imagesConfig, maxAge, isDev) {
+ const contentType = (0, _servestatic.getContentType)(extension);
+ const result = setResponseHeaders(req, res, url, etag, contentType, isStatic, xCache, imagesConfig, maxAge, isDev);
+ if (!result.finished) {
+ res.setHeader('Content-Length', Buffer.byteLength(buffer));
+ res.end(buffer);
+ }
+}
+async function getImageSize(buffer) {
+ const { width, height } = (0, _imagesize.default)(buffer);
+ return {
+ width,
+ height
+ };
+}
+
+//# sourceMappingURL=image-optimizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/instrumentation/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/instrumentation/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..b804939790e8b7fc863731d60ee99b457a57ba28
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/instrumentation/utils.js
@@ -0,0 +1,21 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getRevalidateReason", {
+ enumerable: true,
+ get: function() {
+ return getRevalidateReason;
+ }
+});
+function getRevalidateReason(params) {
+ if (params.isOnDemandRevalidate) {
+ return 'on-demand';
+ }
+ if (params.isRevalidate) {
+ return 'stale';
+ }
+ return undefined;
+}
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/internal-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/internal-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..c5ae3ba24dd206ecd52654100678652c1851ed33
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/internal-utils.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ stripInternalQueries: null,
+ stripInternalSearchParams: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ stripInternalQueries: function() {
+ return stripInternalQueries;
+ },
+ stripInternalSearchParams: function() {
+ return stripInternalSearchParams;
+ }
+});
+const _approuterheaders = require("../client/components/app-router-headers");
+const INTERNAL_QUERY_NAMES = [
+ _approuterheaders.NEXT_RSC_UNION_QUERY
+];
+function stripInternalQueries(query) {
+ for (const name of INTERNAL_QUERY_NAMES){
+ delete query[name];
+ }
+}
+function stripInternalSearchParams(url) {
+ const isStringUrl = typeof url === 'string';
+ const instance = isStringUrl ? new URL(url) : url;
+ instance.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);
+ return isStringUrl ? instance.toString() : instance;
+}
+
+//# sourceMappingURL=internal-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-dir-module.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-dir-module.js
new file mode 100644
index 0000000000000000000000000000000000000000..7fadeba35a3b10b737d64a955a2d931e9746a6ca
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-dir-module.js
@@ -0,0 +1,59 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getComponentTypeModule: null,
+ getLayoutOrPageModule: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getComponentTypeModule: function() {
+ return getComponentTypeModule;
+ },
+ getLayoutOrPageModule: function() {
+ return getLayoutOrPageModule;
+ }
+});
+const _segment = require("../../shared/lib/segment");
+async function getLayoutOrPageModule(loaderTree) {
+ const { layout, page, defaultPage } = loaderTree[2];
+ const isLayout = typeof layout !== 'undefined';
+ const isPage = typeof page !== 'undefined';
+ const isDefaultPage = typeof defaultPage !== 'undefined' && loaderTree[0] === _segment.DEFAULT_SEGMENT_KEY;
+ let mod = undefined;
+ let modType = undefined;
+ let filePath = undefined;
+ if (isLayout) {
+ mod = await layout[0]();
+ modType = 'layout';
+ filePath = layout[1];
+ } else if (isPage) {
+ mod = await page[0]();
+ modType = 'page';
+ filePath = page[1];
+ } else if (isDefaultPage) {
+ mod = await defaultPage[0]();
+ modType = 'page';
+ filePath = defaultPage[1];
+ }
+ return {
+ mod,
+ modType,
+ filePath
+ };
+}
+async function getComponentTypeModule(loaderTree, moduleType) {
+ const { [moduleType]: module1 } = loaderTree[2];
+ if (typeof module1 !== 'undefined') {
+ return await module1[0]();
+ }
+ return undefined;
+}
+
+//# sourceMappingURL=app-dir-module.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-info-log.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-info-log.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2e8c8a39990849c09412c410dc14f5ac0cb5196
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/app-info-log.js
@@ -0,0 +1,129 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getStartServerInfo: null,
+ logStartInfo: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getStartServerInfo: function() {
+ return getStartServerInfo;
+ },
+ logStartInfo: function() {
+ return logStartInfo;
+ }
+});
+const _env = require("@next/env");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _picocolors = require("../../lib/picocolors");
+const _constants = require("../../shared/lib/constants");
+const _config = /*#__PURE__*/ _interop_require_default(require("../config"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, maxExperimentalFeatures = Infinity }) {
+ let bundlerSuffix;
+ if (process.env.TURBOPACK) {
+ bundlerSuffix = ' (Turbopack)';
+ } else if (process.env.NEXT_RSPACK) {
+ bundlerSuffix = ' (Rspack)';
+ } else {
+ bundlerSuffix = '';
+ }
+ _log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.4.3"}`))}${bundlerSuffix}`);
+ if (appUrl) {
+ _log.bootstrap(`- Local: ${appUrl}`);
+ }
+ if (networkUrl) {
+ _log.bootstrap(`- Network: ${networkUrl}`);
+ }
+ if (envInfo == null ? void 0 : envInfo.length) _log.bootstrap(`- Environments: ${envInfo.join(', ')}`);
+ if (experimentalFeatures == null ? void 0 : experimentalFeatures.length) {
+ _log.bootstrap(`- Experiments (use with caution):`);
+ // only show a maximum number of flags
+ for (const exp of experimentalFeatures.slice(0, maxExperimentalFeatures)){
+ const symbol = typeof exp.value === 'boolean' ? exp.value === true ? (0, _picocolors.bold)('✓') : (0, _picocolors.bold)('⨯') : '·';
+ const suffix = typeof exp.value === 'number' || typeof exp.value === 'string' ? `: ${JSON.stringify(exp.value)}` : '';
+ const reason = exp.reason ? ` (${exp.reason})` : '';
+ _log.bootstrap(` ${symbol} ${exp.key}${suffix}${reason}`);
+ }
+ /* indicate if there are more than the maximum shown no. flags */ if (experimentalFeatures.length > maxExperimentalFeatures) {
+ _log.bootstrap(` · ...`);
+ }
+ }
+ // New line after the bootstrap info
+ _log.info('');
+}
+async function getStartServerInfo({ dir, dev, debugPrerender }) {
+ let experimentalFeatures = [];
+ await (0, _config.default)(dev ? _constants.PHASE_DEVELOPMENT_SERVER : _constants.PHASE_PRODUCTION_BUILD, dir, {
+ reportExperimentalFeatures (features) {
+ experimentalFeatures = features.sort(({ key: a }, { key: b })=>a.length - b.length);
+ },
+ debugPrerender
+ });
+ // we need to reset env if we are going to create
+ // the worker process with the esm loader so that the
+ // initial env state is correct
+ let envInfo = [];
+ const { loadedEnvFiles } = (0, _env.loadEnvConfig)(dir, true, console, false);
+ if (loadedEnvFiles.length > 0) {
+ envInfo = loadedEnvFiles.map((f)=>f.path);
+ }
+ return {
+ envInfo,
+ experimentalFeatures
+ };
+}
+
+//# sourceMappingURL=app-info-log.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/async-callback-set.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/async-callback-set.js
new file mode 100644
index 0000000000000000000000000000000000000000..b6a35e5c93a3d7c580596d6057a44d992b85a8b4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/async-callback-set.js
@@ -0,0 +1,29 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AsyncCallbackSet", {
+ enumerable: true,
+ get: function() {
+ return AsyncCallbackSet;
+ }
+});
+class AsyncCallbackSet {
+ add(callback) {
+ this.callbacks.push(callback);
+ }
+ async runAll() {
+ if (!this.callbacks.length) {
+ return;
+ }
+ const callbacks = this.callbacks;
+ this.callbacks = [];
+ await Promise.allSettled(callbacks.map(// NOTE: wrapped in an async function to protect against synchronous exceptions
+ async (f)=>f()));
+ }
+ constructor(){
+ this.callbacks = [];
+ }
+}
+
+//# sourceMappingURL=async-callback-set.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-control.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-control.js
new file mode 100644
index 0000000000000000000000000000000000000000..1ac5a98b90ae55b376fea422679f8bad7c0eea3f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-control.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getCacheControlHeader", {
+ enumerable: true,
+ get: function() {
+ return getCacheControlHeader;
+ }
+});
+const _constants = require("../../lib/constants");
+function getCacheControlHeader({ revalidate, expire }) {
+ const swrHeader = typeof revalidate === 'number' && expire !== undefined && revalidate < expire ? `, stale-while-revalidate=${expire - revalidate}` : '';
+ if (revalidate === 0) {
+ return 'private, no-cache, no-store, max-age=0, must-revalidate';
+ } else if (typeof revalidate === 'number') {
+ return `s-maxage=${revalidate}${swrHeader}`;
+ }
+ return `s-maxage=${_constants.CACHE_ONE_YEAR}${swrHeader}`;
+}
+
+//# sourceMappingURL=cache-control.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..47ae98268d7342238947371fe7fa5e381fe2ac9b
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js
@@ -0,0 +1,117 @@
+/**
+ * This is the default "use cache" handler it defaults to an in-memory store.
+ * In-memory caches are fragile and should not use stale-while-revalidate
+ * semantics on the caches because it's not worth warming up an entry that's
+ * likely going to get evicted before we get to use it anyway. However, we also
+ * don't want to reuse a stale entry for too long so stale entries should be
+ * considered expired/missing in such cache handlers.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return _default;
+ }
+});
+const _lrucache = require("../lru-cache");
+const _tagsmanifestexternal = require("../incremental-cache/tags-manifest.external");
+// LRU cache default to max 50 MB but in future track
+const memoryCache = new _lrucache.LRUCache(50 * 1024 * 1024, (entry)=>entry.size);
+const pendingSets = new Map();
+const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE ? console.debug.bind(console, 'DefaultCacheHandler:') : undefined;
+const DefaultCacheHandler = {
+ async get (cacheKey) {
+ const pendingPromise = pendingSets.get(cacheKey);
+ if (pendingPromise) {
+ debug == null ? void 0 : debug('get', cacheKey, 'pending');
+ await pendingPromise;
+ }
+ const privateEntry = memoryCache.get(cacheKey);
+ if (!privateEntry) {
+ debug == null ? void 0 : debug('get', cacheKey, 'not found');
+ return undefined;
+ }
+ const entry = privateEntry.entry;
+ if (performance.timeOrigin + performance.now() > entry.timestamp + entry.revalidate * 1000) {
+ // In-memory caches should expire after revalidate time because it is
+ // unlikely that a new entry will be able to be used before it is dropped
+ // from the cache.
+ debug == null ? void 0 : debug('get', cacheKey, 'expired');
+ return undefined;
+ }
+ if ((0, _tagsmanifestexternal.isStale)(entry.tags, entry.timestamp)) {
+ debug == null ? void 0 : debug('get', cacheKey, 'had stale tag');
+ return undefined;
+ }
+ const [returnStream, newSaved] = entry.value.tee();
+ entry.value = newSaved;
+ debug == null ? void 0 : debug('get', cacheKey, 'found', {
+ tags: entry.tags,
+ timestamp: entry.timestamp,
+ revalidate: entry.revalidate,
+ expire: entry.expire
+ });
+ return {
+ ...entry,
+ value: returnStream
+ };
+ },
+ async set (cacheKey, pendingEntry) {
+ debug == null ? void 0 : debug('set', cacheKey, 'start');
+ let resolvePending = ()=>{};
+ const pendingPromise = new Promise((resolve)=>{
+ resolvePending = resolve;
+ });
+ pendingSets.set(cacheKey, pendingPromise);
+ const entry = await pendingEntry;
+ let size = 0;
+ try {
+ const [value, clonedValue] = entry.value.tee();
+ entry.value = value;
+ const reader = clonedValue.getReader();
+ for(let chunk; !(chunk = await reader.read()).done;){
+ size += Buffer.from(chunk.value).byteLength;
+ }
+ memoryCache.set(cacheKey, {
+ entry,
+ isErrored: false,
+ errorRetryCount: 0,
+ size
+ });
+ debug == null ? void 0 : debug('set', cacheKey, 'done');
+ } catch (err) {
+ // TODO: store partial buffer with error after we retry 3 times
+ debug == null ? void 0 : debug('set', cacheKey, 'failed', err);
+ } finally{
+ resolvePending();
+ pendingSets.delete(cacheKey);
+ }
+ },
+ async refreshTags () {
+ // Nothing to do for an in-memory cache handler.
+ },
+ async getExpiration (...tags) {
+ const expiration = Math.max(...tags.map((tag)=>_tagsmanifestexternal.tagsManifest.get(tag) ?? 0));
+ debug == null ? void 0 : debug('getExpiration', {
+ tags,
+ expiration
+ });
+ return expiration;
+ },
+ async expireTags (...tags) {
+ const timestamp = Math.round(performance.timeOrigin + performance.now());
+ debug == null ? void 0 : debug('expireTags', {
+ tags,
+ timestamp
+ });
+ for (const tag of tags){
+ // TODO: update file-system-cache?
+ _tagsmanifestexternal.tagsManifest.set(tag, timestamp);
+ }
+ }
+};
+const _default = DefaultCacheHandler;
+
+//# sourceMappingURL=default.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/chrome-devtools-workspace.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/chrome-devtools-workspace.js
new file mode 100644
index 0000000000000000000000000000000000000000..63fd21663d6848be811c7c3333a1b303efe13175
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/chrome-devtools-workspace.js
@@ -0,0 +1,116 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ handleChromeDevtoolsWorkspaceRequest: null,
+ isChromeDevtoolsWorkspaceUrl: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ handleChromeDevtoolsWorkspaceRequest: function() {
+ return handleChromeDevtoolsWorkspaceRequest;
+ },
+ isChromeDevtoolsWorkspaceUrl: function() {
+ return isChromeDevtoolsWorkspaceUrl;
+ }
+});
+const _crypto = require("crypto");
+const _fs = /*#__PURE__*/ _interop_require_wildcard(require("fs"));
+const _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
+const _cachedir = require("../cache-dir");
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+// Keep the uuid in memory as it should never change during the lifetime of the server.
+let workspaceUUID = null;
+function isChromeDevtoolsWorkspaceUrl(url) {
+ return url.pathname === '/.well-known/appspecific/com.chrome.devtools.json';
+}
+async function handleChromeDevtoolsWorkspaceRequest(response, opts, config) {
+ response.setHeader('Content-Type', 'application/json');
+ response.end(JSON.stringify(await getChromeDevtoolsWorkspace(opts.dir, config.distDir), null, 2));
+}
+/**
+ * For https://developer.chrome.com/docs/devtools/workspaces
+ */ async function getChromeDevtoolsWorkspace(root, configDistDir) {
+ if (workspaceUUID === null) {
+ const distDir = _path.join(root, configDistDir);
+ const cacheBaseDir = (0, _cachedir.getStorageDirectory)(distDir);
+ if (cacheBaseDir === undefined) {
+ workspaceUUID = (0, _crypto.randomUUID)();
+ } else {
+ const cachedUUIDPath = _path.join(cacheBaseDir, 'chrome-devtools-workspace-uuid');
+ try {
+ workspaceUUID = await _fs.promises.readFile(cachedUUIDPath, 'utf8');
+ } catch {
+ // TODO: Why does this need to be v4 and not v5?
+ // With v5 we could base it off of the `distDir` and `root` which would
+ // allow us to persist the workspace across .next wipes.
+ workspaceUUID = (0, _crypto.randomUUID)();
+ try {
+ await _fs.promises.writeFile(cachedUUIDPath, workspaceUUID, 'utf8');
+ } catch (cause) {
+ console.warn(Object.defineProperty(new Error('Failed to persist Chrome DevTools workspace UUID. The Chrome DevTools Workspace needs to be reconnected after the next page reload.', {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E708",
+ enumerable: false,
+ configurable: true
+ }));
+ }
+ }
+ }
+ }
+ return {
+ workspace: {
+ uuid: workspaceUUID,
+ root
+ }
+ };
+}
+
+//# sourceMappingURL=chrome-devtools-workspace.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/clone-response.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/clone-response.js
new file mode 100644
index 0000000000000000000000000000000000000000..0993c7bcc14c02e3f20e1371bc51f1a71203f2b5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/clone-response.js
@@ -0,0 +1,62 @@
+/**
+ * Clones a response by teeing the body so we can return two independent
+ * ReadableStreams from it. This avoids the bug in the undici library around
+ * response cloning.
+ *
+ * After cloning, the original response's body will be consumed and closed.
+ *
+ * @see https://github.com/vercel/next.js/pull/73274
+ *
+ * @param original - The original response to clone.
+ * @returns A tuple containing two independent clones of the original response.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "cloneResponse", {
+ enumerable: true,
+ get: function() {
+ return cloneResponse;
+ }
+});
+function cloneResponse(original) {
+ // If the response has no body, then we can just return the original response
+ // twice because it's immutable.
+ if (!original.body) {
+ return [
+ original,
+ original
+ ];
+ }
+ const [body1, body2] = original.body.tee();
+ const cloned1 = new Response(body1, {
+ status: original.status,
+ statusText: original.statusText,
+ headers: original.headers
+ });
+ Object.defineProperty(cloned1, 'url', {
+ value: original.url,
+ // How the original response.url behaves
+ configurable: true,
+ enumerable: true,
+ writable: false
+ });
+ const cloned2 = new Response(body2, {
+ status: original.status,
+ statusText: original.statusText,
+ headers: original.headers
+ });
+ Object.defineProperty(cloned2, 'url', {
+ value: original.url,
+ // How the original response.url behaves
+ configurable: true,
+ enumerable: true,
+ writable: false
+ });
+ return [
+ cloned1,
+ cloned2
+ ];
+}
+
+//# sourceMappingURL=clone-response.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cpu-profile.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cpu-profile.js
new file mode 100644
index 0000000000000000000000000000000000000000..26790cdcd33e30d7cb0c76470a1ec1f2b9030baa
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/cpu-profile.js
@@ -0,0 +1,28 @@
+"use strict";
+const privateCpuProfileName = process.env.__NEXT_PRIVATE_CPU_PROFILE;
+const isCpuProfileEnabled = process.env.NEXT_CPU_PROF || privateCpuProfileName;
+if (isCpuProfileEnabled) {
+ const { Session } = require('inspector');
+ const fs = require('fs');
+ const session = new Session();
+ session.connect();
+ session.post('Profiler.enable');
+ session.post('Profiler.start');
+ function saveProfile() {
+ session.post('Profiler.stop', (error, param)=>{
+ if (error) {
+ console.error('Cannot generate CPU profiling:', error);
+ return;
+ }
+ // Write profile to disk
+ const filename = `${privateCpuProfileName || 'CPU.main'}.${Date.now()}.cpuprofile`;
+ fs.writeFileSync(`./${filename}`, JSON.stringify(param.profile));
+ process.exit(0);
+ });
+ }
+ process.on('SIGINT', saveProfile);
+ process.on('SIGTERM', saveProfile);
+ process.on('exit', saveProfile);
+}
+
+//# sourceMappingURL=cpu-profile.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/decode-query-path-parameter.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/decode-query-path-parameter.js
new file mode 100644
index 0000000000000000000000000000000000000000..0d3b7712b02b37a7dd5c1d01209bd60e16f63352
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/decode-query-path-parameter.js
@@ -0,0 +1,26 @@
+/**
+ * Decodes a query path parameter.
+ *
+ * @param value - The value to decode.
+ * @returns The decoded value.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "decodeQueryPathParameter", {
+ enumerable: true,
+ get: function() {
+ return decodeQueryPathParameter;
+ }
+});
+function decodeQueryPathParameter(value) {
+ // When deployed to Vercel, the value may be encoded, so this attempts to
+ // decode it and returns the original value if it fails.
+ try {
+ return decodeURIComponent(value);
+ } catch {
+ return value;
+ }
+}
+
+//# sourceMappingURL=decode-query-path-parameter.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dedupe-fetch.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dedupe-fetch.js
new file mode 100644
index 0000000000000000000000000000000000000000..85a94a717ec11feaa89c969f768a34a34be48921
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dedupe-fetch.js
@@ -0,0 +1,156 @@
+/**
+ * Based on https://github.com/facebook/react/blob/d4e78c42a94be027b4dc7ed2659a5fddfbf9bd4e/packages/react/src/ReactFetch.js
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createDedupeFetch", {
+ enumerable: true,
+ get: function() {
+ return createDedupeFetch;
+ }
+});
+const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
+const _cloneresponse = require("./clone-response");
+const _invarianterror = require("../../shared/lib/invariant-error");
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const simpleCacheKey = '["GET",[],null,"follow",null,null,null,null]' // generateCacheKey(new Request('https://blank'));
+;
+function generateCacheKey(request) {
+ // We pick the fields that goes into the key used to dedupe requests.
+ // We don't include the `cache` field, because we end up using whatever
+ // caching resulted from the first request.
+ // Notably we currently don't consider non-standard (or future) options.
+ // This might not be safe. TODO: warn for non-standard extensions differing.
+ // IF YOU CHANGE THIS UPDATE THE simpleCacheKey ABOVE.
+ return JSON.stringify([
+ request.method,
+ Array.from(request.headers.entries()),
+ request.mode,
+ request.redirect,
+ request.credentials,
+ request.referrer,
+ request.referrerPolicy,
+ request.integrity
+ ]);
+}
+function createDedupeFetch(originalFetch) {
+ const getCacheEntries = _react.cache(// eslint-disable-next-line @typescript-eslint/no-unused-vars -- url is the cache key
+ (url)=>[]);
+ return function dedupeFetch(resource, options) {
+ if (options && options.signal) {
+ // If we're passed a signal, then we assume that
+ // someone else controls the lifetime of this object and opts out of
+ // caching. It's effectively the opt-out mechanism.
+ // Ideally we should be able to check this on the Request but
+ // it always gets initialized with its own signal so we don't
+ // know if it's supposed to override - unless we also override the
+ // Request constructor.
+ return originalFetch(resource, options);
+ }
+ // Normalize the Request
+ let url;
+ let cacheKey;
+ if (typeof resource === 'string' && !options) {
+ // Fast path.
+ cacheKey = simpleCacheKey;
+ url = resource;
+ } else {
+ // Normalize the request.
+ // if resource is not a string or a URL (its an instance of Request)
+ // then do not instantiate a new Request but instead
+ // reuse the request as to not disturb the body in the event it's a ReadableStream.
+ const request = typeof resource === 'string' || resource instanceof URL ? new Request(resource, options) : resource;
+ if (request.method !== 'GET' && request.method !== 'HEAD' || request.keepalive) {
+ // We currently don't dedupe requests that might have side-effects. Those
+ // have to be explicitly cached. We assume that the request doesn't have a
+ // body if it's GET or HEAD.
+ // keepalive gets treated the same as if you passed a custom cache signal.
+ return originalFetch(resource, options);
+ }
+ cacheKey = generateCacheKey(request);
+ url = request.url;
+ }
+ const cacheEntries = getCacheEntries(url);
+ for(let i = 0, j = cacheEntries.length; i < j; i += 1){
+ const [key, promise] = cacheEntries[i];
+ if (key === cacheKey) {
+ return promise.then(()=>{
+ const response = cacheEntries[i][2];
+ if (!response) throw Object.defineProperty(new _invarianterror.InvariantError('No cached response'), "__NEXT_ERROR_CODE", {
+ value: "E579",
+ enumerable: false,
+ configurable: true
+ });
+ // We're cloning the response using this utility because there exists
+ // a bug in the undici library around response cloning. See the
+ // following pull request for more details:
+ // https://github.com/vercel/next.js/pull/73274
+ const [cloned1, cloned2] = (0, _cloneresponse.cloneResponse)(response);
+ cacheEntries[i][2] = cloned2;
+ return cloned1;
+ });
+ }
+ }
+ // We pass the original arguments here in case normalizing the Request
+ // doesn't include all the options in this environment.
+ const promise = originalFetch(resource, options);
+ const entry = [
+ cacheKey,
+ promise,
+ null
+ ];
+ cacheEntries.push(entry);
+ return promise.then((response)=>{
+ // We're cloning the response using this utility because there exists
+ // a bug in the undici library around response cloning. See the
+ // following pull request for more details:
+ // https://github.com/vercel/next.js/pull/73274
+ const [cloned1, cloned2] = (0, _cloneresponse.cloneResponse)(response);
+ entry[2] = cloned2;
+ return cloned1;
+ });
+ };
+}
+
+//# sourceMappingURL=dedupe-fetch.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dev-bundler-service.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dev-bundler-service.js
new file mode 100644
index 0000000000000000000000000000000000000000..27e7961d0fa7ad61f742ab5ab0b45f8a4a7874f2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/dev-bundler-service.js
@@ -0,0 +1,84 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevBundlerService", {
+ enumerable: true,
+ get: function() {
+ return DevBundlerService;
+ }
+});
+const _lrucache = require("./lru-cache");
+const _mockrequest = require("./mock-request");
+const _hotreloadertypes = require("../dev/hot-reloader-types");
+class DevBundlerService {
+ constructor(bundler, handler){
+ this.bundler = bundler;
+ this.handler = handler;
+ this.ensurePage = async (definition)=>{
+ // TODO: remove after ensure is pulled out of server
+ return await this.bundler.hotReloader.ensurePage(definition);
+ };
+ this.logErrorWithOriginalStack = this.bundler.logErrorWithOriginalStack.bind(this.bundler);
+ this.appIsrManifestInner = new _lrucache.LRUCache(8000, function length() {
+ return 16;
+ });
+ }
+ async getFallbackErrorComponents(url) {
+ await this.bundler.hotReloader.buildFallbackError();
+ // Build the error page to ensure the fallback is built too.
+ // TODO: See if this can be moved into hotReloader or removed.
+ await this.bundler.hotReloader.ensurePage({
+ page: '/_error',
+ clientOnly: false,
+ definition: undefined,
+ url
+ });
+ }
+ async getCompilationError(page) {
+ const errors = await this.bundler.hotReloader.getCompilationErrors(page);
+ if (!errors) return;
+ // Return the very first error we found.
+ return errors[0];
+ }
+ async revalidate({ urlPath, revalidateHeaders, opts: revalidateOpts }) {
+ const mocked = (0, _mockrequest.createRequestResponseMocks)({
+ url: urlPath,
+ headers: revalidateHeaders
+ });
+ await this.handler(mocked.req, mocked.res);
+ await mocked.res.hasStreamed;
+ if (mocked.res.getHeader('x-nextjs-cache') !== 'REVALIDATED' && mocked.res.statusCode !== 200 && !(mocked.res.statusCode === 404 && revalidateOpts.unstable_onlyGenerated)) {
+ throw Object.defineProperty(new Error(`Invalid response ${mocked.res.statusCode}`), "__NEXT_ERROR_CODE", {
+ value: "E175",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return {};
+ }
+ get appIsrManifest() {
+ const serializableManifest = {};
+ for (const key of this.appIsrManifestInner.keys()){
+ serializableManifest[key] = this.appIsrManifestInner.get(key);
+ }
+ return serializableManifest;
+ }
+ setIsrStatus(key, value) {
+ var _this_bundler_hotReloader, _this_bundler;
+ if (value === null) {
+ this.appIsrManifestInner.remove(key);
+ } else {
+ this.appIsrManifestInner.set(key, value);
+ }
+ (_this_bundler = this.bundler) == null ? void 0 : (_this_bundler_hotReloader = _this_bundler.hotReloader) == null ? void 0 : _this_bundler_hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ISR_MANIFEST,
+ data: this.appIsrManifest
+ });
+ }
+ close() {
+ this.bundler.hotReloader.close();
+ }
+}
+
+//# sourceMappingURL=dev-bundler-service.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/etag.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/etag.js
new file mode 100644
index 0000000000000000000000000000000000000000..236113311b268e326eeb3e5c3ecf351f114e88fa
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/etag.js
@@ -0,0 +1,56 @@
+/**
+ * FNV-1a Hash implementation
+ * @author Travis Webb (tjwebb)
+ *
+ * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js
+ *
+ * Simplified, optimized and add modified for 52 bit, which provides a larger hash space
+ * and still making use of Javascript's 53-bit integer space.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ fnv1a52: null,
+ generateETag: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ fnv1a52: function() {
+ return fnv1a52;
+ },
+ generateETag: function() {
+ return generateETag;
+ }
+});
+const fnv1a52 = (str)=>{
+ const len = str.length;
+ let i = 0, t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2;
+ while(i < len){
+ v0 ^= str.charCodeAt(i++);
+ t0 = v0 * 435;
+ t1 = v1 * 435;
+ t2 = v2 * 435;
+ t3 = v3 * 435;
+ t2 += v0 << 8;
+ t3 += v1 << 8;
+ t1 += t0 >>> 16;
+ v0 = t0 & 65535;
+ t2 += t1 >>> 16;
+ v1 = t1 & 65535;
+ v3 = t3 + (t2 >>> 16) & 65535;
+ v2 = t2 & 65535;
+ }
+ return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4);
+};
+const generateETag = (payload, weak = false)=>{
+ const prefix = weak ? 'W/"' : '"';
+ return prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '"';
+};
+
+//# sourceMappingURL=etag.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/create-env-definitions.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/create-env-definitions.js
new file mode 100644
index 0000000000000000000000000000000000000000..d772b73d233f694560058573edd8234273561e00
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/create-env-definitions.js
@@ -0,0 +1,49 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createEnvDefinitions", {
+ enumerable: true,
+ get: function() {
+ return createEnvDefinitions;
+ }
+});
+const _nodepath = require("node:path");
+const _promises = require("node:fs/promises");
+async function createEnvDefinitions({ distDir, loadedEnvFiles }) {
+ const envLines = [];
+ const seenKeys = new Set();
+ // env files are in order of priority
+ for (const { path, env } of loadedEnvFiles){
+ for(const key in env){
+ if (!seenKeys.has(key)) {
+ envLines.push(` /** Loaded from \`${path}\` */`);
+ envLines.push(` ${key}?: string`);
+ seenKeys.add(key);
+ }
+ }
+ }
+ const envStr = envLines.join('\n');
+ const definitionStr = `// Type definitions for Next.js environment variables
+declare global {
+ namespace NodeJS {
+ interface ProcessEnv {
+${envStr}
+ }
+ }
+}
+export {}`;
+ if (process.env.NODE_ENV === 'test') {
+ return definitionStr;
+ }
+ try {
+ // we expect the types directory to already exist
+ const envDtsPath = (0, _nodepath.join)(distDir, 'types', 'env.d.ts');
+ // do not await, this is not essential for further process
+ (0, _promises.writeFile)(envDtsPath, definitionStr, 'utf-8');
+ } catch (e) {
+ console.error('Failed to write env.d.ts:', e);
+ }
+}
+
+//# sourceMappingURL=create-env-definitions.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/ppr.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/ppr.js
new file mode 100644
index 0000000000000000000000000000000000000000..aaaabc61f77bca81dbda65f50eb7c544ce650aa1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/experimental/ppr.js
@@ -0,0 +1,52 @@
+/**
+ * If set to `incremental`, only those leaf pages that export
+ * `experimental_ppr = true` will have partial prerendering enabled. If any
+ * page exports this value as `false` or does not export it at all will not
+ * have partial prerendering enabled. If set to a boolean, the options for
+ * `experimental_ppr` will be ignored.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ checkIsAppPPREnabled: null,
+ checkIsRoutePPREnabled: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ checkIsAppPPREnabled: function() {
+ return checkIsAppPPREnabled;
+ },
+ checkIsRoutePPREnabled: function() {
+ return checkIsRoutePPREnabled;
+ }
+});
+function checkIsAppPPREnabled(config) {
+ // If the config is undefined, partial prerendering is disabled.
+ if (typeof config === 'undefined') return false;
+ // If the config is a boolean, use it directly.
+ if (typeof config === 'boolean') return config;
+ // If the config is a string, it must be 'incremental' to enable partial
+ // prerendering.
+ if (config === 'incremental') return true;
+ return false;
+}
+function checkIsRoutePPREnabled(config, appConfig) {
+ // If the config is undefined, partial prerendering is disabled.
+ if (typeof config === 'undefined') return false;
+ // If the config is a boolean, use it directly.
+ if (typeof config === 'boolean') return config;
+ // If the config is a string, it must be 'incremental' to enable partial
+ // prerendering.
+ if (config === 'incremental' && appConfig.experimental_ppr === true) {
+ return true;
+ }
+ return false;
+}
+
+//# sourceMappingURL=ppr.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/find-page-file.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/find-page-file.js
new file mode 100644
index 0000000000000000000000000000000000000000..e653a062e6fa88a20cf86d1fd8235caacde528c6
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/find-page-file.js
@@ -0,0 +1,111 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createValidFileMatcher: null,
+ findPageFile: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createValidFileMatcher: function() {
+ return createValidFileMatcher;
+ },
+ findPageFile: function() {
+ return findPageFile;
+ }
+});
+const _fileexists = require("../../lib/file-exists");
+const _getpagepaths = require("../../shared/lib/page-path/get-page-paths");
+const _nonnullable = require("../../lib/non-nullable");
+const _path = require("path");
+const _fs = require("fs");
+const _log = require("../../build/output/log");
+const _picocolors = require("../../lib/picocolors");
+const _ismetadataroute = require("../../lib/metadata/is-metadata-route");
+async function isTrueCasePagePath(pagePath, pagesDir) {
+ const pageSegments = (0, _path.normalize)(pagePath).split(_path.sep).filter(Boolean);
+ const segmentExistsPromises = pageSegments.map(async (segment, i)=>{
+ const segmentParentDir = (0, _path.join)(pagesDir, ...pageSegments.slice(0, i));
+ const parentDirEntries = await _fs.promises.readdir(segmentParentDir);
+ return parentDirEntries.includes(segment);
+ });
+ return (await Promise.all(segmentExistsPromises)).every(Boolean);
+}
+async function findPageFile(pagesDir, normalizedPagePath, pageExtensions, isAppDir) {
+ const pagePaths = (0, _getpagepaths.getPagePaths)(normalizedPagePath, pageExtensions, isAppDir);
+ const [existingPath, ...others] = (await Promise.all(pagePaths.map(async (path)=>{
+ const filePath = (0, _path.join)(pagesDir, path);
+ try {
+ return await (0, _fileexists.fileExists)(filePath) ? path : null;
+ } catch (err) {
+ var _err_code;
+ if (!(err == null ? void 0 : (_err_code = err.code) == null ? void 0 : _err_code.includes('ENOTDIR'))) throw err;
+ }
+ return null;
+ }))).filter(_nonnullable.nonNullable);
+ if (!existingPath) {
+ return null;
+ }
+ if (!await isTrueCasePagePath(existingPath, pagesDir)) {
+ return null;
+ }
+ if (others.length > 0) {
+ (0, _log.warn)(`Duplicate page detected. ${(0, _picocolors.cyan)((0, _path.join)('pages', existingPath))} and ${(0, _picocolors.cyan)((0, _path.join)('pages', others[0]))} both resolve to ${(0, _picocolors.cyan)(normalizedPagePath)}.`);
+ }
+ return existingPath;
+}
+function createValidFileMatcher(pageExtensions, appDirPath) {
+ const getExtensionRegexString = (extensions)=>`(?:${extensions.join('|')})`;
+ const validExtensionFileRegex = new RegExp('\\.' + getExtensionRegexString(pageExtensions) + '$');
+ const leafOnlyPageFileRegex = new RegExp(`(^(page|route)|[\\\\/](page|route))\\.${getExtensionRegexString(pageExtensions)}$`);
+ const rootNotFoundFileRegex = new RegExp(`^not-found\\.${getExtensionRegexString(pageExtensions)}$`);
+ /** TODO-METADATA: support other metadata routes
+ * regex for:
+ *
+ * /robots.txt|
+ * /sitemap.xml|
+ * /favicon.ico
+ * /manifest.json|
+ * /icon.png|jpg|
+ * /apple-touch-icon.png|jpg|
+ *
+ */ /**
+ * Match the file if it's a metadata route file, static: if the file is a static metadata file.
+ * It needs to be a file which doesn't match the custom metadata routes e.g. `app/robots.txt/route.js`
+ */ function isMetadataFile(filePath) {
+ const appDirRelativePath = appDirPath ? filePath.replace(appDirPath, '') : filePath;
+ return (0, _ismetadataroute.isMetadataRouteFile)(appDirRelativePath, pageExtensions, true);
+ }
+ // Determine if the file is leaf node page file or route file under layouts,
+ // 'page.' | 'route.'
+ function isAppRouterPage(filePath) {
+ return leafOnlyPageFileRegex.test(filePath) || isMetadataFile(filePath);
+ }
+ function isPageFile(filePath) {
+ return validExtensionFileRegex.test(filePath) || isMetadataFile(filePath);
+ }
+ function isRootNotFound(filePath) {
+ if (!appDirPath) {
+ return false;
+ }
+ if (!filePath.startsWith(appDirPath + _path.sep)) {
+ return false;
+ }
+ const rest = filePath.slice(appDirPath.length + 1);
+ return rootNotFoundFileRegex.test(rest);
+ }
+ return {
+ isPageFile,
+ isAppRouterPage,
+ isMetadataFile,
+ isRootNotFound
+ };
+}
+
+//# sourceMappingURL=find-page-file.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/fix-mojibake.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/fix-mojibake.js
new file mode 100644
index 0000000000000000000000000000000000000000..d97306258c954920f5d2c1ab61a606df9486fc06
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/fix-mojibake.js
@@ -0,0 +1,25 @@
+// x-matched-path header can be decoded incorrectly
+// and should only be utf8 characters so this fixes
+// incorrectly encoded values
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "fixMojibake", {
+ enumerable: true,
+ get: function() {
+ return fixMojibake;
+ }
+});
+function fixMojibake(input) {
+ // Convert each character's char code to a byte
+ const bytes = new Uint8Array(input.length);
+ for(let i = 0; i < input.length; i++){
+ bytes[i] = input.charCodeAt(i);
+ }
+ // Decode the bytes as proper UTF-8
+ const decoder = new TextDecoder('utf-8');
+ return decoder.decode(bytes);
+}
+
+//# sourceMappingURL=fix-mojibake.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/format-hostname.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/format-hostname.js
new file mode 100644
index 0000000000000000000000000000000000000000..6ab8a51767c5d96de740911abca26ad9e76e4c5a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/format-hostname.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "formatHostname", {
+ enumerable: true,
+ get: function() {
+ return formatHostname;
+ }
+});
+const _isipv6 = require("./is-ipv6");
+function formatHostname(hostname) {
+ return (0, _isipv6.isIPv6)(hostname) ? `[${hostname}]` : hostname;
+}
+
+//# sourceMappingURL=format-hostname.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/i18n-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/i18n-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..7c4fdbb2c288c8f3c3803b44cbb5fd5f082a9c31
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/i18n-provider.js
@@ -0,0 +1,133 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "I18NProvider", {
+ enumerable: true,
+ get: function() {
+ return I18NProvider;
+ }
+});
+const _requestmeta = require("../request-meta");
+class I18NProvider {
+ constructor(config){
+ var _config_domains;
+ this.config = config;
+ if (!config.locales.length) {
+ throw Object.defineProperty(new Error('Invariant: No locales provided'), "__NEXT_ERROR_CODE", {
+ value: "E510",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ this.lowerCaseLocales = config.locales.map((locale)=>locale.toLowerCase());
+ this.lowerCaseDomains = (_config_domains = config.domains) == null ? void 0 : _config_domains.map((domainLocale)=>{
+ var _domainLocale_locales;
+ const domain = domainLocale.domain.toLowerCase();
+ return {
+ defaultLocale: domainLocale.defaultLocale.toLowerCase(),
+ hostname: domain.split(':', 1)[0],
+ domain,
+ locales: (_domainLocale_locales = domainLocale.locales) == null ? void 0 : _domainLocale_locales.map((locale)=>locale.toLowerCase()),
+ http: domainLocale.http
+ };
+ });
+ }
+ /**
+ * Detects the domain locale from the hostname and the detected locale if
+ * provided.
+ *
+ * @param hostname The hostname to detect the domain locale from, this must be lowercased.
+ * @param detectedLocale The detected locale to use if the hostname does not match.
+ * @returns The domain locale if found, `undefined` otherwise.
+ */ detectDomainLocale(hostname, detectedLocale) {
+ if (!hostname || !this.lowerCaseDomains || !this.config.domains) return;
+ if (detectedLocale) detectedLocale = detectedLocale.toLowerCase();
+ for(let i = 0; i < this.lowerCaseDomains.length; i++){
+ var // Configuration validation ensures that the locale is not repeated in
+ // other domains locales.
+ _domainLocale_locales;
+ const domainLocale = this.lowerCaseDomains[i];
+ if (// We assume that the hostname is already lowercased.
+ domainLocale.hostname === hostname || ((_domainLocale_locales = domainLocale.locales) == null ? void 0 : _domainLocale_locales.some((locale)=>locale === detectedLocale))) {
+ return this.config.domains[i];
+ }
+ }
+ return;
+ }
+ /**
+ * Pulls the pre-computed locale and inference results from the query
+ * object.
+ *
+ * @param req the request object
+ * @param pathname the pathname that could contain a locale prefix
+ * @returns the locale analysis result
+ */ fromRequest(req, pathname) {
+ const detectedLocale = (0, _requestmeta.getRequestMeta)(req, 'locale');
+ // If a locale was detected on the query, analyze the pathname to ensure
+ // that the locale matches.
+ if (detectedLocale) {
+ const analysis = this.analyze(pathname);
+ // If the analysis contained a locale we should validate it against the
+ // query and strip it from the pathname.
+ if (analysis.detectedLocale) {
+ if (analysis.detectedLocale !== detectedLocale) {
+ throw Object.defineProperty(new Error(`Invariant: The detected locale does not match the locale in the query. Expected to find '${detectedLocale}' in '${pathname}' but found '${analysis.detectedLocale}'}`), "__NEXT_ERROR_CODE", {
+ value: "E517",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ pathname = analysis.pathname;
+ }
+ }
+ return {
+ pathname,
+ detectedLocale,
+ inferredFromDefault: (0, _requestmeta.getRequestMeta)(req, 'localeInferredFromDefault') ?? false
+ };
+ }
+ /**
+ * Analyzes the pathname for a locale and returns the pathname without it.
+ *
+ * @param pathname The pathname that could contain a locale prefix.
+ * @param options The options to use when matching the locale.
+ * @returns The matched locale and the pathname without the locale prefix
+ * (if any).
+ */ analyze(pathname, options = {}) {
+ let detectedLocale = options.defaultLocale;
+ // By default, we assume that the default locale was inferred if there was
+ // no detected locale.
+ let inferredFromDefault = typeof detectedLocale === 'string';
+ // The first segment will be empty, because it has a leading `/`. If
+ // there is no further segment, there is no locale (or it's the default).
+ const segments = pathname.split('/', 2);
+ if (!segments[1]) return {
+ detectedLocale,
+ pathname,
+ inferredFromDefault
+ };
+ // The second segment will contain the locale part if any.
+ const segment = segments[1].toLowerCase();
+ // See if the segment matches one of the locales. If it doesn't, there is
+ // no locale (or it's the default).
+ const index = this.lowerCaseLocales.indexOf(segment);
+ if (index < 0) return {
+ detectedLocale,
+ pathname,
+ inferredFromDefault
+ };
+ // Return the case-sensitive locale.
+ detectedLocale = this.config.locales[index];
+ inferredFromDefault = false;
+ // Remove the `/${locale}` part of the pathname.
+ pathname = pathname.slice(detectedLocale.length + 1) || '/';
+ return {
+ detectedLocale,
+ pathname,
+ inferredFromDefault
+ };
+ }
+}
+
+//# sourceMappingURL=i18n-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/implicit-tags.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/implicit-tags.js
new file mode 100644
index 0000000000000000000000000000000000000000..e981bafcf75822a99c8de7171a2b77ac9eb101c4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/implicit-tags.js
@@ -0,0 +1,71 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getImplicitTags", {
+ enumerable: true,
+ get: function() {
+ return getImplicitTags;
+ }
+});
+const _constants = require("../../lib/constants");
+const _handlers = require("../use-cache/handlers");
+const _lazyresult = require("./lazy-result");
+const getDerivedTags = (pathname)=>{
+ const derivedTags = [
+ `/layout`
+ ];
+ // we automatically add the current path segments as tags
+ // for revalidatePath handling
+ if (pathname.startsWith('/')) {
+ const pathnameParts = pathname.split('/');
+ for(let i = 1; i < pathnameParts.length + 1; i++){
+ let curPathname = pathnameParts.slice(0, i).join('/');
+ if (curPathname) {
+ // all derived tags other than the page are layout tags
+ if (!curPathname.endsWith('/page') && !curPathname.endsWith('/route')) {
+ curPathname = `${curPathname}${!curPathname.endsWith('/') ? '/' : ''}layout`;
+ }
+ derivedTags.push(curPathname);
+ }
+ }
+ }
+ return derivedTags;
+};
+/**
+ * Creates a map with lazy results that fetch the expiration value for the given
+ * tags and respective cache kind when they're awaited for the first time.
+ */ function createTagsExpirationsByCacheKind(tags) {
+ const expirationsByCacheKind = new Map();
+ const cacheHandlers = (0, _handlers.getCacheHandlerEntries)();
+ if (cacheHandlers) {
+ for (const [kind, cacheHandler] of cacheHandlers){
+ if ('getExpiration' in cacheHandler) {
+ expirationsByCacheKind.set(kind, (0, _lazyresult.createLazyResult)(async ()=>cacheHandler.getExpiration(...tags)));
+ }
+ }
+ }
+ return expirationsByCacheKind;
+}
+async function getImplicitTags(page, url, fallbackRouteParams) {
+ const tags = [];
+ const hasFallbackRouteParams = fallbackRouteParams && fallbackRouteParams.size > 0;
+ // Add the derived tags from the page.
+ const derivedTags = getDerivedTags(page);
+ for (let tag of derivedTags){
+ tag = `${_constants.NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;
+ tags.push(tag);
+ }
+ // Add the tags from the pathname. If the route has unknown params, we don't
+ // want to add the pathname as a tag, as it will be invalid.
+ if (url.pathname && !hasFallbackRouteParams) {
+ const tag = `${_constants.NEXT_CACHE_IMPLICIT_TAG_ID}${url.pathname}`;
+ tags.push(tag);
+ }
+ return {
+ tags,
+ expirationsByCacheKind: createTagsExpirationsByCacheKind(tags)
+ };
+}
+
+//# sourceMappingURL=implicit-tags.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b6b2b30f29fbe60eec331c83f81b712c61f18b7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
@@ -0,0 +1,319 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return FileSystemCache;
+ }
+});
+const _responsecache = require("../../response-cache");
+const _path = /*#__PURE__*/ _interop_require_default(require("../../../shared/lib/isomorphic/path"));
+const _constants = require("../../../lib/constants");
+const _tagsmanifestexternal = require("./tags-manifest.external");
+const _multifilewriter = require("../../../lib/multi-file-writer");
+const _memorycacheexternal = require("./memory-cache.external");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class FileSystemCache {
+ static #_ = this.debug = !!process.env.NEXT_PRIVATE_DEBUG_CACHE;
+ constructor(ctx){
+ this.fs = ctx.fs;
+ this.flushToDisk = ctx.flushToDisk;
+ this.serverDistDir = ctx.serverDistDir;
+ this.revalidatedTags = ctx.revalidatedTags;
+ if (ctx.maxMemoryCacheSize) {
+ if (!FileSystemCache.memoryCache) {
+ if (FileSystemCache.debug) {
+ console.log('using memory store for fetch cache');
+ }
+ FileSystemCache.memoryCache = (0, _memorycacheexternal.getMemoryCache)(ctx.maxMemoryCacheSize);
+ } else if (FileSystemCache.debug) {
+ console.log('memory store already initialized');
+ }
+ } else if (FileSystemCache.debug) {
+ console.log('not using memory store for fetch cache');
+ }
+ }
+ resetRequestCache() {}
+ async revalidateTag(...args) {
+ let [tags] = args;
+ tags = typeof tags === 'string' ? [
+ tags
+ ] : tags;
+ if (FileSystemCache.debug) {
+ console.log('revalidateTag', tags);
+ }
+ if (tags.length === 0) {
+ return;
+ }
+ for (const tag of tags){
+ if (!_tagsmanifestexternal.tagsManifest.has(tag)) {
+ _tagsmanifestexternal.tagsManifest.set(tag, Date.now());
+ }
+ }
+ }
+ async get(...args) {
+ var _FileSystemCache_memoryCache, _data_value, _data_value1, _data_value2;
+ const [key, ctx] = args;
+ const { kind } = ctx;
+ let data = (_FileSystemCache_memoryCache = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache.get(key);
+ if (FileSystemCache.debug) {
+ if (kind === _responsecache.IncrementalCacheKind.FETCH) {
+ console.log('get', key, ctx.tags, kind, !!data);
+ } else {
+ console.log('get', key, kind, !!data);
+ }
+ }
+ // let's check the disk for seed data
+ if (!data && process.env.NEXT_RUNTIME !== 'edge') {
+ if (kind === _responsecache.IncrementalCacheKind.APP_ROUTE) {
+ try {
+ const filePath = this.getFilePath(`${key}.body`, _responsecache.IncrementalCacheKind.APP_ROUTE);
+ const fileData = await this.fs.readFile(filePath);
+ const { mtime } = await this.fs.stat(filePath);
+ const meta = JSON.parse(await this.fs.readFile(filePath.replace(/\.body$/, _constants.NEXT_META_SUFFIX), 'utf8'));
+ const cacheEntry = {
+ lastModified: mtime.getTime(),
+ value: {
+ kind: _responsecache.CachedRouteKind.APP_ROUTE,
+ body: fileData,
+ headers: meta.headers,
+ status: meta.status
+ }
+ };
+ return cacheEntry;
+ } catch {
+ return null;
+ }
+ }
+ try {
+ const filePath = this.getFilePath(kind === _responsecache.IncrementalCacheKind.FETCH ? key : `${key}.html`, kind);
+ const fileData = await this.fs.readFile(filePath, 'utf8');
+ const { mtime } = await this.fs.stat(filePath);
+ if (kind === _responsecache.IncrementalCacheKind.FETCH) {
+ var _data_value3;
+ const { tags, fetchIdx, fetchUrl } = ctx;
+ if (!this.flushToDisk) return null;
+ const lastModified = mtime.getTime();
+ const parsedData = JSON.parse(fileData);
+ data = {
+ lastModified,
+ value: parsedData
+ };
+ if (((_data_value3 = data.value) == null ? void 0 : _data_value3.kind) === _responsecache.CachedRouteKind.FETCH) {
+ var _data_value4;
+ const storedTags = (_data_value4 = data.value) == null ? void 0 : _data_value4.tags;
+ // update stored tags if a new one is being added
+ // TODO: remove this when we can send the tags
+ // via header on GET same as SET
+ if (!(tags == null ? void 0 : tags.every((tag)=>storedTags == null ? void 0 : storedTags.includes(tag)))) {
+ if (FileSystemCache.debug) {
+ console.log('tags vs storedTags mismatch', tags, storedTags);
+ }
+ await this.set(key, data.value, {
+ fetchCache: true,
+ tags,
+ fetchIdx,
+ fetchUrl
+ });
+ }
+ }
+ } else if (kind === _responsecache.IncrementalCacheKind.APP_PAGE) {
+ // We try to load the metadata file, but if it fails, we don't
+ // error. We also don't load it if this is a fallback.
+ let meta;
+ try {
+ meta = JSON.parse(await this.fs.readFile(filePath.replace(/\.html$/, _constants.NEXT_META_SUFFIX), 'utf8'));
+ } catch {}
+ let maybeSegmentData;
+ if (meta == null ? void 0 : meta.segmentPaths) {
+ // Collect all the segment data for this page.
+ // TODO: To optimize file system reads, we should consider creating
+ // separate cache entries for each segment, rather than storing them
+ // all on the page's entry. Though the behavior is
+ // identical regardless.
+ const segmentData = new Map();
+ maybeSegmentData = segmentData;
+ const segmentsDir = key + _constants.RSC_SEGMENTS_DIR_SUFFIX;
+ await Promise.all(meta.segmentPaths.map(async (segmentPath)=>{
+ const segmentDataFilePath = this.getFilePath(segmentsDir + segmentPath + _constants.RSC_SEGMENT_SUFFIX, _responsecache.IncrementalCacheKind.APP_PAGE);
+ try {
+ segmentData.set(segmentPath, await this.fs.readFile(segmentDataFilePath));
+ } catch {
+ // This shouldn't happen, but if for some reason we fail to
+ // load a segment from the filesystem, treat it the same as if
+ // the segment is dynamic and does not have a prefetch.
+ }
+ }));
+ }
+ let rscData;
+ if (!ctx.isFallback) {
+ rscData = await this.fs.readFile(this.getFilePath(`${key}${ctx.isRoutePPREnabled ? _constants.RSC_PREFETCH_SUFFIX : _constants.RSC_SUFFIX}`, _responsecache.IncrementalCacheKind.APP_PAGE));
+ }
+ data = {
+ lastModified: mtime.getTime(),
+ value: {
+ kind: _responsecache.CachedRouteKind.APP_PAGE,
+ html: fileData,
+ rscData,
+ postponed: meta == null ? void 0 : meta.postponed,
+ headers: meta == null ? void 0 : meta.headers,
+ status: meta == null ? void 0 : meta.status,
+ segmentData: maybeSegmentData
+ }
+ };
+ } else if (kind === _responsecache.IncrementalCacheKind.PAGES) {
+ let meta;
+ let pageData = {};
+ if (!ctx.isFallback) {
+ pageData = JSON.parse(await this.fs.readFile(this.getFilePath(`${key}${_constants.NEXT_DATA_SUFFIX}`, _responsecache.IncrementalCacheKind.PAGES), 'utf8'));
+ }
+ data = {
+ lastModified: mtime.getTime(),
+ value: {
+ kind: _responsecache.CachedRouteKind.PAGES,
+ html: fileData,
+ pageData,
+ headers: meta == null ? void 0 : meta.headers,
+ status: meta == null ? void 0 : meta.status
+ }
+ };
+ } else {
+ throw Object.defineProperty(new Error(`Invariant: Unexpected route kind ${kind} in file system cache.`), "__NEXT_ERROR_CODE", {
+ value: "E445",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (data) {
+ var _FileSystemCache_memoryCache1;
+ (_FileSystemCache_memoryCache1 = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache1.set(key, data);
+ }
+ } catch {
+ return null;
+ }
+ }
+ if ((data == null ? void 0 : (_data_value = data.value) == null ? void 0 : _data_value.kind) === _responsecache.CachedRouteKind.APP_PAGE || (data == null ? void 0 : (_data_value1 = data.value) == null ? void 0 : _data_value1.kind) === _responsecache.CachedRouteKind.PAGES) {
+ var _data_value_headers;
+ let cacheTags;
+ const tagsHeader = (_data_value_headers = data.value.headers) == null ? void 0 : _data_value_headers[_constants.NEXT_CACHE_TAGS_HEADER];
+ if (typeof tagsHeader === 'string') {
+ cacheTags = tagsHeader.split(',');
+ }
+ if (cacheTags == null ? void 0 : cacheTags.length) {
+ // we trigger a blocking validation if an ISR page
+ // had a tag revalidated, if we want to be a background
+ // revalidation instead we return data.lastModified = -1
+ if ((0, _tagsmanifestexternal.isStale)(cacheTags, (data == null ? void 0 : data.lastModified) || Date.now())) {
+ return null;
+ }
+ }
+ } else if ((data == null ? void 0 : (_data_value2 = data.value) == null ? void 0 : _data_value2.kind) === _responsecache.CachedRouteKind.FETCH) {
+ const combinedTags = ctx.kind === _responsecache.IncrementalCacheKind.FETCH ? [
+ ...ctx.tags || [],
+ ...ctx.softTags || []
+ ] : [];
+ const wasRevalidated = combinedTags.some((tag)=>{
+ if (this.revalidatedTags.includes(tag)) {
+ return true;
+ }
+ return (0, _tagsmanifestexternal.isStale)([
+ tag
+ ], (data == null ? void 0 : data.lastModified) || Date.now());
+ });
+ // When revalidate tag is called we don't return
+ // stale data so it's updated right away
+ if (wasRevalidated) {
+ data = undefined;
+ }
+ }
+ return data ?? null;
+ }
+ async set(key, data, ctx) {
+ var _FileSystemCache_memoryCache;
+ (_FileSystemCache_memoryCache = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache.set(key, {
+ value: data,
+ lastModified: Date.now()
+ });
+ if (FileSystemCache.debug) {
+ console.log('set', key);
+ }
+ if (!this.flushToDisk || !data) return;
+ // Create a new writer that will prepare to write all the files to disk
+ // after their containing directory is created.
+ const writer = new _multifilewriter.MultiFileWriter(this.fs);
+ if (data.kind === _responsecache.CachedRouteKind.APP_ROUTE) {
+ const filePath = this.getFilePath(`${key}.body`, _responsecache.IncrementalCacheKind.APP_ROUTE);
+ writer.append(filePath, data.body);
+ const meta = {
+ headers: data.headers,
+ status: data.status,
+ postponed: undefined,
+ segmentPaths: undefined
+ };
+ writer.append(filePath.replace(/\.body$/, _constants.NEXT_META_SUFFIX), JSON.stringify(meta, null, 2));
+ } else if (data.kind === _responsecache.CachedRouteKind.PAGES || data.kind === _responsecache.CachedRouteKind.APP_PAGE) {
+ const isAppPath = data.kind === _responsecache.CachedRouteKind.APP_PAGE;
+ const htmlPath = this.getFilePath(`${key}.html`, isAppPath ? _responsecache.IncrementalCacheKind.APP_PAGE : _responsecache.IncrementalCacheKind.PAGES);
+ writer.append(htmlPath, data.html);
+ // Fallbacks don't generate a data file.
+ if (!ctx.fetchCache && !ctx.isFallback) {
+ writer.append(this.getFilePath(`${key}${isAppPath ? ctx.isRoutePPREnabled ? _constants.RSC_PREFETCH_SUFFIX : _constants.RSC_SUFFIX : _constants.NEXT_DATA_SUFFIX}`, isAppPath ? _responsecache.IncrementalCacheKind.APP_PAGE : _responsecache.IncrementalCacheKind.PAGES), isAppPath ? data.rscData : JSON.stringify(data.pageData));
+ }
+ if ((data == null ? void 0 : data.kind) === _responsecache.CachedRouteKind.APP_PAGE) {
+ let segmentPaths;
+ if (data.segmentData) {
+ segmentPaths = [];
+ const segmentsDir = htmlPath.replace(/\.html$/, _constants.RSC_SEGMENTS_DIR_SUFFIX);
+ for (const [segmentPath, buffer] of data.segmentData){
+ segmentPaths.push(segmentPath);
+ const segmentDataFilePath = segmentsDir + segmentPath + _constants.RSC_SEGMENT_SUFFIX;
+ writer.append(segmentDataFilePath, buffer);
+ }
+ }
+ const meta = {
+ headers: data.headers,
+ status: data.status,
+ postponed: data.postponed,
+ segmentPaths
+ };
+ writer.append(htmlPath.replace(/\.html$/, _constants.NEXT_META_SUFFIX), JSON.stringify(meta));
+ }
+ } else if (data.kind === _responsecache.CachedRouteKind.FETCH) {
+ const filePath = this.getFilePath(key, _responsecache.IncrementalCacheKind.FETCH);
+ writer.append(filePath, JSON.stringify({
+ ...data,
+ tags: ctx.fetchCache ? ctx.tags : []
+ }));
+ }
+ // Wait for all FS operations to complete.
+ await writer.wait();
+ }
+ getFilePath(pathname, kind) {
+ switch(kind){
+ case _responsecache.IncrementalCacheKind.FETCH:
+ // we store in .next/cache/fetch-cache so it can be persisted
+ // across deploys
+ return _path.default.join(this.serverDistDir, '..', 'cache', 'fetch-cache', pathname);
+ case _responsecache.IncrementalCacheKind.PAGES:
+ return _path.default.join(this.serverDistDir, 'pages', pathname);
+ case _responsecache.IncrementalCacheKind.IMAGE:
+ case _responsecache.IncrementalCacheKind.APP_PAGE:
+ case _responsecache.IncrementalCacheKind.APP_ROUTE:
+ return _path.default.join(this.serverDistDir, 'app', pathname);
+ default:
+ throw Object.defineProperty(new Error(`Unexpected file path kind: ${kind}`), "__NEXT_ERROR_CODE", {
+ value: "E479",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+}
+
+//# sourceMappingURL=file-system-cache.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/index.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..7570bd7edb5c966884f3f7fd84db5c7bcb128c03
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/index.js
@@ -0,0 +1,418 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ CacheHandler: null,
+ IncrementalCache: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ CacheHandler: function() {
+ return CacheHandler;
+ },
+ IncrementalCache: function() {
+ return IncrementalCache;
+ }
+});
+const _responsecache = require("../../response-cache");
+const _filesystemcache = /*#__PURE__*/ _interop_require_default(require("./file-system-cache"));
+const _normalizepagepath = require("../../../shared/lib/page-path/normalize-page-path");
+const _constants = require("../../../lib/constants");
+const _toroute = require("../to-route");
+const _sharedcachecontrolsexternal = require("./shared-cache-controls.external");
+const _workunitasyncstorageexternal = require("../../app-render/work-unit-async-storage.external");
+const _invarianterror = require("../../../shared/lib/invariant-error");
+const _serverutils = require("../../server-utils");
+const _workasyncstorageexternal = require("../../app-render/work-async-storage.external");
+const _detachedpromise = require("../../../lib/detached-promise");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class CacheHandler {
+ // eslint-disable-next-line
+ constructor(_ctx){}
+ async get(_cacheKey, _ctx) {
+ return {};
+ }
+ async set(_cacheKey, _data, _ctx) {}
+ async revalidateTag(..._args) {}
+ resetRequestCache() {}
+}
+class IncrementalCache {
+ static #_ = this.debug = !!process.env.NEXT_PRIVATE_DEBUG_CACHE;
+ constructor({ fs, dev, flushToDisk, minimalMode, serverDistDir, requestHeaders, maxMemoryCacheSize, getPrerenderManifest, fetchCacheKeyPrefix, CurCacheHandler, allowedRevalidateHeaderKeys }){
+ var _this_prerenderManifest_preview, _this_prerenderManifest;
+ this.locks = new Map();
+ this.hasCustomCacheHandler = Boolean(CurCacheHandler);
+ const cacheHandlersSymbol = Symbol.for('@next/cache-handlers');
+ const _globalThis = globalThis;
+ if (!CurCacheHandler) {
+ // if we have a global cache handler available leverage it
+ const globalCacheHandler = _globalThis[cacheHandlersSymbol];
+ if (globalCacheHandler == null ? void 0 : globalCacheHandler.FetchCache) {
+ CurCacheHandler = globalCacheHandler.FetchCache;
+ } else {
+ if (fs && serverDistDir) {
+ if (IncrementalCache.debug) {
+ console.log('using filesystem cache handler');
+ }
+ CurCacheHandler = _filesystemcache.default;
+ }
+ }
+ } else if (IncrementalCache.debug) {
+ console.log('using custom cache handler', CurCacheHandler.name);
+ }
+ if (process.env.__NEXT_TEST_MAX_ISR_CACHE) {
+ // Allow cache size to be overridden for testing purposes
+ maxMemoryCacheSize = parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE, 10);
+ }
+ this.dev = dev;
+ this.disableForTestmode = process.env.NEXT_PRIVATE_TEST_PROXY === 'true';
+ // this is a hack to avoid Webpack knowing this is equal to this.minimalMode
+ // because we replace this.minimalMode to true in production bundles.
+ const minimalModeKey = 'minimalMode';
+ this[minimalModeKey] = minimalMode;
+ this.requestHeaders = requestHeaders;
+ this.allowedRevalidateHeaderKeys = allowedRevalidateHeaderKeys;
+ this.prerenderManifest = getPrerenderManifest();
+ this.cacheControls = new _sharedcachecontrolsexternal.SharedCacheControls(this.prerenderManifest);
+ this.fetchCacheKeyPrefix = fetchCacheKeyPrefix;
+ let revalidatedTags = [];
+ if (requestHeaders[_constants.PRERENDER_REVALIDATE_HEADER] === ((_this_prerenderManifest = this.prerenderManifest) == null ? void 0 : (_this_prerenderManifest_preview = _this_prerenderManifest.preview) == null ? void 0 : _this_prerenderManifest_preview.previewModeId)) {
+ this.isOnDemandRevalidate = true;
+ }
+ if (minimalMode) {
+ var _this_prerenderManifest_preview1, _this_prerenderManifest1;
+ revalidatedTags = (0, _serverutils.getPreviouslyRevalidatedTags)(requestHeaders, (_this_prerenderManifest1 = this.prerenderManifest) == null ? void 0 : (_this_prerenderManifest_preview1 = _this_prerenderManifest1.preview) == null ? void 0 : _this_prerenderManifest_preview1.previewModeId);
+ }
+ if (CurCacheHandler) {
+ this.cacheHandler = new CurCacheHandler({
+ dev,
+ fs,
+ flushToDisk,
+ serverDistDir,
+ revalidatedTags,
+ maxMemoryCacheSize,
+ _requestHeaders: requestHeaders,
+ fetchCacheKeyPrefix
+ });
+ }
+ }
+ calculateRevalidate(pathname, fromTime, dev, isFallback) {
+ // in development we don't have a prerender-manifest
+ // and default to always revalidating to allow easier debugging
+ if (dev) return Math.floor(performance.timeOrigin + performance.now() - 1000);
+ const cacheControl = this.cacheControls.get((0, _toroute.toRoute)(pathname));
+ // if an entry isn't present in routes we fallback to a default
+ // of revalidating after 1 second unless it's a fallback request.
+ const initialRevalidateSeconds = cacheControl ? cacheControl.revalidate : isFallback ? false : 1;
+ const revalidateAfter = typeof initialRevalidateSeconds === 'number' ? initialRevalidateSeconds * 1000 + fromTime : initialRevalidateSeconds;
+ return revalidateAfter;
+ }
+ _getPathname(pathname, fetchCache) {
+ return fetchCache ? pathname : (0, _normalizepagepath.normalizePagePath)(pathname);
+ }
+ resetRequestCache() {
+ var _this_cacheHandler_resetRequestCache, _this_cacheHandler;
+ (_this_cacheHandler = this.cacheHandler) == null ? void 0 : (_this_cacheHandler_resetRequestCache = _this_cacheHandler.resetRequestCache) == null ? void 0 : _this_cacheHandler_resetRequestCache.call(_this_cacheHandler);
+ }
+ async lock(cacheKey) {
+ // Wait for any existing lock on this cache key to be released
+ // This implements a simple queue-based locking mechanism
+ while(true){
+ const lock = this.locks.get(cacheKey);
+ if (IncrementalCache.debug) {
+ console.log('lock get', cacheKey, !!lock);
+ }
+ // If no lock exists, we can proceed to acquire it
+ if (!lock) break;
+ // Wait for the existing lock to be released before trying again
+ await lock;
+ }
+ // Create a new detached promise that will represent this lock
+ // The resolve function (unlock) will be returned to the caller
+ const { resolve, promise } = new _detachedpromise.DetachedPromise();
+ if (IncrementalCache.debug) {
+ console.log('successfully locked', cacheKey);
+ }
+ // Store the lock promise in the locks map
+ this.locks.set(cacheKey, promise);
+ return ()=>{
+ // Resolve the promise to release the lock.
+ resolve();
+ // Remove the lock from the map once it's released so that future gets
+ // can acquire the lock.
+ this.locks.delete(cacheKey);
+ };
+ }
+ async revalidateTag(tags) {
+ var _this_cacheHandler;
+ return (_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.revalidateTag(tags);
+ }
+ // x-ref: https://github.com/facebook/react/blob/2655c9354d8e1c54ba888444220f63e836925caa/packages/react/src/ReactFetch.js#L23
+ async generateCacheKey(url, init = {}) {
+ // this should be bumped anytime a fix is made to cache entries
+ // that should bust the cache
+ const MAIN_KEY_PREFIX = 'v3';
+ const bodyChunks = [];
+ const encoder = new TextEncoder();
+ const decoder = new TextDecoder();
+ if (init.body) {
+ // handle Uint8Array body
+ if (init.body instanceof Uint8Array) {
+ bodyChunks.push(decoder.decode(init.body));
+ init._ogBody = init.body;
+ } else if (typeof init.body.getReader === 'function') {
+ const readableBody = init.body;
+ const chunks = [];
+ try {
+ await readableBody.pipeTo(new WritableStream({
+ write (chunk) {
+ if (typeof chunk === 'string') {
+ chunks.push(encoder.encode(chunk));
+ bodyChunks.push(chunk);
+ } else {
+ chunks.push(chunk);
+ bodyChunks.push(decoder.decode(chunk, {
+ stream: true
+ }));
+ }
+ }
+ }));
+ // Flush the decoder.
+ bodyChunks.push(decoder.decode());
+ // Create a new buffer with all the chunks.
+ const length = chunks.reduce((total, arr)=>total + arr.length, 0);
+ const arrayBuffer = new Uint8Array(length);
+ // Push each of the chunks into the new array buffer.
+ let offset = 0;
+ for (const chunk of chunks){
+ arrayBuffer.set(chunk, offset);
+ offset += chunk.length;
+ }
+ ;
+ init._ogBody = arrayBuffer;
+ } catch (err) {
+ console.error('Problem reading body', err);
+ }
+ } else if (typeof init.body.keys === 'function') {
+ const formData = init.body;
+ init._ogBody = init.body;
+ for (const key of new Set([
+ ...formData.keys()
+ ])){
+ const values = formData.getAll(key);
+ bodyChunks.push(`${key}=${(await Promise.all(values.map(async (val)=>{
+ if (typeof val === 'string') {
+ return val;
+ } else {
+ return await val.text();
+ }
+ }))).join(',')}`);
+ }
+ // handle blob body
+ } else if (typeof init.body.arrayBuffer === 'function') {
+ const blob = init.body;
+ const arrayBuffer = await blob.arrayBuffer();
+ bodyChunks.push(await blob.text());
+ init._ogBody = new Blob([
+ arrayBuffer
+ ], {
+ type: blob.type
+ });
+ } else if (typeof init.body === 'string') {
+ bodyChunks.push(init.body);
+ init._ogBody = init.body;
+ }
+ }
+ const headers = typeof (init.headers || {}).keys === 'function' ? Object.fromEntries(init.headers) : Object.assign({}, init.headers);
+ // w3c trace context headers can break request caching and deduplication
+ // so we remove them from the cache key
+ if ('traceparent' in headers) delete headers['traceparent'];
+ if ('tracestate' in headers) delete headers['tracestate'];
+ const cacheString = JSON.stringify([
+ MAIN_KEY_PREFIX,
+ this.fetchCacheKeyPrefix || '',
+ url,
+ init.method,
+ headers,
+ init.mode,
+ init.redirect,
+ init.credentials,
+ init.referrer,
+ init.referrerPolicy,
+ init.integrity,
+ init.cache,
+ bodyChunks
+ ]);
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ function bufferToHex(buffer) {
+ return Array.prototype.map.call(new Uint8Array(buffer), (b)=>b.toString(16).padStart(2, '0')).join('');
+ }
+ const buffer = encoder.encode(cacheString);
+ return bufferToHex(await crypto.subtle.digest('SHA-256', buffer));
+ } else {
+ const crypto1 = require('crypto');
+ return crypto1.createHash('sha256').update(cacheString).digest('hex');
+ }
+ }
+ async get(cacheKey, ctx) {
+ var _this_cacheHandler, _cacheData_value;
+ // Unlike other caches if we have a resume data cache, we use it even if
+ // testmode would normally disable it or if requestHeaders say 'no-cache'.
+ if (ctx.kind === _responsecache.IncrementalCacheKind.FETCH) {
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
+ const resumeDataCache = workUnitStore ? (0, _workunitasyncstorageexternal.getRenderResumeDataCache)(workUnitStore) : null;
+ if (resumeDataCache) {
+ const memoryCacheData = resumeDataCache.fetch.get(cacheKey);
+ if ((memoryCacheData == null ? void 0 : memoryCacheData.kind) === _responsecache.CachedRouteKind.FETCH) {
+ return {
+ isStale: false,
+ value: memoryCacheData
+ };
+ }
+ }
+ }
+ // we don't leverage the prerender cache in dev mode
+ // so that getStaticProps is always called for easier debugging
+ if (this.disableForTestmode || this.dev && (ctx.kind !== _responsecache.IncrementalCacheKind.FETCH || this.requestHeaders['cache-control'] === 'no-cache')) {
+ return null;
+ }
+ cacheKey = this._getPathname(cacheKey, ctx.kind === _responsecache.IncrementalCacheKind.FETCH);
+ const cacheData = await ((_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.get(cacheKey, ctx));
+ if (ctx.kind === _responsecache.IncrementalCacheKind.FETCH) {
+ var _cacheData_value1;
+ if (!cacheData) {
+ return null;
+ }
+ if (((_cacheData_value1 = cacheData.value) == null ? void 0 : _cacheData_value1.kind) !== _responsecache.CachedRouteKind.FETCH) {
+ var _cacheData_value2;
+ throw Object.defineProperty(new _invarianterror.InvariantError(`Expected cached value for cache key ${JSON.stringify(cacheKey)} to be a "FETCH" kind, got ${JSON.stringify((_cacheData_value2 = cacheData.value) == null ? void 0 : _cacheData_value2.kind)} instead.`), "__NEXT_ERROR_CODE", {
+ value: "E653",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
+ const combinedTags = [
+ ...ctx.tags || [],
+ ...ctx.softTags || []
+ ];
+ // if a tag was revalidated we don't return stale data
+ if (combinedTags.some((tag)=>{
+ var _this_revalidatedTags, _workStore_pendingRevalidatedTags;
+ return ((_this_revalidatedTags = this.revalidatedTags) == null ? void 0 : _this_revalidatedTags.includes(tag)) || (workStore == null ? void 0 : (_workStore_pendingRevalidatedTags = workStore.pendingRevalidatedTags) == null ? void 0 : _workStore_pendingRevalidatedTags.includes(tag));
+ })) {
+ return null;
+ }
+ const revalidate = ctx.revalidate || cacheData.value.revalidate;
+ const age = (performance.timeOrigin + performance.now() - (cacheData.lastModified || 0)) / 1000;
+ const isStale = age > revalidate;
+ const data = cacheData.value.data;
+ return {
+ isStale,
+ value: {
+ kind: _responsecache.CachedRouteKind.FETCH,
+ data,
+ revalidate
+ }
+ };
+ } else if ((cacheData == null ? void 0 : (_cacheData_value = cacheData.value) == null ? void 0 : _cacheData_value.kind) === _responsecache.CachedRouteKind.FETCH) {
+ throw Object.defineProperty(new _invarianterror.InvariantError(`Expected cached value for cache key ${JSON.stringify(cacheKey)} not to be a ${JSON.stringify(ctx.kind)} kind, got "FETCH" instead.`), "__NEXT_ERROR_CODE", {
+ value: "E652",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let entry = null;
+ const cacheControl = this.cacheControls.get((0, _toroute.toRoute)(cacheKey));
+ let isStale;
+ let revalidateAfter;
+ if ((cacheData == null ? void 0 : cacheData.lastModified) === -1) {
+ isStale = -1;
+ revalidateAfter = -1 * _constants.CACHE_ONE_YEAR;
+ } else {
+ revalidateAfter = this.calculateRevalidate(cacheKey, (cacheData == null ? void 0 : cacheData.lastModified) || performance.timeOrigin + performance.now(), this.dev ?? false, ctx.isFallback);
+ isStale = revalidateAfter !== false && revalidateAfter < performance.timeOrigin + performance.now() ? true : undefined;
+ }
+ if (cacheData) {
+ entry = {
+ isStale,
+ cacheControl,
+ revalidateAfter,
+ value: cacheData.value
+ };
+ }
+ if (!cacheData && this.prerenderManifest.notFoundRoutes.includes(cacheKey)) {
+ // for the first hit after starting the server the cache
+ // may not have a way to save notFound: true so if
+ // the prerender-manifest marks this as notFound then we
+ // return that entry and trigger a cache set to give it a
+ // chance to update in-memory entries
+ entry = {
+ isStale,
+ value: null,
+ cacheControl,
+ revalidateAfter
+ };
+ this.set(cacheKey, entry.value, {
+ ...ctx,
+ cacheControl
+ });
+ }
+ return entry;
+ }
+ async set(pathname, data, ctx) {
+ // Even if we otherwise disable caching for testMode or if no fetchCache is
+ // configured we still always stash results in the resume data cache if one
+ // exists. This is because this is a transient in memory cache that
+ // populates caches ahead of a dynamic render in dev mode to allow the RSC
+ // debug info to have the right environment associated to it.
+ if ((data == null ? void 0 : data.kind) === _responsecache.CachedRouteKind.FETCH) {
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
+ const prerenderResumeDataCache = workUnitStore ? (0, _workunitasyncstorageexternal.getPrerenderResumeDataCache)(workUnitStore) : null;
+ if (prerenderResumeDataCache) {
+ prerenderResumeDataCache.fetch.set(pathname, data);
+ }
+ }
+ if (this.disableForTestmode || this.dev && !ctx.fetchCache) return;
+ pathname = this._getPathname(pathname, ctx.fetchCache);
+ // FetchCache has upper limit of 2MB per-entry currently
+ const itemSize = JSON.stringify(data).length;
+ if (ctx.fetchCache && itemSize > 2 * 1024 * 1024 && // We ignore the size limit when custom cache handler is being used, as it
+ // might not have this limit
+ !this.hasCustomCacheHandler && // We also ignore the size limit when it's an implicit build-time-only
+ // caching that the user isn't even aware of.
+ !ctx.isImplicitBuildTimeCache) {
+ const warningText = `Failed to set Next.js data cache for ${ctx.fetchUrl || pathname}, items over 2MB can not be cached (${itemSize} bytes)`;
+ if (this.dev) {
+ throw Object.defineProperty(new Error(warningText), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ console.warn(warningText);
+ return;
+ }
+ try {
+ var _this_cacheHandler;
+ if (!ctx.fetchCache && ctx.cacheControl) {
+ this.cacheControls.set((0, _toroute.toRoute)(pathname), ctx.cacheControl);
+ }
+ await ((_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.set(pathname, data, ctx));
+ } catch (error) {
+ console.warn('Failed to update prerender cache for', pathname, error);
+ }
+ }
+}
+
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..b2b445c6bc639bb8794e8346fe5e2f59e440b42e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getMemoryCache", {
+ enumerable: true,
+ get: function() {
+ return getMemoryCache;
+ }
+});
+const _types = require("../../response-cache/types");
+const _lrucache = require("../lru-cache");
+let memoryCache;
+function getMemoryCache(maxMemoryCacheSize) {
+ if (!memoryCache) {
+ memoryCache = new _lrucache.LRUCache(maxMemoryCacheSize, function length({ value }) {
+ var _JSON_stringify;
+ if (!value) {
+ return 25;
+ } else if (value.kind === _types.CachedRouteKind.REDIRECT) {
+ return JSON.stringify(value.props).length;
+ } else if (value.kind === _types.CachedRouteKind.IMAGE) {
+ throw Object.defineProperty(new Error('invariant image should not be incremental-cache'), "__NEXT_ERROR_CODE", {
+ value: "E501",
+ enumerable: false,
+ configurable: true
+ });
+ } else if (value.kind === _types.CachedRouteKind.FETCH) {
+ return JSON.stringify(value.data || '').length;
+ } else if (value.kind === _types.CachedRouteKind.APP_ROUTE) {
+ return value.body.length;
+ }
+ // rough estimate of size of cache value
+ return value.html.length + (((_JSON_stringify = JSON.stringify(value.kind === _types.CachedRouteKind.APP_PAGE ? value.rscData : value.pageData)) == null ? void 0 : _JSON_stringify.length) || 0);
+ });
+ }
+ return memoryCache;
+}
+
+//# sourceMappingURL=memory-cache.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..97a657aede6bac7a1a2152e87a7152e336b2b716
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js
@@ -0,0 +1,73 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "SharedCacheControls", {
+ enumerable: true,
+ get: function() {
+ return SharedCacheControls;
+ }
+});
+class SharedCacheControls {
+ static #_ = /**
+ * The in-memory cache of cache lives for routes. This cache is populated when
+ * the cache is updated with new cache lives.
+ */ this.cacheControls = new Map();
+ constructor(/**
+ * The prerender manifest that contains the initial cache controls for
+ * routes.
+ */ prerenderManifest){
+ this.prerenderManifest = prerenderManifest;
+ }
+ /**
+ * Try to get the cache control value for a route. This will first try to get
+ * the value from the in-memory cache. If the value is not present in the
+ * in-memory cache, it will be sourced from the prerender manifest.
+ *
+ * @param route the route to get the cache control for
+ * @returns the cache control for the route, or undefined if the values
+ * are not present in the in-memory cache or the prerender manifest
+ */ get(route) {
+ // This is a copy on write cache that is updated when the cache is updated.
+ // If the cache is never written to, then the values will be sourced from
+ // the prerender manifest.
+ let cacheControl = SharedCacheControls.cacheControls.get(route);
+ if (cacheControl) return cacheControl;
+ let prerenderData = this.prerenderManifest.routes[route];
+ if (prerenderData) {
+ const { initialRevalidateSeconds, initialExpireSeconds } = prerenderData;
+ if (typeof initialRevalidateSeconds !== 'undefined') {
+ return {
+ revalidate: initialRevalidateSeconds,
+ expire: initialExpireSeconds
+ };
+ }
+ }
+ const dynamicPrerenderData = this.prerenderManifest.dynamicRoutes[route];
+ if (dynamicPrerenderData) {
+ const { fallbackRevalidate, fallbackExpire } = dynamicPrerenderData;
+ if (typeof fallbackRevalidate !== 'undefined') {
+ return {
+ revalidate: fallbackRevalidate,
+ expire: fallbackExpire
+ };
+ }
+ }
+ return undefined;
+ }
+ /**
+ * Set the cache control for a route.
+ *
+ * @param route the route to set the cache control for
+ * @param cacheControl the cache control for the route
+ */ set(route, cacheControl) {
+ SharedCacheControls.cacheControls.set(route, cacheControl);
+ }
+ /**
+ * Clear the in-memory cache of cache controls for routes.
+ */ clear() {
+ SharedCacheControls.cacheControls.clear();
+ }
+}
+
+//# sourceMappingURL=shared-cache-controls.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..dae353f0f5158211a7a5a933be9814db2c3ca175
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js
@@ -0,0 +1,34 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isStale: null,
+ tagsManifest: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isStale: function() {
+ return isStale;
+ },
+ tagsManifest: function() {
+ return tagsManifest;
+ }
+});
+const tagsManifest = new Map();
+const isStale = (tags, timestamp)=>{
+ for (const tag of tags){
+ const revalidatedAt = tagsManifest.get(tag);
+ if (typeof revalidatedAt === 'number' && revalidatedAt >= timestamp) {
+ return true;
+ }
+ }
+ return false;
+};
+
+//# sourceMappingURL=tags-manifest.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/is-ipv6.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/is-ipv6.js
new file mode 100644
index 0000000000000000000000000000000000000000..80912f9dc626705d00fc9503b8c82d52bfb4c379
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/is-ipv6.js
@@ -0,0 +1,41 @@
+// Regex from `node/lib/internal/net.js`: https://github.com/nodejs/node/blob/9fc57006c27564ed7f75eee090eca86786508f51/lib/internal/net.js#L19-L29
+// License included below:
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "isIPv6", {
+ enumerable: true,
+ get: function() {
+ return isIPv6;
+ }
+});
+const v4Seg = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
+const v4Str = `(${v4Seg}[.]){3}${v4Seg}`;
+const v6Seg = '(?:[0-9a-fA-F]{1,4})';
+const IPv6Reg = new RegExp('^(' + `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` + `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` + `(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|` + `(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|` + `(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|` + `(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|` + `(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|` + `(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` + ')(%[0-9a-zA-Z-.:]{1,})?$');
+function isIPv6(s) {
+ return IPv6Reg.test(s);
+}
+
+//# sourceMappingURL=is-ipv6.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lazy-result.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lazy-result.js
new file mode 100644
index 0000000000000000000000000000000000000000..d87f37a2912fb6948b11e86bc475ebbdf11ae254
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lazy-result.js
@@ -0,0 +1,46 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createLazyResult: null,
+ isResolvedLazyResult: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createLazyResult: function() {
+ return createLazyResult;
+ },
+ isResolvedLazyResult: function() {
+ return isResolvedLazyResult;
+ }
+});
+function createLazyResult(fn) {
+ let pendingResult;
+ const result = {
+ then (onfulfilled, onrejected) {
+ if (!pendingResult) {
+ pendingResult = fn();
+ }
+ pendingResult.then((value)=>{
+ result.value = value;
+ }).catch(()=>{
+ // The externally awaited result will be rejected via `onrejected`. We
+ // don't need to handle it here. But we do want to avoid an unhandled
+ // rejection.
+ });
+ return pendingResult.then(onfulfilled, onrejected);
+ }
+ };
+ return result;
+}
+function isResolvedLazyResult(result) {
+ return result.hasOwnProperty('value');
+}
+
+//# sourceMappingURL=lazy-result.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lru-cache.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lru-cache.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f3684f6ffc8aff47ac903abe4380524a176c475
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/lru-cache.js
@@ -0,0 +1,100 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "LRUCache", {
+ enumerable: true,
+ get: function() {
+ return LRUCache;
+ }
+});
+class LRUCache {
+ constructor(maxSize, calculateSize){
+ this.cache = new Map();
+ this.sizes = new Map();
+ this.totalSize = 0;
+ this.maxSize = maxSize;
+ this.calculateSize = calculateSize || (()=>1);
+ }
+ set(key, value) {
+ if (!key || !value) return;
+ const size = this.calculateSize(value);
+ if (size > this.maxSize) {
+ console.warn('Single item size exceeds maxSize');
+ return;
+ }
+ if (this.cache.has(key)) {
+ this.totalSize -= this.sizes.get(key) || 0;
+ }
+ this.cache.set(key, value);
+ this.sizes.set(key, size);
+ this.totalSize += size;
+ this.touch(key);
+ }
+ has(key) {
+ if (!key) return false;
+ this.touch(key);
+ return Boolean(this.cache.get(key));
+ }
+ get(key) {
+ if (!key) return;
+ const value = this.cache.get(key);
+ if (value === undefined) {
+ return undefined;
+ }
+ this.touch(key);
+ return value;
+ }
+ touch(key) {
+ const value = this.cache.get(key);
+ if (value !== undefined) {
+ this.cache.delete(key);
+ this.cache.set(key, value);
+ this.evictIfNecessary();
+ }
+ }
+ evictIfNecessary() {
+ while(this.totalSize > this.maxSize && this.cache.size > 0){
+ this.evictLeastRecentlyUsed();
+ }
+ }
+ evictLeastRecentlyUsed() {
+ const lruKey = this.cache.keys().next().value;
+ if (lruKey !== undefined) {
+ const lruSize = this.sizes.get(lruKey) || 0;
+ this.totalSize -= lruSize;
+ this.cache.delete(lruKey);
+ this.sizes.delete(lruKey);
+ }
+ }
+ reset() {
+ this.cache.clear();
+ this.sizes.clear();
+ this.totalSize = 0;
+ }
+ keys() {
+ return [
+ ...this.cache.keys()
+ ];
+ }
+ remove(key) {
+ if (this.cache.has(key)) {
+ this.totalSize -= this.sizes.get(key) || 0;
+ this.cache.delete(key);
+ this.sizes.delete(key);
+ }
+ }
+ clear() {
+ this.cache.clear();
+ this.sizes.clear();
+ this.totalSize = 0;
+ }
+ get size() {
+ return this.cache.size;
+ }
+ get currentSize() {
+ return this.totalSize;
+ }
+}
+
+//# sourceMappingURL=lru-cache.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/match-next-data-pathname.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/match-next-data-pathname.js
new file mode 100644
index 0000000000000000000000000000000000000000..f3fc2d16a22236e0084e1a61f3b26c334d8fac32
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/match-next-data-pathname.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "matchNextDataPathname", {
+ enumerable: true,
+ get: function() {
+ return matchNextDataPathname;
+ }
+});
+const _pathmatch = require("../../shared/lib/router/utils/path-match");
+const matcher = (0, _pathmatch.getPathMatch)('/_next/data/:path*');
+function matchNextDataPathname(pathname) {
+ if (typeof pathname !== 'string') return false;
+ return matcher(pathname);
+}
+
+//# sourceMappingURL=match-next-data-pathname.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/mock-request.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/mock-request.js
new file mode 100644
index 0000000000000000000000000000000000000000..4bee92ae88be6fd46232f07e03ca0ce2f10918c4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/mock-request.js
@@ -0,0 +1,416 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ MockedRequest: null,
+ MockedResponse: null,
+ createRequestResponseMocks: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ MockedRequest: function() {
+ return MockedRequest;
+ },
+ MockedResponse: function() {
+ return MockedResponse;
+ },
+ createRequestResponseMocks: function() {
+ return createRequestResponseMocks;
+ }
+});
+const _stream = /*#__PURE__*/ _interop_require_default(require("stream"));
+const _utils = require("../web/utils");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class MockedRequest extends _stream.default.Readable {
+ constructor({ url, headers, method, socket = null, readable }){
+ super(), // This is hardcoded for now, but can be updated to be configurable if needed.
+ this.httpVersion = '1.0', this.httpVersionMajor = 1, this.httpVersionMinor = 0, // If we don't actually have a socket, we'll just use a mock one that
+ // always returns false for the `encrypted` property and undefined for the
+ // `remoteAddress` property.
+ this.socket = new Proxy({}, {
+ get: (_target, prop)=>{
+ if (prop !== 'encrypted' && prop !== 'remoteAddress') {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (prop === 'remoteAddress') return undefined;
+ // For this mock request, always ensure we just respond with the encrypted
+ // set to false to ensure there's no odd leakages.
+ return false;
+ }
+ });
+ this.url = url;
+ this.headers = headers;
+ this.method = method;
+ if (readable) {
+ this.bodyReadable = readable;
+ this.bodyReadable.on('end', ()=>this.emit('end'));
+ this.bodyReadable.on('close', ()=>this.emit('close'));
+ }
+ if (socket) {
+ this.socket = socket;
+ }
+ }
+ get headersDistinct() {
+ const headers = {};
+ for (const [key, value] of Object.entries(this.headers)){
+ if (!value) continue;
+ headers[key] = Array.isArray(value) ? value : [
+ value
+ ];
+ }
+ return headers;
+ }
+ _read(size) {
+ if (this.bodyReadable) {
+ return this.bodyReadable._read(size);
+ } else {
+ this.emit('end');
+ this.emit('close');
+ }
+ }
+ /**
+ * The `connection` property is just an alias for the `socket` property.
+ *
+ * @deprecated — since v13.0.0 - Use socket instead.
+ */ get connection() {
+ return this.socket;
+ }
+ // The following methods are not implemented as they are not used in the
+ // Next.js codebase.
+ get aborted() {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get complete() {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get trailers() {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get trailersDistinct() {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get rawTrailers() {
+ throw Object.defineProperty(new Error('Method not implemented'), "__NEXT_ERROR_CODE", {
+ value: "E52",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get rawHeaders() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ setTimeout() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+class MockedResponse extends _stream.default.Writable {
+ constructor(res = {}){
+ super(), this.statusMessage = '', this.finished = false, this.headersSent = false, /**
+ * A list of buffers that have been written to the response.
+ *
+ * @internal - used internally by Next.js
+ */ this.buffers = [];
+ this.statusCode = res.statusCode ?? 200;
+ this.socket = res.socket ?? null;
+ this.headers = res.headers ? (0, _utils.fromNodeOutgoingHttpHeaders)(res.headers) : new Headers();
+ this.headPromise = new Promise((resolve)=>{
+ this.headPromiseResolve = resolve;
+ });
+ // Attach listeners for the `finish`, `end`, and `error` events to the
+ // `MockedResponse` instance.
+ this.hasStreamed = new Promise((resolve, reject)=>{
+ this.on('finish', ()=>resolve(true));
+ this.on('end', ()=>resolve(true));
+ this.on('error', (err)=>reject(err));
+ }).then((val)=>{
+ this.headPromiseResolve == null ? void 0 : this.headPromiseResolve.call(this);
+ return val;
+ });
+ if (res.resWriter) {
+ this.resWriter = res.resWriter;
+ }
+ }
+ appendHeader(name, value) {
+ const values = Array.isArray(value) ? value : [
+ value
+ ];
+ for (const v of values){
+ this.headers.append(name, v);
+ }
+ return this;
+ }
+ /**
+ * Returns true if the response has been sent, false otherwise.
+ *
+ * @internal - used internally by Next.js
+ */ get isSent() {
+ return this.finished || this.headersSent;
+ }
+ /**
+ * The `connection` property is just an alias for the `socket` property.
+ *
+ * @deprecated — since v13.0.0 - Use socket instead.
+ */ get connection() {
+ return this.socket;
+ }
+ write(chunk) {
+ if (this.resWriter) {
+ return this.resWriter(chunk);
+ }
+ this.buffers.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
+ return true;
+ }
+ end() {
+ this.finished = true;
+ return super.end(...arguments);
+ }
+ /**
+ * This method is a no-op because the `MockedResponse` instance is not
+ * actually connected to a socket. This method is not specified on the
+ * interface type for `ServerResponse` but is called by Node.js.
+ *
+ * @see https://github.com/nodejs/node/pull/7949
+ */ _implicitHeader() {}
+ _write(chunk, _encoding, callback) {
+ this.write(chunk);
+ // According to Node.js documentation, the callback MUST be invoked to
+ // signal that the write completed successfully. If this callback is not
+ // invoked, the 'finish' event will not be emitted.
+ //
+ // https://nodejs.org/docs/latest-v16.x/api/stream.html#writable_writechunk-encoding-callback
+ callback();
+ }
+ writeHead(statusCode, statusMessage, headers) {
+ if (!headers && typeof statusMessage !== 'string') {
+ headers = statusMessage;
+ } else if (typeof statusMessage === 'string' && statusMessage.length > 0) {
+ this.statusMessage = statusMessage;
+ }
+ if (headers) {
+ // When headers have been set with response.setHeader(), they will be
+ // merged with any headers passed to response.writeHead(), with the
+ // headers passed to response.writeHead() given precedence.
+ //
+ // https://nodejs.org/api/http.html#responsewriteheadstatuscode-statusmessage-headers
+ //
+ // For this reason, we need to only call `set` to ensure that this will
+ // overwrite any existing headers.
+ if (Array.isArray(headers)) {
+ // headers may be an Array where the keys and values are in the same list.
+ // It is not a list of tuples. So, the even-numbered offsets are key
+ // values, and the odd-numbered offsets are the associated values. The
+ // array is in the same format as request.rawHeaders.
+ for(let i = 0; i < headers.length; i += 2){
+ // The header key is always a string according to the spec.
+ this.setHeader(headers[i], headers[i + 1]);
+ }
+ } else {
+ for (const [key, value] of Object.entries(headers)){
+ // Skip undefined values
+ if (typeof value === 'undefined') continue;
+ this.setHeader(key, value);
+ }
+ }
+ }
+ this.statusCode = statusCode;
+ this.headersSent = true;
+ this.headPromiseResolve == null ? void 0 : this.headPromiseResolve.call(this);
+ return this;
+ }
+ hasHeader(name) {
+ return this.headers.has(name);
+ }
+ getHeader(name) {
+ return this.headers.get(name) ?? undefined;
+ }
+ getHeaders() {
+ return (0, _utils.toNodeOutgoingHttpHeaders)(this.headers);
+ }
+ getHeaderNames() {
+ return Array.from(this.headers.keys());
+ }
+ setHeader(name, value) {
+ if (Array.isArray(value)) {
+ // Because `set` here should override any existing values, we need to
+ // delete the existing values before setting the new ones via `append`.
+ this.headers.delete(name);
+ for (const v of value){
+ this.headers.append(name, v);
+ }
+ } else if (typeof value === 'number') {
+ this.headers.set(name, value.toString());
+ } else {
+ this.headers.set(name, value);
+ }
+ return this;
+ }
+ removeHeader(name) {
+ this.headers.delete(name);
+ }
+ flushHeaders() {
+ // This is a no-op because we don't actually have a socket to flush the
+ // headers to.
+ }
+ // The following methods are not implemented as they are not used in the
+ // Next.js codebase.
+ get strictContentLength() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ writeEarlyHints() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get req() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ assignSocket() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ detachSocket() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ writeContinue() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ writeProcessing() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get upgrading() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get chunkedEncoding() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get shouldKeepAlive() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get useChunkedEncodingByDefault() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ get sendDate() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ setTimeout() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ addTrailers() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ setHeaders() {
+ throw Object.defineProperty(new Error('Method not implemented.'), "__NEXT_ERROR_CODE", {
+ value: "E41",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+function createRequestResponseMocks({ url, headers = {}, method = 'GET', bodyReadable, resWriter, socket = null }) {
+ return {
+ req: new MockedRequest({
+ url,
+ headers,
+ method,
+ socket,
+ readable: bodyReadable
+ }),
+ res: new MockedResponse({
+ socket,
+ resWriter
+ })
+ };
+}
+
+//# sourceMappingURL=mock-request.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/module-loader/node-module-loader.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/module-loader/node-module-loader.js
new file mode 100644
index 0000000000000000000000000000000000000000..7d5fe4bc727df91bab19d27d6901600deb20bda8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/module-loader/node-module-loader.js
@@ -0,0 +1,25 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "NodeModuleLoader", {
+ enumerable: true,
+ get: function() {
+ return NodeModuleLoader;
+ }
+});
+class NodeModuleLoader {
+ async load(id) {
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ // Need to `await` to cover the case that route is marked ESM modules by ESM escalation.
+ return await (process.env.NEXT_MINIMAL ? __non_webpack_require__(id) : require(id));
+ }
+ throw Object.defineProperty(new Error('NodeModuleLoader is not supported in edge runtime.'), "__NEXT_ERROR_CODE", {
+ value: "E25",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+
+//# sourceMappingURL=node-module-loader.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/node-fs-methods.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/node-fs-methods.js
new file mode 100644
index 0000000000000000000000000000000000000000..b19f4162e72136c398526574aa5c8b18e2c617b7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/node-fs-methods.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "nodeFs", {
+ enumerable: true,
+ get: function() {
+ return nodeFs;
+ }
+});
+const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const nodeFs = {
+ existsSync: _fs.default.existsSync,
+ readFile: _fs.default.promises.readFile,
+ readFileSync: _fs.default.readFileSync,
+ writeFile: (f, d)=>_fs.default.promises.writeFile(f, d),
+ mkdir: (dir)=>_fs.default.promises.mkdir(dir, {
+ recursive: true
+ }),
+ stat: (f)=>_fs.default.promises.stat(f)
+};
+
+//# sourceMappingURL=node-fs-methods.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/parse-stack.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/parse-stack.js
new file mode 100644
index 0000000000000000000000000000000000000000..6027574bf3d5efeff7a53ae00a56003979a83252
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/parse-stack.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "parseStack", {
+ enumerable: true,
+ get: function() {
+ return parseStack;
+ }
+});
+const _stacktraceparser = require("next/dist/compiled/stacktrace-parser");
+const regexNextStatic = /\/_next(\/static\/.+)/;
+function parseStack(stack, distDir = process.env.__NEXT_DIST_DIR) {
+ if (!stack) return [];
+ // throw away eval information that stacktrace-parser doesn't support
+ // adapted from https://github.com/stacktracejs/error-stack-parser/blob/9f33c224b5d7b607755eb277f9d51fcdb7287e24/error-stack-parser.js#L59C33-L59C62
+ stack = stack.split('\n').map((line)=>{
+ if (line.includes('(eval ')) {
+ line = line.replace(/eval code/g, 'eval').replace(/\(eval at [^()]* \(/, '(file://').replace(/\),.*$/g, ')');
+ }
+ return line;
+ }).join('\n');
+ const frames = (0, _stacktraceparser.parse)(stack);
+ return frames.map((frame)=>{
+ try {
+ const url = new URL(frame.file);
+ const res = regexNextStatic.exec(url.pathname);
+ if (res) {
+ var _distDir_replace;
+ const effectiveDistDir = distDir == null ? void 0 : (_distDir_replace = distDir.replace(/\\/g, '/')) == null ? void 0 : _distDir_replace.replace(/\/$/, '');
+ if (effectiveDistDir) {
+ frame.file = 'file://' + effectiveDistDir.concat(res.pop()) + url.search;
+ }
+ }
+ } catch {}
+ return frame;
+ });
+}
+
+//# sourceMappingURL=parse-stack.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-fetch.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-fetch.js
new file mode 100644
index 0000000000000000000000000000000000000000..f7a7dc19f1ab24e71088731f49864d435cc607ab
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-fetch.js
@@ -0,0 +1,770 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ NEXT_PATCH_SYMBOL: null,
+ createPatchedFetcher: null,
+ patchFetch: null,
+ validateRevalidate: null,
+ validateTags: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ NEXT_PATCH_SYMBOL: function() {
+ return NEXT_PATCH_SYMBOL;
+ },
+ createPatchedFetcher: function() {
+ return createPatchedFetcher;
+ },
+ patchFetch: function() {
+ return patchFetch;
+ },
+ validateRevalidate: function() {
+ return validateRevalidate;
+ },
+ validateTags: function() {
+ return validateTags;
+ }
+});
+const _constants = require("./trace/constants");
+const _tracer = require("./trace/tracer");
+const _constants1 = require("../../lib/constants");
+const _dynamicrendering = require("../app-render/dynamic-rendering");
+const _dynamicrenderingutils = require("../dynamic-rendering-utils");
+const _dedupefetch = require("./dedupe-fetch");
+const _responsecache = require("../response-cache");
+const _scheduler = require("../../lib/scheduler");
+const _cloneresponse = require("./clone-response");
+const isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';
+const NEXT_PATCH_SYMBOL = Symbol.for('next-patch');
+function isFetchPatched() {
+ return globalThis[NEXT_PATCH_SYMBOL] === true;
+}
+function validateRevalidate(revalidateVal, route) {
+ try {
+ let normalizedRevalidate = undefined;
+ if (revalidateVal === false) {
+ normalizedRevalidate = _constants1.INFINITE_CACHE;
+ } else if (typeof revalidateVal === 'number' && !isNaN(revalidateVal) && revalidateVal > -1) {
+ normalizedRevalidate = revalidateVal;
+ } else if (typeof revalidateVal !== 'undefined') {
+ throw Object.defineProperty(new Error(`Invalid revalidate value "${revalidateVal}" on "${route}", must be a non-negative number or false`), "__NEXT_ERROR_CODE", {
+ value: "E179",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return normalizedRevalidate;
+ } catch (err) {
+ // handle client component error from attempting to check revalidate value
+ if (err instanceof Error && err.message.includes('Invalid revalidate')) {
+ throw err;
+ }
+ return undefined;
+ }
+}
+function validateTags(tags, description) {
+ const validTags = [];
+ const invalidTags = [];
+ for(let i = 0; i < tags.length; i++){
+ const tag = tags[i];
+ if (typeof tag !== 'string') {
+ invalidTags.push({
+ tag,
+ reason: 'invalid type, must be a string'
+ });
+ } else if (tag.length > _constants1.NEXT_CACHE_TAG_MAX_LENGTH) {
+ invalidTags.push({
+ tag,
+ reason: `exceeded max length of ${_constants1.NEXT_CACHE_TAG_MAX_LENGTH}`
+ });
+ } else {
+ validTags.push(tag);
+ }
+ if (validTags.length > _constants1.NEXT_CACHE_TAG_MAX_ITEMS) {
+ console.warn(`Warning: exceeded max tag count for ${description}, dropped tags:`, tags.slice(i).join(', '));
+ break;
+ }
+ }
+ if (invalidTags.length > 0) {
+ console.warn(`Warning: invalid tags passed to ${description}: `);
+ for (const { tag, reason } of invalidTags){
+ console.log(`tag: "${tag}" ${reason}`);
+ }
+ }
+ return validTags;
+}
+function trackFetchMetric(workStore, ctx) {
+ var _workStore_requestEndedState;
+ // If the static generation store is not available, we can't track the fetch
+ if (!workStore) return;
+ if ((_workStore_requestEndedState = workStore.requestEndedState) == null ? void 0 : _workStore_requestEndedState.ended) return;
+ const isDebugBuild = (!!process.env.NEXT_DEBUG_BUILD || process.env.NEXT_SSG_FETCH_METRICS === '1') && workStore.isStaticGeneration;
+ const isDevelopment = process.env.NODE_ENV === 'development';
+ if (// The only time we want to track fetch metrics outside of development is when
+ // we are performing a static generation & we are in debug mode.
+ !isDebugBuild && !isDevelopment) {
+ return;
+ }
+ workStore.fetchMetrics ??= [];
+ workStore.fetchMetrics.push({
+ ...ctx,
+ end: performance.timeOrigin + performance.now(),
+ idx: workStore.nextFetchId || 0
+ });
+}
+function createPatchedFetcher(originFetch, { workAsyncStorage, workUnitAsyncStorage }) {
+ // Create the patched fetch function.
+ const patched = async function fetch(input, init) {
+ var _init_method, _init_next;
+ let url;
+ try {
+ url = new URL(input instanceof Request ? input.url : input);
+ url.username = '';
+ url.password = '';
+ } catch {
+ // Error caused by malformed URL should be handled by native fetch
+ url = undefined;
+ }
+ const fetchUrl = (url == null ? void 0 : url.href) ?? '';
+ const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || 'GET';
+ // Do create a new span trace for internal fetches in the
+ // non-verbose mode.
+ const isInternal = (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next.internal) === true;
+ const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === '1';
+ // We don't track fetch metrics for internal fetches
+ // so it's not critical that we have a start time, as it won't be recorded.
+ // This is to workaround a flaky issue where performance APIs might
+ // not be available and will require follow-up investigation.
+ const fetchStart = isInternal ? undefined : performance.timeOrigin + performance.now();
+ const workStore = workAsyncStorage.getStore();
+ const workUnitStore = workUnitAsyncStorage.getStore();
+ // During static generation we track cache reads so we can reason about when they fill
+ let cacheSignal = workUnitStore && workUnitStore.type === 'prerender' ? workUnitStore.cacheSignal : null;
+ if (cacheSignal) {
+ cacheSignal.beginRead();
+ }
+ const result = (0, _tracer.getTracer)().trace(isInternal ? _constants.NextNodeServerSpan.internalFetch : _constants.AppRenderSpan.fetch, {
+ hideSpan,
+ kind: _tracer.SpanKind.CLIENT,
+ spanName: [
+ 'fetch',
+ method,
+ fetchUrl
+ ].filter(Boolean).join(' '),
+ attributes: {
+ 'http.url': fetchUrl,
+ 'http.method': method,
+ 'net.peer.name': url == null ? void 0 : url.hostname,
+ 'net.peer.port': (url == null ? void 0 : url.port) || undefined
+ }
+ }, async ()=>{
+ var _getRequestMeta;
+ // If this is an internal fetch, we should not do any special treatment.
+ if (isInternal) {
+ return originFetch(input, init);
+ }
+ // If the workStore is not available, we can't do any
+ // special treatment of fetch, therefore fallback to the original
+ // fetch implementation.
+ if (!workStore) {
+ return originFetch(input, init);
+ }
+ // We should also fallback to the original fetch implementation if we
+ // are in draft mode, it does not constitute a static generation.
+ if (workStore.isDraftMode) {
+ return originFetch(input, init);
+ }
+ const isRequestInput = input && typeof input === 'object' && typeof input.method === 'string';
+ const getRequestMeta = (field)=>{
+ // If request input is present but init is not, retrieve from input first.
+ const value = init == null ? void 0 : init[field];
+ return value || (isRequestInput ? input[field] : null);
+ };
+ let finalRevalidate = undefined;
+ const getNextField = (field)=>{
+ var _init_next, _init_next1, _input_next;
+ return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== 'undefined' ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;
+ };
+ // RequestInit doesn't keep extra fields e.g. next so it's
+ // only available if init is used separate
+ const originalFetchRevalidate = getNextField('revalidate');
+ let currentFetchRevalidate = originalFetchRevalidate;
+ const tags = validateTags(getNextField('tags') || [], `fetch ${input.toString()}`);
+ const revalidateStore = workUnitStore && (workUnitStore.type === 'cache' || workUnitStore.type === 'prerender' || // TODO: stop accumulating tags in client prerender
+ workUnitStore.type === 'prerender-client' || workUnitStore.type === 'prerender-ppr' || workUnitStore.type === 'prerender-legacy') ? workUnitStore : undefined;
+ if (revalidateStore) {
+ if (Array.isArray(tags)) {
+ // Collect tags onto parent caches or parent prerenders.
+ const collectedTags = revalidateStore.tags ?? (revalidateStore.tags = []);
+ for (const tag of tags){
+ if (!collectedTags.includes(tag)) {
+ collectedTags.push(tag);
+ }
+ }
+ }
+ }
+ const implicitTags = workUnitStore == null ? void 0 : workUnitStore.implicitTags;
+ // Inside unstable-cache we treat it the same as force-no-store on the
+ // page.
+ const pageFetchCacheMode = workUnitStore && workUnitStore.type === 'unstable-cache' ? 'force-no-store' : workStore.fetchCache;
+ const isUsingNoStore = !!workStore.isUnstableNoStore;
+ let currentFetchCacheConfig = getRequestMeta('cache');
+ let cacheReason = '';
+ let cacheWarning;
+ if (typeof currentFetchCacheConfig === 'string' && typeof currentFetchRevalidate !== 'undefined') {
+ // If the revalidate value conflicts with the cache value, we should warn the user and unset the conflicting values.
+ const isConflictingRevalidate = // revalidate: 0 and cache: force-cache
+ currentFetchCacheConfig === 'force-cache' && currentFetchRevalidate === 0 || // revalidate: >0 or revalidate: false and cache: no-store
+ currentFetchCacheConfig === 'no-store' && (currentFetchRevalidate > 0 || currentFetchRevalidate === false);
+ if (isConflictingRevalidate) {
+ cacheWarning = `Specified "cache: ${currentFetchCacheConfig}" and "revalidate: ${currentFetchRevalidate}", only one should be specified.`;
+ currentFetchCacheConfig = undefined;
+ currentFetchRevalidate = undefined;
+ }
+ }
+ const hasExplicitFetchCacheOptOut = // fetch config itself signals not to cache
+ currentFetchCacheConfig === 'no-cache' || currentFetchCacheConfig === 'no-store' || // the fetch isn't explicitly caching and the segment level cache config signals not to cache
+ // note: `pageFetchCacheMode` is also set by being in an unstable_cache context.
+ pageFetchCacheMode === 'force-no-store' || pageFetchCacheMode === 'only-no-store';
+ // If no explicit fetch cache mode is set, but dynamic = `force-dynamic` is set,
+ // we shouldn't consider caching the fetch. This is because the `dynamic` cache
+ // is considered a "top-level" cache mode, whereas something like `fetchCache` is more
+ // fine-grained. Top-level modes are responsible for setting reasonable defaults for the
+ // other configurations.
+ const noFetchConfigAndForceDynamic = !pageFetchCacheMode && !currentFetchCacheConfig && !currentFetchRevalidate && workStore.forceDynamic;
+ if (// force-cache was specified without a revalidate value. We set the revalidate value to false
+ // which will signal the cache to not revalidate
+ currentFetchCacheConfig === 'force-cache' && typeof currentFetchRevalidate === 'undefined') {
+ currentFetchRevalidate = false;
+ } else if (hasExplicitFetchCacheOptOut || noFetchConfigAndForceDynamic) {
+ currentFetchRevalidate = 0;
+ }
+ if (currentFetchCacheConfig === 'no-cache' || currentFetchCacheConfig === 'no-store') {
+ cacheReason = `cache: ${currentFetchCacheConfig}`;
+ }
+ finalRevalidate = validateRevalidate(currentFetchRevalidate, workStore.route);
+ const _headers = getRequestMeta('headers');
+ const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === 'function' ? _headers : new Headers(_headers || {});
+ const hasUnCacheableHeader = initHeaders.get('authorization') || initHeaders.get('cookie');
+ const isUnCacheableMethod = ![
+ 'get',
+ 'head'
+ ].includes(((_getRequestMeta = getRequestMeta('method')) == null ? void 0 : _getRequestMeta.toLowerCase()) || 'get');
+ /**
+ * We automatically disable fetch caching under the following conditions:
+ * - Fetch cache configs are not set. Specifically:
+ * - A page fetch cache mode is not set (export const fetchCache=...)
+ * - A fetch cache mode is not set in the fetch call (fetch(url, { cache: ... }))
+ * or the fetch cache mode is set to 'default'
+ * - A fetch revalidate value is not set in the fetch call (fetch(url, { revalidate: ... }))
+ * - OR the fetch comes after a configuration that triggered dynamic rendering (e.g., reading cookies())
+ * and the fetch was considered uncacheable (e.g., POST method or has authorization headers)
+ */ const hasNoExplicitCacheConfig = // eslint-disable-next-line eqeqeq
+ pageFetchCacheMode == undefined && // eslint-disable-next-line eqeqeq
+ (currentFetchCacheConfig == undefined || // when considering whether to opt into the default "no-cache" fetch semantics,
+ // a "default" cache config should be treated the same as no cache config
+ currentFetchCacheConfig === 'default') && // eslint-disable-next-line eqeqeq
+ currentFetchRevalidate == undefined;
+ let autoNoCache = Boolean((hasUnCacheableHeader || isUnCacheableMethod) && (revalidateStore == null ? void 0 : revalidateStore.revalidate) === 0);
+ let isImplicitBuildTimeCache = false;
+ if (!autoNoCache && hasNoExplicitCacheConfig) {
+ // We don't enable automatic no-cache behavior during build-time
+ // prerendering so that we can still leverage the fetch cache between
+ // export workers.
+ if (workStore.isBuildTimePrerendering) {
+ isImplicitBuildTimeCache = true;
+ } else {
+ autoNoCache = true;
+ }
+ }
+ if (hasNoExplicitCacheConfig && workUnitStore !== undefined && (workUnitStore.type === 'prerender' || // While we don't want to do caching in the client scope
+ // we know the fetch will be dynamic for dynamicIO so we
+ // may as well avoid the call here
+ workUnitStore.type === 'prerender-client')) {
+ // If we have no cache config, and we're in Dynamic I/O prerendering, it'll be a dynamic call.
+ // We don't have to issue that dynamic call.
+ if (cacheSignal) {
+ cacheSignal.endRead();
+ cacheSignal = null;
+ }
+ return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, 'fetch()');
+ }
+ switch(pageFetchCacheMode){
+ case 'force-no-store':
+ {
+ cacheReason = 'fetchCache = force-no-store';
+ break;
+ }
+ case 'only-no-store':
+ {
+ if (currentFetchCacheConfig === 'force-cache' || typeof finalRevalidate !== 'undefined' && finalRevalidate > 0) {
+ throw Object.defineProperty(new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`), "__NEXT_ERROR_CODE", {
+ value: "E448",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ cacheReason = 'fetchCache = only-no-store';
+ break;
+ }
+ case 'only-cache':
+ {
+ if (currentFetchCacheConfig === 'no-store') {
+ throw Object.defineProperty(new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`), "__NEXT_ERROR_CODE", {
+ value: "E521",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ break;
+ }
+ case 'force-cache':
+ {
+ if (typeof currentFetchRevalidate === 'undefined' || currentFetchRevalidate === 0) {
+ cacheReason = 'fetchCache = force-cache';
+ finalRevalidate = _constants1.INFINITE_CACHE;
+ }
+ break;
+ }
+ default:
+ }
+ if (typeof finalRevalidate === 'undefined') {
+ if (pageFetchCacheMode === 'default-cache' && !isUsingNoStore) {
+ finalRevalidate = _constants1.INFINITE_CACHE;
+ cacheReason = 'fetchCache = default-cache';
+ } else if (pageFetchCacheMode === 'default-no-store') {
+ finalRevalidate = 0;
+ cacheReason = 'fetchCache = default-no-store';
+ } else if (isUsingNoStore) {
+ finalRevalidate = 0;
+ cacheReason = 'noStore call';
+ } else if (autoNoCache) {
+ finalRevalidate = 0;
+ cacheReason = 'auto no cache';
+ } else {
+ // TODO: should we consider this case an invariant?
+ cacheReason = 'auto cache';
+ finalRevalidate = revalidateStore ? revalidateStore.revalidate : _constants1.INFINITE_CACHE;
+ }
+ } else if (!cacheReason) {
+ cacheReason = `revalidate: ${finalRevalidate}`;
+ }
+ if (// when force static is configured we don't bail from
+ // `revalidate: 0` values
+ !(workStore.forceStatic && finalRevalidate === 0) && // we don't consider autoNoCache to switch to dynamic for ISR
+ !autoNoCache && // If the revalidate value isn't currently set or the value is less
+ // than the current revalidate value, we should update the revalidate
+ // value.
+ revalidateStore && finalRevalidate < revalidateStore.revalidate) {
+ // If we were setting the revalidate value to 0, we should try to
+ // postpone instead first.
+ if (finalRevalidate === 0) {
+ if (workUnitStore) {
+ switch(workUnitStore.type){
+ case 'prerender':
+ case 'prerender-client':
+ if (cacheSignal) {
+ cacheSignal.endRead();
+ cacheSignal = null;
+ }
+ return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, 'fetch()');
+ default:
+ }
+ }
+ (0, _dynamicrendering.markCurrentScopeAsDynamic)(workStore, workUnitStore, `revalidate: 0 fetch ${input} ${workStore.route}`);
+ }
+ // We only want to set the revalidate store's revalidate time if it
+ // was explicitly set for the fetch call, i.e.
+ // originalFetchRevalidate.
+ if (revalidateStore && originalFetchRevalidate === finalRevalidate) {
+ revalidateStore.revalidate = finalRevalidate;
+ }
+ }
+ const isCacheableRevalidate = typeof finalRevalidate === 'number' && finalRevalidate > 0;
+ let cacheKey;
+ const { incrementalCache } = workStore;
+ const useCacheOrRequestStore = (workUnitStore == null ? void 0 : workUnitStore.type) === 'request' || (workUnitStore == null ? void 0 : workUnitStore.type) === 'cache' ? workUnitStore : undefined;
+ if (incrementalCache && (isCacheableRevalidate || (useCacheOrRequestStore == null ? void 0 : useCacheOrRequestStore.serverComponentsHmrCache))) {
+ try {
+ cacheKey = await incrementalCache.generateCacheKey(fetchUrl, isRequestInput ? input : init);
+ } catch (err) {
+ console.error(`Failed to generate cache key for`, input);
+ }
+ }
+ const fetchIdx = workStore.nextFetchId ?? 1;
+ workStore.nextFetchId = fetchIdx + 1;
+ let handleUnlock = ()=>{};
+ const doOriginalFetch = async (isStale, cacheReasonOverride)=>{
+ const requestInputFields = [
+ 'cache',
+ 'credentials',
+ 'headers',
+ 'integrity',
+ 'keepalive',
+ 'method',
+ 'mode',
+ 'redirect',
+ 'referrer',
+ 'referrerPolicy',
+ 'window',
+ 'duplex',
+ // don't pass through signal when revalidating
+ ...isStale ? [] : [
+ 'signal'
+ ]
+ ];
+ if (isRequestInput) {
+ const reqInput = input;
+ const reqOptions = {
+ body: reqInput._ogBody || reqInput.body
+ };
+ for (const field of requestInputFields){
+ // @ts-expect-error custom fields
+ reqOptions[field] = reqInput[field];
+ }
+ input = new Request(reqInput.url, reqOptions);
+ } else if (init) {
+ const { _ogBody, body, signal, ...otherInput } = init;
+ init = {
+ ...otherInput,
+ body: _ogBody || body,
+ signal: isStale ? undefined : signal
+ };
+ }
+ // add metadata to init without editing the original
+ const clonedInit = {
+ ...init,
+ next: {
+ ...init == null ? void 0 : init.next,
+ fetchType: 'origin',
+ fetchIdx
+ }
+ };
+ return originFetch(input, clonedInit).then(async (res)=>{
+ if (!isStale && fetchStart) {
+ trackFetchMetric(workStore, {
+ start: fetchStart,
+ url: fetchUrl,
+ cacheReason: cacheReasonOverride || cacheReason,
+ cacheStatus: finalRevalidate === 0 || cacheReasonOverride ? 'skip' : 'miss',
+ cacheWarning,
+ status: res.status,
+ method: clonedInit.method || 'GET'
+ });
+ }
+ if (res.status === 200 && incrementalCache && cacheKey && (isCacheableRevalidate || (useCacheOrRequestStore == null ? void 0 : useCacheOrRequestStore.serverComponentsHmrCache))) {
+ const normalizedRevalidate = finalRevalidate >= _constants1.INFINITE_CACHE ? _constants1.CACHE_ONE_YEAR : finalRevalidate;
+ if (workUnitStore && (workUnitStore.type === 'prerender' || workUnitStore.type === 'prerender-client')) {
+ // We are prerendering at build time or revalidate time with dynamicIO so we need to
+ // buffer the response so we can guarantee it can be read in a microtask
+ const bodyBuffer = await res.arrayBuffer();
+ const fetchedData = {
+ headers: Object.fromEntries(res.headers.entries()),
+ body: Buffer.from(bodyBuffer).toString('base64'),
+ status: res.status,
+ url: res.url
+ };
+ // We can skip checking the serverComponentsHmrCache because we aren't in
+ // dev mode.
+ await incrementalCache.set(cacheKey, {
+ kind: _responsecache.CachedRouteKind.FETCH,
+ data: fetchedData,
+ revalidate: normalizedRevalidate
+ }, {
+ fetchCache: true,
+ fetchUrl,
+ fetchIdx,
+ tags,
+ isImplicitBuildTimeCache
+ });
+ await handleUnlock();
+ // We return a new Response to the caller.
+ return new Response(bodyBuffer, {
+ headers: res.headers,
+ status: res.status,
+ statusText: res.statusText
+ });
+ } else {
+ // We're cloning the response using this utility because there
+ // exists a bug in the undici library around response cloning.
+ // See the following pull request for more details:
+ // https://github.com/vercel/next.js/pull/73274
+ const [cloned1, cloned2] = (0, _cloneresponse.cloneResponse)(res);
+ // We are dynamically rendering including dev mode. We want to return
+ // the response to the caller as soon as possible because it might stream
+ // over a very long time.
+ const cacheSetPromise = cloned1.arrayBuffer().then(async (arrayBuffer)=>{
+ var _useCacheOrRequestStore_serverComponentsHmrCache;
+ const bodyBuffer = Buffer.from(arrayBuffer);
+ const fetchedData = {
+ headers: Object.fromEntries(cloned1.headers.entries()),
+ body: bodyBuffer.toString('base64'),
+ status: cloned1.status,
+ url: cloned1.url
+ };
+ useCacheOrRequestStore == null ? void 0 : (_useCacheOrRequestStore_serverComponentsHmrCache = useCacheOrRequestStore.serverComponentsHmrCache) == null ? void 0 : _useCacheOrRequestStore_serverComponentsHmrCache.set(cacheKey, fetchedData);
+ if (isCacheableRevalidate) {
+ await incrementalCache.set(cacheKey, {
+ kind: _responsecache.CachedRouteKind.FETCH,
+ data: fetchedData,
+ revalidate: normalizedRevalidate
+ }, {
+ fetchCache: true,
+ fetchUrl,
+ fetchIdx,
+ tags,
+ isImplicitBuildTimeCache
+ });
+ }
+ }).catch((error)=>console.warn(`Failed to set fetch cache`, input, error)).finally(handleUnlock);
+ const pendingRevalidateKey = `cache-set-${cacheKey}`;
+ workStore.pendingRevalidates ??= {};
+ if (pendingRevalidateKey in workStore.pendingRevalidates) {
+ // there is already a pending revalidate entry that
+ // we need to await to avoid race conditions
+ await workStore.pendingRevalidates[pendingRevalidateKey];
+ }
+ workStore.pendingRevalidates[pendingRevalidateKey] = cacheSetPromise.finally(()=>{
+ var _workStore_pendingRevalidates;
+ // If the pending revalidate is not present in the store, then
+ // we have nothing to delete.
+ if (!((_workStore_pendingRevalidates = workStore.pendingRevalidates) == null ? void 0 : _workStore_pendingRevalidates[pendingRevalidateKey])) {
+ return;
+ }
+ delete workStore.pendingRevalidates[pendingRevalidateKey];
+ });
+ return cloned2;
+ }
+ }
+ // we had response that we determined shouldn't be cached so we return it
+ // and don't cache it. This also needs to unlock the cache lock we acquired.
+ await handleUnlock();
+ return res;
+ }).catch((error)=>{
+ handleUnlock();
+ throw error;
+ });
+ };
+ let cacheReasonOverride;
+ let isForegroundRevalidate = false;
+ let isHmrRefreshCache = false;
+ if (cacheKey && incrementalCache) {
+ let cachedFetchData;
+ if ((useCacheOrRequestStore == null ? void 0 : useCacheOrRequestStore.isHmrRefresh) && useCacheOrRequestStore.serverComponentsHmrCache) {
+ cachedFetchData = useCacheOrRequestStore.serverComponentsHmrCache.get(cacheKey);
+ isHmrRefreshCache = true;
+ }
+ if (isCacheableRevalidate && !cachedFetchData) {
+ handleUnlock = await incrementalCache.lock(cacheKey);
+ const entry = workStore.isOnDemandRevalidate ? null : await incrementalCache.get(cacheKey, {
+ kind: _responsecache.IncrementalCacheKind.FETCH,
+ revalidate: finalRevalidate,
+ fetchUrl,
+ fetchIdx,
+ tags,
+ softTags: implicitTags == null ? void 0 : implicitTags.tags
+ });
+ if (hasNoExplicitCacheConfig) {
+ // We sometimes use the cache to dedupe fetches that do not specify a cache configuration
+ // In these cases we want to make sure we still exclude them from prerenders if dynamicIO is on
+ // so we introduce an artificial Task boundary here.
+ if (workUnitStore && (workUnitStore.type === 'prerender' || workUnitStore.type === 'prerender-client')) {
+ await (0, _scheduler.waitAtLeastOneReactRenderTask)();
+ }
+ }
+ if (entry) {
+ await handleUnlock();
+ } else {
+ // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers
+ cacheReasonOverride = 'cache-control: no-cache (hard refresh)';
+ }
+ if ((entry == null ? void 0 : entry.value) && entry.value.kind === _responsecache.CachedRouteKind.FETCH) {
+ // when stale and is revalidating we wait for fresh data
+ // so the revalidated entry has the updated data
+ if (workStore.isRevalidate && entry.isStale) {
+ isForegroundRevalidate = true;
+ } else {
+ if (entry.isStale) {
+ workStore.pendingRevalidates ??= {};
+ if (!workStore.pendingRevalidates[cacheKey]) {
+ const pendingRevalidate = doOriginalFetch(true).then(async (response)=>({
+ body: await response.arrayBuffer(),
+ headers: response.headers,
+ status: response.status,
+ statusText: response.statusText
+ })).finally(()=>{
+ workStore.pendingRevalidates ??= {};
+ delete workStore.pendingRevalidates[cacheKey || ''];
+ });
+ // Attach the empty catch here so we don't get a "unhandled
+ // promise rejection" warning.
+ pendingRevalidate.catch(console.error);
+ workStore.pendingRevalidates[cacheKey] = pendingRevalidate;
+ }
+ }
+ cachedFetchData = entry.value.data;
+ }
+ }
+ }
+ if (cachedFetchData) {
+ if (fetchStart) {
+ trackFetchMetric(workStore, {
+ start: fetchStart,
+ url: fetchUrl,
+ cacheReason,
+ cacheStatus: isHmrRefreshCache ? 'hmr' : 'hit',
+ cacheWarning,
+ status: cachedFetchData.status || 200,
+ method: (init == null ? void 0 : init.method) || 'GET'
+ });
+ }
+ const response = new Response(Buffer.from(cachedFetchData.body, 'base64'), {
+ headers: cachedFetchData.headers,
+ status: cachedFetchData.status
+ });
+ Object.defineProperty(response, 'url', {
+ value: cachedFetchData.url
+ });
+ return response;
+ }
+ }
+ if (workStore.isStaticGeneration && init && typeof init === 'object') {
+ const { cache } = init;
+ // Delete `cache` property as Cloudflare Workers will throw an error
+ if (isEdgeRuntime) delete init.cache;
+ if (cache === 'no-store') {
+ // If enabled, we should bail out of static generation.
+ if (workUnitStore) {
+ switch(workUnitStore.type){
+ case 'prerender':
+ case 'prerender-client':
+ if (cacheSignal) {
+ cacheSignal.endRead();
+ cacheSignal = null;
+ }
+ return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, 'fetch()');
+ default:
+ }
+ }
+ (0, _dynamicrendering.markCurrentScopeAsDynamic)(workStore, workUnitStore, `no-store fetch ${input} ${workStore.route}`);
+ }
+ const hasNextConfig = 'next' in init;
+ const { next = {} } = init;
+ if (typeof next.revalidate === 'number' && revalidateStore && next.revalidate < revalidateStore.revalidate) {
+ if (next.revalidate === 0) {
+ // If enabled, we should bail out of static generation.
+ if (workUnitStore) {
+ switch(workUnitStore.type){
+ case 'prerender':
+ case 'prerender-client':
+ return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, 'fetch()');
+ default:
+ }
+ }
+ (0, _dynamicrendering.markCurrentScopeAsDynamic)(workStore, workUnitStore, `revalidate: 0 fetch ${input} ${workStore.route}`);
+ }
+ if (!workStore.forceStatic || next.revalidate !== 0) {
+ revalidateStore.revalidate = next.revalidate;
+ }
+ }
+ if (hasNextConfig) delete init.next;
+ }
+ // if we are revalidating the whole page via time or on-demand and
+ // the fetch cache entry is stale we should still de-dupe the
+ // origin hit if it's a cache-able entry
+ if (cacheKey && isForegroundRevalidate) {
+ const pendingRevalidateKey = cacheKey;
+ workStore.pendingRevalidates ??= {};
+ let pendingRevalidate = workStore.pendingRevalidates[pendingRevalidateKey];
+ if (pendingRevalidate) {
+ const revalidatedResult = await pendingRevalidate;
+ return new Response(revalidatedResult.body, {
+ headers: revalidatedResult.headers,
+ status: revalidatedResult.status,
+ statusText: revalidatedResult.statusText
+ });
+ }
+ // We used to just resolve the Response and clone it however for
+ // static generation with dynamicIO we need the response to be able to
+ // be resolved in a microtask and cloning the response will never have
+ // a body that can resolve in a microtask in node (as observed through
+ // experimentation) So instead we await the body and then when it is
+ // available we construct manually cloned Response objects with the
+ // body as an ArrayBuffer. This will be resolvable in a microtask
+ // making it compatible with dynamicIO.
+ const pendingResponse = doOriginalFetch(true, cacheReasonOverride)// We're cloning the response using this utility because there
+ // exists a bug in the undici library around response cloning.
+ // See the following pull request for more details:
+ // https://github.com/vercel/next.js/pull/73274
+ .then(_cloneresponse.cloneResponse);
+ pendingRevalidate = pendingResponse.then(async (responses)=>{
+ const response = responses[0];
+ return {
+ body: await response.arrayBuffer(),
+ headers: response.headers,
+ status: response.status,
+ statusText: response.statusText
+ };
+ }).finally(()=>{
+ var _workStore_pendingRevalidates;
+ // If the pending revalidate is not present in the store, then
+ // we have nothing to delete.
+ if (!((_workStore_pendingRevalidates = workStore.pendingRevalidates) == null ? void 0 : _workStore_pendingRevalidates[pendingRevalidateKey])) {
+ return;
+ }
+ delete workStore.pendingRevalidates[pendingRevalidateKey];
+ });
+ // Attach the empty catch here so we don't get a "unhandled promise
+ // rejection" warning
+ pendingRevalidate.catch(()=>{});
+ workStore.pendingRevalidates[pendingRevalidateKey] = pendingRevalidate;
+ return pendingResponse.then((responses)=>responses[1]);
+ } else {
+ return doOriginalFetch(false, cacheReasonOverride);
+ }
+ });
+ if (cacheSignal) {
+ try {
+ return await result;
+ } finally{
+ if (cacheSignal) {
+ cacheSignal.endRead();
+ }
+ }
+ }
+ return result;
+ };
+ // Attach the necessary properties to the patched fetch function.
+ // We don't use this to determine if the fetch function has been patched,
+ // but for external consumers to determine if the fetch function has been
+ // patched.
+ patched.__nextPatched = true;
+ patched.__nextGetStaticStore = ()=>workAsyncStorage;
+ patched._nextOriginalFetch = originFetch;
+ globalThis[NEXT_PATCH_SYMBOL] = true;
+ // Assign the function name also as a name property, so that it's preserved
+ // even when mangling is enabled.
+ Object.defineProperty(patched, 'name', {
+ value: 'fetch',
+ writable: false
+ });
+ return patched;
+}
+function patchFetch(options) {
+ // If we've already patched fetch, we should not patch it again.
+ if (isFetchPatched()) return;
+ // Grab the original fetch function. We'll attach this so we can use it in
+ // the patched fetch function.
+ const original = (0, _dedupefetch.createDedupeFetch)(globalThis.fetch);
+ // Set the global fetch to the patched fetch.
+ globalThis.fetch = createPatchedFetcher(original, options);
+}
+
+//# sourceMappingURL=patch-fetch.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-set-header.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-set-header.js
new file mode 100644
index 0000000000000000000000000000000000000000..ea3b38a5a7c49386a552eb646c66a00910a7add9
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/patch-set-header.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "patchSetHeaderWithCookieSupport", {
+ enumerable: true,
+ get: function() {
+ return patchSetHeaderWithCookieSupport;
+ }
+});
+const _requestmeta = require("../request-meta");
+function patchSetHeaderWithCookieSupport(req, res) {
+ const setHeader = res.setHeader.bind(res);
+ res.setHeader = (name, value)=>{
+ // When renders /_error after page is failed, it could attempt to set
+ // headers after headers.
+ if ('headersSent' in res && res.headersSent) {
+ return res;
+ }
+ if (name.toLowerCase() === 'set-cookie') {
+ const middlewareValue = (0, _requestmeta.getRequestMeta)(req, 'middlewareCookie');
+ if (!middlewareValue || !Array.isArray(value) || !value.every((item, idx)=>item === middlewareValue[idx])) {
+ value = [
+ // TODO: (wyattjoh) find out why this is called multiple times resulting in duplicate cookies being added
+ ...new Set([
+ ...middlewareValue || [],
+ ...typeof value === 'string' ? [
+ value
+ ] : Array.isArray(value) ? value : []
+ ])
+ ];
+ }
+ }
+ return setHeader(name, value);
+ };
+}
+
+//# sourceMappingURL=patch-set-header.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/render-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/render-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..f27ea34a3d37d4bf872b4584722f63364f1a9036
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/render-server.js
@@ -0,0 +1,125 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ clearAllModuleContexts: null,
+ clearModuleContext: null,
+ getServerField: null,
+ initialize: null,
+ propagateServerField: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ clearAllModuleContexts: function() {
+ return clearAllModuleContexts;
+ },
+ clearModuleContext: function() {
+ return clearModuleContext;
+ },
+ getServerField: function() {
+ return getServerField;
+ },
+ initialize: function() {
+ return initialize;
+ },
+ propagateServerField: function() {
+ return propagateServerField;
+ }
+});
+const _next = /*#__PURE__*/ _interop_require_default(require("../next"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+let initializations = {};
+let sandboxContext;
+if (process.env.NODE_ENV !== 'production') {
+ sandboxContext = require('../web/sandbox/context');
+}
+function clearAllModuleContexts() {
+ return sandboxContext == null ? void 0 : sandboxContext.clearAllModuleContexts();
+}
+function clearModuleContext(target) {
+ return sandboxContext == null ? void 0 : sandboxContext.clearModuleContext(target);
+}
+async function getServerField(dir, field) {
+ const initialization = await initializations[dir];
+ if (!initialization) {
+ throw Object.defineProperty(new Error('Invariant cant propagate server field, no app initialized'), "__NEXT_ERROR_CODE", {
+ value: "E116",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { server } = initialization;
+ let wrappedServer = server['server']// NextServer.server is private
+ ;
+ return wrappedServer[field];
+}
+async function propagateServerField(dir, field, value) {
+ const initialization = await initializations[dir];
+ if (!initialization) {
+ throw Object.defineProperty(new Error('Invariant cant propagate server field, no app initialized'), "__NEXT_ERROR_CODE", {
+ value: "E116",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { server } = initialization;
+ let wrappedServer = server['server'];
+ const _field = field;
+ if (wrappedServer) {
+ if (typeof wrappedServer[_field] === 'function') {
+ // @ts-expect-error
+ await wrappedServer[_field].apply(wrappedServer, Array.isArray(value) ? value : []);
+ } else {
+ // @ts-expect-error
+ wrappedServer[_field] = value;
+ }
+ }
+}
+async function initializeImpl(opts) {
+ const type = process.env.__NEXT_PRIVATE_RENDER_WORKER;
+ if (type) {
+ process.title = 'next-render-worker-' + type;
+ }
+ let requestHandler;
+ let upgradeHandler;
+ const server = (0, _next.default)({
+ ...opts,
+ hostname: opts.hostname || 'localhost',
+ customServer: false,
+ httpServer: opts.server,
+ port: opts.port
+ })// should return a NextServer when `customServer: false`
+ ;
+ requestHandler = server.getRequestHandler();
+ upgradeHandler = server.getUpgradeHandler();
+ await server.prepare(opts.serverFields);
+ return {
+ requestHandler,
+ upgradeHandler,
+ server,
+ closeUpgraded () {
+ var _opts_bundlerService;
+ (_opts_bundlerService = opts.bundlerService) == null ? void 0 : _opts_bundlerService.close();
+ }
+ };
+}
+async function initialize(opts) {
+ // if we already setup the server return as we only need to do
+ // this on first worker boot
+ if (initializations[opts.dir]) {
+ return initializations[opts.dir];
+ }
+ return initializations[opts.dir] = initializeImpl(opts);
+}
+
+//# sourceMappingURL=render-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..cb69dd648b054ae31c5081ddb653c3dcf4dccf22
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-server.js
@@ -0,0 +1,627 @@
+// this must come first as it includes require hooks
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "initialize", {
+ enumerable: true,
+ get: function() {
+ return initialize;
+ }
+});
+require("../node-environment");
+require("../require-hook");
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _config = /*#__PURE__*/ _interop_require_default(require("../config"));
+const _servestatic = require("../serve-static");
+const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _utils = require("../../shared/lib/utils");
+const _findpagesdir = require("../../lib/find-pages-dir");
+const _filesystem = require("./router-utils/filesystem");
+const _proxyrequest = require("./router-utils/proxy-request");
+const _pipereadable = require("../pipe-readable");
+const _resolveroutes = require("./router-utils/resolve-routes");
+const _requestmeta = require("../request-meta");
+const _pathhasprefix = require("../../shared/lib/router/utils/path-has-prefix");
+const _removepathprefix = require("../../shared/lib/router/utils/remove-path-prefix");
+const _compression = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/compression"));
+const _nextrequest = require("../web/spec-extension/adapters/next-request");
+const _ispostpone = require("./router-utils/is-postpone");
+const _parseurl = require("../../shared/lib/router/utils/parse-url");
+const _constants = require("../../shared/lib/constants");
+const _redirectstatuscode = require("../../client/components/redirect-status-code");
+const _devbundlerservice = require("./dev-bundler-service");
+const _trace = require("../../trace");
+const _ensureleadingslash = require("../../shared/lib/page-path/ensure-leading-slash");
+const _getnextpathnameinfo = require("../../shared/lib/router/utils/get-next-pathname-info");
+const _gethostname = require("../../shared/lib/get-hostname");
+const _detectdomainlocale = require("../../shared/lib/i18n/detect-domain-locale");
+const _mockrequest = require("./mock-request");
+const _hotreloadertypes = require("../dev/hot-reloader-types");
+const _normalizedassetprefix = require("../../shared/lib/normalized-asset-prefix");
+const _patchfetch = require("./patch-fetch");
+const _utils1 = require("./server-ipc/utils");
+const _blockcrosssite = require("./router-utils/block-cross-site");
+const _shared = require("../../trace/shared");
+const _nofallbackerrorexternal = require("../../shared/lib/no-fallback-error.external");
+const _routerservercontext = require("./router-utils/router-server-context");
+const _chromedevtoolsworkspace = require("./chrome-devtools-workspace");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const debug = (0, _debug.default)('next:router-server:main');
+const isNextFont = (pathname)=>pathname && /\/media\/[^/]+\.(woff|woff2|eot|ttf|otf)$/.test(pathname);
+const requestHandlers = {};
+async function initialize(opts) {
+ if (!process.env.NODE_ENV) {
+ // @ts-ignore not readonly
+ process.env.NODE_ENV = opts.dev ? 'development' : 'production';
+ }
+ const config = await (0, _config.default)(opts.dev ? _constants.PHASE_DEVELOPMENT_SERVER : _constants.PHASE_PRODUCTION_SERVER, opts.dir, {
+ silent: false
+ });
+ let compress;
+ if ((config == null ? void 0 : config.compress) !== false) {
+ compress = (0, _compression.default)();
+ }
+ const fsChecker = await (0, _filesystem.setupFsCheck)({
+ dev: opts.dev,
+ dir: opts.dir,
+ config,
+ minimalMode: opts.minimalMode
+ });
+ const renderServer = {};
+ let developmentBundler;
+ let devBundlerService;
+ let originalFetch = globalThis.fetch;
+ if (opts.dev) {
+ const { Telemetry } = require('../../telemetry/storage');
+ const telemetry = new Telemetry({
+ distDir: _path.default.join(opts.dir, config.distDir)
+ });
+ _shared.traceGlobals.set('telemetry', telemetry);
+ const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(opts.dir);
+ const { setupDevBundler } = require('./router-utils/setup-dev-bundler');
+ const resetFetch = ()=>{
+ globalThis.fetch = originalFetch;
+ globalThis[_patchfetch.NEXT_PATCH_SYMBOL] = false;
+ };
+ const setupDevBundlerSpan = opts.startServerSpan ? opts.startServerSpan.traceChild('setup-dev-bundler') : (0, _trace.trace)('setup-dev-bundler');
+ developmentBundler = await setupDevBundlerSpan.traceAsyncFn(()=>setupDevBundler({
+ // Passed here but the initialization of this object happens below, doing the initialization before the setupDev call breaks.
+ renderServer,
+ appDir,
+ pagesDir,
+ telemetry,
+ fsChecker,
+ dir: opts.dir,
+ nextConfig: config,
+ isCustomServer: opts.customServer,
+ turbo: !!process.env.TURBOPACK,
+ port: opts.port,
+ onDevServerCleanup: opts.onDevServerCleanup,
+ resetFetch
+ }));
+ devBundlerService = new _devbundlerservice.DevBundlerService(developmentBundler, // The request handler is assigned below, this allows us to create a lazy
+ // reference to it.
+ (req, res)=>{
+ return requestHandlers[opts.dir](req, res);
+ });
+ }
+ renderServer.instance = require('./render-server');
+ const requestHandlerImpl = async (req, res)=>{
+ // internal headers should not be honored by the request handler
+ if (!process.env.NEXT_PRIVATE_TEST_HEADERS) {
+ (0, _utils1.filterInternalHeaders)(req.headers);
+ }
+ if (!opts.minimalMode && config.i18n && config.i18n.localeDetection !== false) {
+ var _this;
+ const urlParts = (req.url || '').split('?', 1);
+ let urlNoQuery = urlParts[0] || '';
+ if (config.basePath) {
+ urlNoQuery = (0, _removepathprefix.removePathPrefix)(urlNoQuery, config.basePath);
+ }
+ const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(urlNoQuery, {
+ nextConfig: config
+ });
+ const domainLocale = (0, _detectdomainlocale.detectDomainLocale)(config.i18n.domains, (0, _gethostname.getHostname)({
+ hostname: urlNoQuery
+ }, req.headers));
+ const defaultLocale = (domainLocale == null ? void 0 : domainLocale.defaultLocale) || config.i18n.defaultLocale;
+ const { getLocaleRedirect } = require('../../shared/lib/i18n/get-locale-redirect');
+ const parsedUrl = (0, _parseurl.parseUrl)((_this = req.url || '') == null ? void 0 : _this.replace(/^\/+/, '/'));
+ const redirect = getLocaleRedirect({
+ defaultLocale,
+ domainLocale,
+ headers: req.headers,
+ nextConfig: config,
+ pathLocale: pathnameInfo.locale,
+ urlParsed: {
+ ...parsedUrl,
+ pathname: pathnameInfo.locale ? `/${pathnameInfo.locale}${urlNoQuery}` : urlNoQuery
+ }
+ });
+ if (redirect) {
+ res.setHeader('Location', redirect);
+ res.statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;
+ res.end(redirect);
+ return;
+ }
+ }
+ if (compress) {
+ // @ts-expect-error not express req/res
+ compress(req, res, ()=>{});
+ }
+ req.on('error', (_err)=>{
+ // TODO: log socket errors?
+ });
+ res.on('error', (_err)=>{
+ // TODO: log socket errors?
+ });
+ const invokedOutputs = new Set();
+ async function invokeRender(parsedUrl, invokePath, handleIndex, additionalRequestMeta) {
+ var _fsChecker_getMiddlewareMatchers;
+ // invokeRender expects /api routes to not be locale prefixed
+ // so normalize here before continuing
+ if (config.i18n && (0, _removepathprefix.removePathPrefix)(invokePath, config.basePath).startsWith(`/${(0, _requestmeta.getRequestMeta)(req, 'locale')}/api`)) {
+ invokePath = fsChecker.handleLocale((0, _removepathprefix.removePathPrefix)(invokePath, config.basePath)).pathname;
+ }
+ if (req.headers['x-nextjs-data'] && ((_fsChecker_getMiddlewareMatchers = fsChecker.getMiddlewareMatchers()) == null ? void 0 : _fsChecker_getMiddlewareMatchers.length) && (0, _removepathprefix.removePathPrefix)(invokePath, config.basePath) === '/404') {
+ res.setHeader('x-nextjs-matched-path', parsedUrl.pathname || '');
+ res.statusCode = 404;
+ res.setHeader('content-type', 'application/json');
+ res.end('{}');
+ return null;
+ }
+ if (!handlers) {
+ throw Object.defineProperty(new Error('Failed to initialize render server'), "__NEXT_ERROR_CODE", {
+ value: "E90",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ (0, _requestmeta.addRequestMeta)(req, 'invokePath', invokePath);
+ (0, _requestmeta.addRequestMeta)(req, 'invokeQuery', parsedUrl.query);
+ (0, _requestmeta.addRequestMeta)(req, 'middlewareInvoke', false);
+ for(const key in additionalRequestMeta || {}){
+ (0, _requestmeta.addRequestMeta)(req, key, additionalRequestMeta[key]);
+ }
+ debug('invokeRender', req.url, req.headers);
+ try {
+ var _renderServer_instance;
+ const initResult = await (renderServer == null ? void 0 : (_renderServer_instance = renderServer.instance) == null ? void 0 : _renderServer_instance.initialize(renderServerOpts));
+ try {
+ await (initResult == null ? void 0 : initResult.requestHandler(req, res));
+ } catch (err) {
+ if (err instanceof _nofallbackerrorexternal.NoFallbackError) {
+ // eslint-disable-next-line
+ await handleRequest(handleIndex + 1);
+ return;
+ }
+ throw err;
+ }
+ return;
+ } catch (e) {
+ // If the client aborts before we can receive a response object (when
+ // the headers are flushed), then we can early exit without further
+ // processing.
+ if ((0, _pipereadable.isAbortError)(e)) {
+ return;
+ }
+ throw e;
+ }
+ }
+ const handleRequest = async (handleIndex)=>{
+ if (handleIndex > 5) {
+ throw Object.defineProperty(new Error(`Attempted to handle request too many times ${req.url}`), "__NEXT_ERROR_CODE", {
+ value: "E283",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // handle hot-reloader first
+ if (developmentBundler) {
+ if ((0, _blockcrosssite.blockCrossSite)(req, res, config.allowedDevOrigins, opts.hostname)) {
+ return;
+ }
+ const origUrl = req.url || '/';
+ // both the basePath and assetPrefix need to be stripped from the URL
+ // so that the development bundler can find the correct file
+ if (config.basePath && (0, _pathhasprefix.pathHasPrefix)(origUrl, config.basePath)) {
+ req.url = (0, _removepathprefix.removePathPrefix)(origUrl, config.basePath);
+ } else if (config.assetPrefix && (0, _pathhasprefix.pathHasPrefix)(origUrl, config.assetPrefix)) {
+ req.url = (0, _removepathprefix.removePathPrefix)(origUrl, config.assetPrefix);
+ }
+ const parsedUrl = _url.default.parse(req.url || '/');
+ const hotReloaderResult = await developmentBundler.hotReloader.run(req, res, parsedUrl);
+ if (hotReloaderResult.finished) {
+ return hotReloaderResult;
+ }
+ req.url = origUrl;
+ }
+ const { finished, parsedUrl, statusCode, resHeaders, bodyStream, matchedOutput } = await resolveRoutes({
+ req,
+ res,
+ isUpgradeReq: false,
+ signal: (0, _nextrequest.signalFromNodeResponse)(res),
+ invokedOutputs
+ });
+ if (res.closed || res.finished) {
+ return;
+ }
+ if (developmentBundler && (matchedOutput == null ? void 0 : matchedOutput.type) === 'devVirtualFsItem') {
+ const origUrl = req.url || '/';
+ if (config.basePath && (0, _pathhasprefix.pathHasPrefix)(origUrl, config.basePath)) {
+ req.url = (0, _removepathprefix.removePathPrefix)(origUrl, config.basePath);
+ } else if (config.assetPrefix && (0, _pathhasprefix.pathHasPrefix)(origUrl, config.assetPrefix)) {
+ req.url = (0, _removepathprefix.removePathPrefix)(origUrl, config.assetPrefix);
+ }
+ if (resHeaders) {
+ for (const key of Object.keys(resHeaders)){
+ res.setHeader(key, resHeaders[key]);
+ }
+ }
+ const result = await developmentBundler.requestHandler(req, res);
+ if (result.finished) {
+ return;
+ }
+ // TODO: throw invariant if we resolved to this but it wasn't handled?
+ req.url = origUrl;
+ }
+ debug('requestHandler!', req.url, {
+ matchedOutput,
+ statusCode,
+ resHeaders,
+ bodyStream: !!bodyStream,
+ parsedUrl: {
+ pathname: parsedUrl.pathname,
+ query: parsedUrl.query
+ },
+ finished
+ });
+ // apply any response headers from routing
+ for (const key of Object.keys(resHeaders || {})){
+ res.setHeader(key, resHeaders[key]);
+ }
+ // handle redirect
+ if (!bodyStream && statusCode && statusCode > 300 && statusCode < 400) {
+ const destination = _url.default.format(parsedUrl);
+ res.statusCode = statusCode;
+ res.setHeader('location', destination);
+ if (statusCode === _redirectstatuscode.RedirectStatusCode.PermanentRedirect) {
+ res.setHeader('Refresh', `0;url=${destination}`);
+ }
+ return res.end(destination);
+ }
+ // handle middleware body response
+ if (bodyStream) {
+ res.statusCode = statusCode || 200;
+ return await (0, _pipereadable.pipeToNodeResponse)(bodyStream, res);
+ }
+ if (finished && parsedUrl.protocol) {
+ var _getRequestMeta;
+ return await (0, _proxyrequest.proxyRequest)(req, res, parsedUrl, undefined, (_getRequestMeta = (0, _requestmeta.getRequestMeta)(req, 'clonableBody')) == null ? void 0 : _getRequestMeta.cloneBodyStream(), config.experimental.proxyTimeout);
+ }
+ if ((matchedOutput == null ? void 0 : matchedOutput.fsPath) && matchedOutput.itemPath) {
+ if (opts.dev && (fsChecker.appFiles.has(matchedOutput.itemPath) || fsChecker.pageFiles.has(matchedOutput.itemPath))) {
+ res.statusCode = 500;
+ const message = `A conflicting public file and page file was found for path ${matchedOutput.itemPath} https://nextjs.org/docs/messages/conflicting-public-file-page`;
+ await invokeRender(parsedUrl, '/_error', handleIndex, {
+ invokeStatus: 500,
+ invokeError: Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ })
+ });
+ _log.error(message);
+ return;
+ }
+ if (!res.getHeader('cache-control') && matchedOutput.type === 'nextStaticFolder') {
+ if (opts.dev && !isNextFont(parsedUrl.pathname)) {
+ res.setHeader('Cache-Control', 'no-store, must-revalidate');
+ } else {
+ res.setHeader('Cache-Control', 'public, max-age=31536000, immutable');
+ }
+ }
+ if (!(req.method === 'GET' || req.method === 'HEAD')) {
+ res.setHeader('Allow', [
+ 'GET',
+ 'HEAD'
+ ]);
+ res.statusCode = 405;
+ return await invokeRender(_url.default.parse('/405', true), '/405', handleIndex, {
+ invokeStatus: 405
+ });
+ }
+ try {
+ return await (0, _servestatic.serveStatic)(req, res, matchedOutput.itemPath, {
+ root: matchedOutput.itemsRoot,
+ // Ensures that etags are not generated for static files when disabled.
+ etag: config.generateEtags
+ });
+ } catch (err) {
+ /**
+ * Hardcoded every possible error status code that could be thrown by "serveStatic" method
+ * This is done by searching "this.error" inside "send" module's source code:
+ * https://github.com/pillarjs/send/blob/master/index.js
+ * https://github.com/pillarjs/send/blob/develop/index.js
+ */ const POSSIBLE_ERROR_CODE_FROM_SERVE_STATIC = new Set([
+ // send module will throw 500 when header is already sent or fs.stat error happens
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L392
+ // Note: we will use Next.js built-in 500 page to handle 500 errors
+ // 500,
+ // send module will throw 404 when file is missing
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L421
+ // Note: we will use Next.js built-in 404 page to handle 404 errors
+ // 404,
+ // send module will throw 403 when redirecting to a directory without enabling directory listing
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L484
+ // Note: Next.js throws a different error (without status code) for directory listing
+ // 403,
+ // send module will throw 400 when fails to normalize the path
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L520
+ 400,
+ // send module will throw 412 with conditional GET request
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L632
+ 412,
+ // send module will throw 416 when range is not satisfiable
+ // https://github.com/pillarjs/send/blob/53f0ab476145670a9bdd3dc722ab2fdc8d358fc6/index.js#L669
+ 416
+ ]);
+ let validErrorStatus = POSSIBLE_ERROR_CODE_FROM_SERVE_STATIC.has(err.statusCode);
+ // normalize non-allowed status codes
+ if (!validErrorStatus) {
+ ;
+ err.statusCode = 400;
+ }
+ if (typeof err.statusCode === 'number') {
+ const invokePath = `/${err.statusCode}`;
+ const invokeStatus = err.statusCode;
+ res.statusCode = err.statusCode;
+ return await invokeRender(_url.default.parse(invokePath, true), invokePath, handleIndex, {
+ invokeStatus
+ });
+ }
+ throw err;
+ }
+ }
+ if (matchedOutput) {
+ invokedOutputs.add(matchedOutput.itemPath);
+ return await invokeRender(parsedUrl, parsedUrl.pathname || '/', handleIndex, {
+ invokeOutput: matchedOutput.itemPath
+ });
+ }
+ if (opts.dev && (0, _chromedevtoolsworkspace.isChromeDevtoolsWorkspaceUrl)(parsedUrl)) {
+ await (0, _chromedevtoolsworkspace.handleChromeDevtoolsWorkspaceRequest)(res, opts, config);
+ return;
+ }
+ // 404 case
+ res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
+ // Short-circuit favicon.ico serving so that the 404 page doesn't get built as favicon is requested by the browser when loading any route.
+ if (opts.dev && !matchedOutput && parsedUrl.pathname === '/favicon.ico') {
+ res.statusCode = 404;
+ res.end('');
+ return null;
+ }
+ const appNotFound = opts.dev ? developmentBundler == null ? void 0 : developmentBundler.serverFields.hasAppNotFound : await fsChecker.getItem(_constants.UNDERSCORE_NOT_FOUND_ROUTE);
+ res.statusCode = 404;
+ if (appNotFound) {
+ return await invokeRender(parsedUrl, _constants.UNDERSCORE_NOT_FOUND_ROUTE, handleIndex, {
+ invokeStatus: 404
+ });
+ }
+ await invokeRender(parsedUrl, '/404', handleIndex, {
+ invokeStatus: 404
+ });
+ };
+ try {
+ await handleRequest(0);
+ } catch (err) {
+ try {
+ let invokePath = '/500';
+ let invokeStatus = '500';
+ if (err instanceof _utils.DecodeError) {
+ invokePath = '/400';
+ invokeStatus = '400';
+ } else {
+ console.error(err);
+ }
+ res.statusCode = Number(invokeStatus);
+ return await invokeRender(_url.default.parse(invokePath, true), invokePath, 0, {
+ invokeStatus: res.statusCode
+ });
+ } catch (err2) {
+ console.error(err2);
+ }
+ res.statusCode = 500;
+ res.end('Internal Server Error');
+ }
+ };
+ let requestHandler = requestHandlerImpl;
+ if (config.experimental.testProxy) {
+ // Intercept fetch and other testmode apis.
+ const { wrapRequestHandlerWorker, interceptTestApis } = // eslint-disable-next-line @next/internal/typechecked-require -- experimental/testmode is not built ins next/dist/esm
+ require('next/dist/experimental/testmode/server');
+ requestHandler = wrapRequestHandlerWorker(requestHandler);
+ interceptTestApis();
+ // We treat the intercepted fetch as "original" fetch that should be reset to during HMR.
+ originalFetch = globalThis.fetch;
+ }
+ requestHandlers[opts.dir] = requestHandler;
+ const renderServerOpts = {
+ port: opts.port,
+ dir: opts.dir,
+ hostname: opts.hostname,
+ minimalMode: opts.minimalMode,
+ dev: !!opts.dev,
+ server: opts.server,
+ serverFields: {
+ ...(developmentBundler == null ? void 0 : developmentBundler.serverFields) || {},
+ setIsrStatus: devBundlerService == null ? void 0 : devBundlerService.setIsrStatus.bind(devBundlerService)
+ },
+ experimentalTestProxy: !!config.experimental.testProxy,
+ experimentalHttpsServer: !!opts.experimentalHttpsServer,
+ bundlerService: devBundlerService,
+ startServerSpan: opts.startServerSpan,
+ quiet: opts.quiet,
+ onDevServerCleanup: opts.onDevServerCleanup
+ };
+ renderServerOpts.serverFields.routerServerHandler = requestHandlerImpl;
+ // pre-initialize workers
+ const handlers = await renderServer.instance.initialize(renderServerOpts);
+ // this must come after initialize of render server since it's
+ // using initialized methods
+ if (!_routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol]) {
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol] = {};
+ }
+ const relativeProjectDir = _path.default.relative(process.cwd(), opts.dir);
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol][relativeProjectDir] = {
+ nextConfig: config,
+ hostname: handlers.server.hostname,
+ revalidate: handlers.server.revalidate.bind(handlers.server),
+ render404: handlers.server.render404.bind(handlers.server),
+ experimentalTestProxy: renderServerOpts.experimentalTestProxy,
+ logErrorWithOriginalStack: opts.dev ? handlers.server.logErrorWithOriginalStack.bind(handlers.server) : (err)=>!opts.quiet && _log.error(err),
+ setIsrStatus: devBundlerService == null ? void 0 : devBundlerService.setIsrStatus.bind(devBundlerService)
+ };
+ const logError = async (type, err)=>{
+ if ((0, _ispostpone.isPostpone)(err)) {
+ // React postpones that are unhandled might end up logged here but they're
+ // not really errors. They're just part of rendering.
+ return;
+ }
+ if (type === 'unhandledRejection') {
+ _log.error('unhandledRejection: ', err);
+ } else if (type === 'uncaughtException') {
+ _log.error('uncaughtException: ', err);
+ }
+ };
+ process.on('uncaughtException', logError.bind(null, 'uncaughtException'));
+ process.on('unhandledRejection', logError.bind(null, 'unhandledRejection'));
+ const resolveRoutes = (0, _resolveroutes.getResolveRoutes)(fsChecker, config, opts, renderServer.instance, renderServerOpts, developmentBundler == null ? void 0 : developmentBundler.ensureMiddleware);
+ const upgradeHandler = async (req, socket, head)=>{
+ try {
+ req.on('error', (_err)=>{
+ // TODO: log socket errors?
+ // console.error(_err);
+ });
+ socket.on('error', (_err)=>{
+ // TODO: log socket errors?
+ // console.error(_err);
+ });
+ if (opts.dev && developmentBundler && req.url) {
+ if ((0, _blockcrosssite.blockCrossSite)(req, socket, config.allowedDevOrigins, opts.hostname)) {
+ return;
+ }
+ const { basePath, assetPrefix } = config;
+ let hmrPrefix = basePath;
+ // assetPrefix overrides basePath for HMR path
+ if (assetPrefix) {
+ hmrPrefix = (0, _normalizedassetprefix.normalizedAssetPrefix)(assetPrefix);
+ if (URL.canParse(hmrPrefix)) {
+ // remove trailing slash from pathname
+ // return empty string if pathname is '/'
+ // to avoid conflicts with '/_next' below
+ hmrPrefix = new URL(hmrPrefix).pathname.replace(/\/$/, '');
+ }
+ }
+ const isHMRRequest = req.url.startsWith((0, _ensureleadingslash.ensureLeadingSlash)(`${hmrPrefix}/_next/webpack-hmr`));
+ // only handle HMR requests if the basePath in the request
+ // matches the basePath for the handler responding to the request
+ if (isHMRRequest) {
+ return developmentBundler.hotReloader.onHMR(req, socket, head, (client)=>{
+ client.send(JSON.stringify({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ISR_MANIFEST,
+ data: (devBundlerService == null ? void 0 : devBundlerService.appIsrManifest) || {}
+ }));
+ });
+ }
+ }
+ const res = new _mockrequest.MockedResponse({
+ resWriter: ()=>{
+ throw Object.defineProperty(new Error('Invariant: did not expect response writer to be written to for upgrade request'), "__NEXT_ERROR_CODE", {
+ value: "E522",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ });
+ const { matchedOutput, parsedUrl } = await resolveRoutes({
+ req,
+ res,
+ isUpgradeReq: true,
+ signal: (0, _nextrequest.signalFromNodeResponse)(socket)
+ });
+ // TODO: allow upgrade requests to pages/app paths?
+ // this was not previously supported
+ if (matchedOutput) {
+ return socket.end();
+ }
+ if (parsedUrl.protocol) {
+ return await (0, _proxyrequest.proxyRequest)(req, socket, parsedUrl, head);
+ }
+ // If there's no matched output, we don't handle the request as user's
+ // custom WS server may be listening on the same path.
+ } catch (err) {
+ console.error('Error handling upgrade request', err);
+ socket.end();
+ }
+ };
+ return {
+ requestHandler,
+ upgradeHandler,
+ server: handlers.server,
+ closeUpgraded () {
+ var _developmentBundler_hotReloader;
+ developmentBundler == null ? void 0 : (_developmentBundler_hotReloader = developmentBundler.hotReloader) == null ? void 0 : _developmentBundler_hotReloader.close();
+ }
+ };
+}
+
+//# sourceMappingURL=router-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/block-cross-site.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/block-cross-site.js
new file mode 100644
index 0000000000000000000000000000000000000000..14896b861d931f706868367309fb7fd0537d8de1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/block-cross-site.js
@@ -0,0 +1,76 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "blockCrossSite", {
+ enumerable: true,
+ get: function() {
+ return blockCrossSite;
+ }
+});
+const _url = require("../../../lib/url");
+const _log = require("../../../build/output/log");
+const _csrfprotection = require("../../app-render/csrf-protection");
+function warnOrBlockRequest(res, origin, mode) {
+ const originString = origin ? `from ${origin}` : '';
+ if (mode === 'warn') {
+ (0, _log.warnOnce)(`Cross origin request detected ${originString} to /_next/* resource. In a future major version of Next.js, you will need to explicitly configure "allowedDevOrigins" in next.config to allow this.\nRead more: https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins`);
+ return false;
+ }
+ (0, _log.warnOnce)(`Blocked cross-origin request ${originString} to /_next/* resource. To allow this, configure "allowedDevOrigins" in next.config\nRead more: https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins`);
+ if ('statusCode' in res) {
+ res.statusCode = 403;
+ }
+ res.end('Unauthorized');
+ return true;
+}
+function isInternalDevEndpoint(req) {
+ if (!req.url) return false;
+ try {
+ // TODO: We should standardize on a single prefix for this
+ const isMiddlewareRequest = req.url.includes('/__nextjs');
+ const isInternalAsset = req.url.includes('/_next');
+ // Static media requests are excluded, as they might be loaded via CSS and would fail
+ // CORS checks.
+ const isIgnoredRequest = req.url.includes('/_next/image') || req.url.includes('/_next/static/media');
+ return !isIgnoredRequest && (isInternalAsset || isMiddlewareRequest);
+ } catch (err) {
+ return false;
+ }
+}
+const blockCrossSite = (req, res, allowedDevOrigins, hostname)=>{
+ // in the future, these will be blocked by default when allowed origins aren't configured.
+ // for now, we warn when allowed origins aren't configured
+ const mode = typeof allowedDevOrigins === 'undefined' ? 'warn' : 'block';
+ const allowedOrigins = [
+ '*.localhost',
+ 'localhost',
+ ...allowedDevOrigins || []
+ ];
+ if (hostname) {
+ allowedOrigins.push(hostname);
+ }
+ // only process internal URLs/middleware
+ if (!isInternalDevEndpoint(req)) {
+ return false;
+ }
+ // block non-cors request from cross-site e.g. script tag on
+ // different host
+ if (req.headers['sec-fetch-mode'] === 'no-cors' && req.headers['sec-fetch-site'] === 'cross-site') {
+ return warnOrBlockRequest(res, undefined, mode);
+ }
+ // ensure websocket requests from allowed origin
+ const rawOrigin = req.headers['origin'];
+ if (rawOrigin) {
+ const parsedOrigin = (0, _url.parseUrl)(rawOrigin);
+ if (parsedOrigin) {
+ const originLowerCase = parsedOrigin.hostname.toLowerCase();
+ if (!(0, _csrfprotection.isCsrfOriginAllowed)(originLowerCase, allowedOrigins)) {
+ return warnOrBlockRequest(res, originLowerCase, mode);
+ }
+ }
+ }
+ return false;
+};
+
+//# sourceMappingURL=block-cross-site.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/build-data-route.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/build-data-route.js
new file mode 100644
index 0000000000000000000000000000000000000000..9c17b9b37c1d7605a0bdba6cd101eba16dafd8cf
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/build-data-route.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "buildDataRoute", {
+ enumerable: true,
+ get: function() {
+ return buildDataRoute;
+ }
+});
+const _path = /*#__PURE__*/ _interop_require_default(require("../../../shared/lib/isomorphic/path"));
+const _normalizepagepath = require("../../../shared/lib/page-path/normalize-page-path");
+const _isdynamic = require("../../../shared/lib/router/utils/is-dynamic");
+const _routeregex = require("../../../shared/lib/router/utils/route-regex");
+const _loadcustomroutes = require("../../../lib/load-custom-routes");
+const _escaperegexp = require("../../../shared/lib/escape-regexp");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function buildDataRoute(page, buildId) {
+ const pagePath = (0, _normalizepagepath.normalizePagePath)(page);
+ const dataRoute = _path.default.posix.join('/_next/data', buildId, `${pagePath}.json`);
+ let dataRouteRegex;
+ let namedDataRouteRegex;
+ let routeKeys;
+ if ((0, _isdynamic.isDynamicRoute)(page)) {
+ const routeRegex = (0, _routeregex.getNamedRouteRegex)(dataRoute, {
+ prefixRouteKeys: true,
+ includeSuffix: true,
+ excludeOptionalTrailingSlash: true
+ });
+ dataRouteRegex = (0, _loadcustomroutes.normalizeRouteRegex)(routeRegex.re.source);
+ namedDataRouteRegex = routeRegex.namedRegex;
+ routeKeys = routeRegex.routeKeys;
+ } else {
+ dataRouteRegex = (0, _loadcustomroutes.normalizeRouteRegex)(new RegExp(`^${_path.default.posix.join('/_next/data', (0, _escaperegexp.escapeStringRegexp)(buildId), `${pagePath}\\.json`)}$`).source);
+ }
+ return {
+ page,
+ routeKeys,
+ dataRouteRegex,
+ namedDataRouteRegex
+ };
+}
+
+//# sourceMappingURL=build-data-route.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/decode-path-params.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/decode-path-params.js
new file mode 100644
index 0000000000000000000000000000000000000000..0bd903ab4ea2fea4a376d4500a4d31d25d635ce8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/decode-path-params.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "decodePathParams", {
+ enumerable: true,
+ get: function() {
+ return decodePathParams;
+ }
+});
+const _escapepathdelimiters = /*#__PURE__*/ _interop_require_default(require("../../../shared/lib/router/utils/escape-path-delimiters"));
+const _utils = require("../../../shared/lib/utils");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+/**
+ * We only encode path delimiters for path segments from
+ * getStaticPaths so we need to attempt decoding the URL
+ * to match against and only escape the path delimiters
+ * this allows non-ascii values to be handled e.g.
+ * Japanese characters.
+ * */ function decodePathParams(pathname) {
+ // TODO: investigate adding this handling for non-SSG
+ // pages so non-ascii names also work there.
+ return pathname.split('/').map((seg)=>{
+ try {
+ seg = (0, _escapepathdelimiters.default)(decodeURIComponent(seg), true);
+ } catch (_) {
+ // An improperly encoded URL was provided
+ throw Object.defineProperty(new _utils.DecodeError('Failed to decode path param(s).'), "__NEXT_ERROR_CODE", {
+ value: "E539",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return seg;
+ }).join('/');
+}
+
+//# sourceMappingURL=decode-path-params.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/filesystem.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/filesystem.js
new file mode 100644
index 0000000000000000000000000000000000000000..06ac995c0278d2c3238d24e7089735f570fa1eac
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/filesystem.js
@@ -0,0 +1,551 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ buildCustomRoute: null,
+ setupFsCheck: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ buildCustomRoute: function() {
+ return buildCustomRoute;
+ },
+ setupFsCheck: function() {
+ return setupFsCheck;
+ }
+});
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _promises = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../build/output/log"));
+const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
+const _lrucache = require("../lru-cache");
+const _loadcustomroutes = /*#__PURE__*/ _interop_require_default(require("../../../lib/load-custom-routes"));
+const _redirectstatus = require("../../../lib/redirect-status");
+const _fileexists = require("../../../lib/file-exists");
+const _recursivereaddir = require("../../../lib/recursive-readdir");
+const _utils = require("../../../shared/lib/router/utils");
+const _escaperegexp = require("../../../shared/lib/escape-regexp");
+const _pathmatch = require("../../../shared/lib/router/utils/path-match");
+const _routeregex = require("../../../shared/lib/router/utils/route-regex");
+const _routematcher = require("../../../shared/lib/router/utils/route-matcher");
+const _pathhasprefix = require("../../../shared/lib/router/utils/path-has-prefix");
+const _normalizelocalepath = require("../../../shared/lib/i18n/normalize-locale-path");
+const _removepathprefix = require("../../../shared/lib/router/utils/remove-path-prefix");
+const _middlewareroutematcher = require("../../../shared/lib/router/utils/middleware-route-matcher");
+const _constants = require("../../../shared/lib/constants");
+const _normalizepathsep = require("../../../shared/lib/page-path/normalize-path-sep");
+const _getmetadataroute = require("../../../lib/metadata/get-metadata-route");
+const _rsc = require("../../normalizers/request/rsc");
+const _prefetchrsc = require("../../normalizers/request/prefetch-rsc");
+const _encodeuripath = require("../../../shared/lib/encode-uri-path");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const debug = (0, _debug.default)('next:router-server:filesystem');
+const buildCustomRoute = (type, item, basePath, caseSensitive)=>{
+ const restrictedRedirectPaths = [
+ '/_next'
+ ].map((p)=>basePath ? `${basePath}${p}` : p);
+ let builtRegex = '';
+ const match = (0, _pathmatch.getPathMatch)(item.source, {
+ strict: true,
+ removeUnnamedParams: true,
+ regexModifier: (regex)=>{
+ if (!item.internal) {
+ regex = (0, _redirectstatus.modifyRouteRegex)(regex, type === 'redirect' ? restrictedRedirectPaths : undefined);
+ }
+ builtRegex = regex;
+ return builtRegex;
+ },
+ sensitive: caseSensitive
+ });
+ return {
+ ...item,
+ regex: builtRegex,
+ ...type === 'rewrite' ? {
+ check: true
+ } : {},
+ match
+ };
+};
+async function setupFsCheck(opts) {
+ const getItemsLru = !opts.dev ? new _lrucache.LRUCache(1024 * 1024, function length(value) {
+ if (!value) return 0;
+ return (value.fsPath || '').length + value.itemPath.length + value.type.length;
+ }) : undefined;
+ // routes that have _next/data endpoints (SSG/SSP)
+ const nextDataRoutes = new Set();
+ const publicFolderItems = new Set();
+ const nextStaticFolderItems = new Set();
+ const legacyStaticFolderItems = new Set();
+ const appFiles = new Set();
+ const pageFiles = new Set();
+ let dynamicRoutes = [];
+ let middlewareMatcher = ()=>false;
+ const distDir = _path.default.join(opts.dir, opts.config.distDir);
+ const publicFolderPath = _path.default.join(opts.dir, 'public');
+ const nextStaticFolderPath = _path.default.join(distDir, 'static');
+ const legacyStaticFolderPath = _path.default.join(opts.dir, 'static');
+ let customRoutes = {
+ redirects: [],
+ rewrites: {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ headers: []
+ };
+ let buildId = 'development';
+ let prerenderManifest;
+ if (!opts.dev) {
+ var _middlewareManifest_middleware_, _middlewareManifest_middleware;
+ const buildIdPath = _path.default.join(opts.dir, opts.config.distDir, _constants.BUILD_ID_FILE);
+ try {
+ buildId = await _promises.default.readFile(buildIdPath, 'utf8');
+ } catch (err) {
+ if (err.code !== 'ENOENT') throw err;
+ throw Object.defineProperty(new Error(`Could not find a production build in the '${opts.config.distDir}' directory. Try building your app with 'next build' before starting the production server. https://nextjs.org/docs/messages/production-start-no-build-id`), "__NEXT_ERROR_CODE", {
+ value: "E427",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ try {
+ for (const file of (await (0, _recursivereaddir.recursiveReadDir)(publicFolderPath))){
+ // Ensure filename is encoded and normalized.
+ publicFolderItems.add((0, _encodeuripath.encodeURIPath)((0, _normalizepathsep.normalizePathSep)(file)));
+ }
+ } catch (err) {
+ if (err.code !== 'ENOENT') {
+ throw err;
+ }
+ }
+ try {
+ for (const file of (await (0, _recursivereaddir.recursiveReadDir)(legacyStaticFolderPath))){
+ // Ensure filename is encoded and normalized.
+ legacyStaticFolderItems.add((0, _encodeuripath.encodeURIPath)((0, _normalizepathsep.normalizePathSep)(file)));
+ }
+ _log.warn(`The static directory has been deprecated in favor of the public directory. https://nextjs.org/docs/messages/static-dir-deprecated`);
+ } catch (err) {
+ if (err.code !== 'ENOENT') {
+ throw err;
+ }
+ }
+ try {
+ for (const file of (await (0, _recursivereaddir.recursiveReadDir)(nextStaticFolderPath))){
+ // Ensure filename is encoded and normalized.
+ nextStaticFolderItems.add(_path.default.posix.join('/_next/static', (0, _encodeuripath.encodeURIPath)((0, _normalizepathsep.normalizePathSep)(file))));
+ }
+ } catch (err) {
+ if (opts.config.output !== 'standalone') throw err;
+ }
+ const routesManifestPath = _path.default.join(distDir, _constants.ROUTES_MANIFEST);
+ const prerenderManifestPath = _path.default.join(distDir, _constants.PRERENDER_MANIFEST);
+ const middlewareManifestPath = _path.default.join(distDir, 'server', _constants.MIDDLEWARE_MANIFEST);
+ const functionsConfigManifestPath = _path.default.join(distDir, 'server', _constants.FUNCTIONS_CONFIG_MANIFEST);
+ const pagesManifestPath = _path.default.join(distDir, 'server', _constants.PAGES_MANIFEST);
+ const appRoutesManifestPath = _path.default.join(distDir, _constants.APP_PATH_ROUTES_MANIFEST);
+ const routesManifest = JSON.parse(await _promises.default.readFile(routesManifestPath, 'utf8'));
+ prerenderManifest = JSON.parse(await _promises.default.readFile(prerenderManifestPath, 'utf8'));
+ const middlewareManifest = JSON.parse(await _promises.default.readFile(middlewareManifestPath, 'utf8').catch(()=>'{}'));
+ const functionsConfigManifest = JSON.parse(await _promises.default.readFile(functionsConfigManifestPath, 'utf8').catch(()=>'{}'));
+ const pagesManifest = JSON.parse(await _promises.default.readFile(pagesManifestPath, 'utf8'));
+ const appRoutesManifest = JSON.parse(await _promises.default.readFile(appRoutesManifestPath, 'utf8').catch(()=>'{}'));
+ for (const key of Object.keys(pagesManifest)){
+ // ensure the non-locale version is in the set
+ if (opts.config.i18n) {
+ pageFiles.add((0, _normalizelocalepath.normalizeLocalePath)(key, opts.config.i18n.locales).pathname);
+ } else {
+ pageFiles.add(key);
+ }
+ }
+ for (const key of Object.keys(appRoutesManifest)){
+ appFiles.add(appRoutesManifest[key]);
+ }
+ const escapedBuildId = (0, _escaperegexp.escapeStringRegexp)(buildId);
+ for (const route of routesManifest.dataRoutes){
+ if ((0, _utils.isDynamicRoute)(route.page)) {
+ const routeRegex = (0, _routeregex.getRouteRegex)(route.page);
+ dynamicRoutes.push({
+ ...route,
+ regex: routeRegex.re.toString(),
+ match: (0, _routematcher.getRouteMatcher)({
+ // TODO: fix this in the manifest itself, must also be fixed in
+ // upstream builder that relies on this
+ re: opts.config.i18n ? new RegExp(route.dataRouteRegex.replace(`/${escapedBuildId}/`, `/${escapedBuildId}/(?[^/]+?)/`)) : new RegExp(route.dataRouteRegex),
+ groups: routeRegex.groups
+ })
+ });
+ }
+ nextDataRoutes.add(route.page);
+ }
+ for (const route of routesManifest.dynamicRoutes){
+ dynamicRoutes.push({
+ ...route,
+ match: (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(route.page))
+ });
+ }
+ if ((_middlewareManifest_middleware = middlewareManifest.middleware) == null ? void 0 : (_middlewareManifest_middleware_ = _middlewareManifest_middleware['/']) == null ? void 0 : _middlewareManifest_middleware_.matchers) {
+ var _middlewareManifest_middleware_1, _middlewareManifest_middleware1;
+ middlewareMatcher = (0, _middlewareroutematcher.getMiddlewareRouteMatcher)((_middlewareManifest_middleware1 = middlewareManifest.middleware) == null ? void 0 : (_middlewareManifest_middleware_1 = _middlewareManifest_middleware1['/']) == null ? void 0 : _middlewareManifest_middleware_1.matchers);
+ } else if (functionsConfigManifest == null ? void 0 : functionsConfigManifest.functions['/_middleware']) {
+ middlewareMatcher = (0, _middlewareroutematcher.getMiddlewareRouteMatcher)(functionsConfigManifest.functions['/_middleware'].matchers ?? [
+ {
+ regexp: '.*',
+ originalSource: '/:path*'
+ }
+ ]);
+ }
+ customRoutes = {
+ redirects: routesManifest.redirects,
+ rewrites: routesManifest.rewrites ? Array.isArray(routesManifest.rewrites) ? {
+ beforeFiles: [],
+ afterFiles: routesManifest.rewrites,
+ fallback: []
+ } : routesManifest.rewrites : {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ headers: routesManifest.headers
+ };
+ } else {
+ // dev handling
+ customRoutes = await (0, _loadcustomroutes.default)(opts.config);
+ prerenderManifest = {
+ version: 4,
+ routes: {},
+ dynamicRoutes: {},
+ notFoundRoutes: [],
+ preview: {
+ previewModeId: require('crypto').randomBytes(16).toString('hex'),
+ previewModeSigningKey: require('crypto').randomBytes(32).toString('hex'),
+ previewModeEncryptionKey: require('crypto').randomBytes(32).toString('hex')
+ }
+ };
+ }
+ const headers = customRoutes.headers.map((item)=>buildCustomRoute('header', item, opts.config.basePath, opts.config.experimental.caseSensitiveRoutes));
+ const redirects = customRoutes.redirects.map((item)=>buildCustomRoute('redirect', item, opts.config.basePath, opts.config.experimental.caseSensitiveRoutes));
+ const rewrites = {
+ beforeFiles: customRoutes.rewrites.beforeFiles.map((item)=>buildCustomRoute('before_files_rewrite', item)),
+ afterFiles: customRoutes.rewrites.afterFiles.map((item)=>buildCustomRoute('rewrite', item, opts.config.basePath, opts.config.experimental.caseSensitiveRoutes)),
+ fallback: customRoutes.rewrites.fallback.map((item)=>buildCustomRoute('rewrite', item, opts.config.basePath, opts.config.experimental.caseSensitiveRoutes))
+ };
+ const { i18n } = opts.config;
+ const handleLocale = (pathname, locales)=>{
+ let locale;
+ if (i18n) {
+ const i18nResult = (0, _normalizelocalepath.normalizeLocalePath)(pathname, locales || i18n.locales);
+ pathname = i18nResult.pathname;
+ locale = i18nResult.detectedLocale;
+ }
+ return {
+ locale,
+ pathname
+ };
+ };
+ debug('nextDataRoutes', nextDataRoutes);
+ debug('dynamicRoutes', dynamicRoutes);
+ debug('customRoutes', customRoutes);
+ debug('publicFolderItems', publicFolderItems);
+ debug('nextStaticFolderItems', nextStaticFolderItems);
+ debug('pageFiles', pageFiles);
+ debug('appFiles', appFiles);
+ let ensureFn;
+ const normalizers = {
+ // Because we can't know if the app directory is enabled or not at this
+ // stage, we assume that it is.
+ rsc: new _rsc.RSCPathnameNormalizer(),
+ prefetchRSC: opts.config.experimental.ppr ? new _prefetchrsc.PrefetchRSCPathnameNormalizer() : undefined
+ };
+ return {
+ headers,
+ rewrites,
+ redirects,
+ buildId,
+ handleLocale,
+ appFiles,
+ pageFiles,
+ dynamicRoutes,
+ nextDataRoutes,
+ exportPathMapRoutes: undefined,
+ devVirtualFsItems: new Set(),
+ prerenderManifest,
+ middlewareMatcher: middlewareMatcher,
+ ensureCallback (fn) {
+ ensureFn = fn;
+ },
+ async getItem (itemPath) {
+ const originalItemPath = itemPath;
+ const itemKey = originalItemPath;
+ const lruResult = getItemsLru == null ? void 0 : getItemsLru.get(itemKey);
+ if (lruResult) {
+ return lruResult;
+ }
+ const { basePath } = opts.config;
+ const hasBasePath = (0, _pathhasprefix.pathHasPrefix)(itemPath, basePath);
+ // Return null if path doesn't start with basePath
+ if (basePath && !hasBasePath) {
+ return null;
+ }
+ // Remove basePath if it exists.
+ if (basePath && hasBasePath) {
+ itemPath = (0, _removepathprefix.removePathPrefix)(itemPath, basePath) || '/';
+ }
+ // Simulate minimal mode requests by normalizing RSC and postponed
+ // requests.
+ if (opts.minimalMode) {
+ var _normalizers_prefetchRSC;
+ if ((_normalizers_prefetchRSC = normalizers.prefetchRSC) == null ? void 0 : _normalizers_prefetchRSC.match(itemPath)) {
+ itemPath = normalizers.prefetchRSC.normalize(itemPath, true);
+ } else if (normalizers.rsc.match(itemPath)) {
+ itemPath = normalizers.rsc.normalize(itemPath, true);
+ }
+ }
+ if (itemPath !== '/' && itemPath.endsWith('/')) {
+ itemPath = itemPath.substring(0, itemPath.length - 1);
+ }
+ let decodedItemPath = itemPath;
+ try {
+ decodedItemPath = decodeURIComponent(itemPath);
+ } catch {}
+ if (itemPath === '/_next/image') {
+ return {
+ itemPath,
+ type: 'nextImage'
+ };
+ }
+ const itemsToCheck = [
+ [
+ this.devVirtualFsItems,
+ 'devVirtualFsItem'
+ ],
+ [
+ nextStaticFolderItems,
+ 'nextStaticFolder'
+ ],
+ [
+ legacyStaticFolderItems,
+ 'legacyStaticFolder'
+ ],
+ [
+ publicFolderItems,
+ 'publicFolder'
+ ],
+ [
+ appFiles,
+ 'appFile'
+ ],
+ [
+ pageFiles,
+ 'pageFile'
+ ]
+ ];
+ for (let [items, type] of itemsToCheck){
+ let locale;
+ let curItemPath = itemPath;
+ let curDecodedItemPath = decodedItemPath;
+ const isDynamicOutput = type === 'pageFile' || type === 'appFile';
+ if (i18n) {
+ var _i18n_domains;
+ const localeResult = handleLocale(itemPath, // legacy behavior allows visiting static assets under
+ // default locale but no other locale
+ isDynamicOutput ? undefined : [
+ i18n == null ? void 0 : i18n.defaultLocale,
+ // default locales from domains need to be matched too
+ ...((_i18n_domains = i18n.domains) == null ? void 0 : _i18n_domains.map((item)=>item.defaultLocale)) || []
+ ]);
+ if (localeResult.pathname !== curItemPath) {
+ curItemPath = localeResult.pathname;
+ locale = localeResult.locale;
+ try {
+ curDecodedItemPath = decodeURIComponent(curItemPath);
+ } catch {}
+ }
+ }
+ if (type === 'legacyStaticFolder') {
+ if (!(0, _pathhasprefix.pathHasPrefix)(curItemPath, '/static')) {
+ continue;
+ }
+ curItemPath = curItemPath.substring('/static'.length);
+ try {
+ curDecodedItemPath = decodeURIComponent(curItemPath);
+ } catch {}
+ }
+ if (type === 'nextStaticFolder' && !(0, _pathhasprefix.pathHasPrefix)(curItemPath, '/_next/static')) {
+ continue;
+ }
+ const nextDataPrefix = `/_next/data/${buildId}/`;
+ if (type === 'pageFile' && curItemPath.startsWith(nextDataPrefix) && curItemPath.endsWith('.json')) {
+ items = nextDataRoutes;
+ // remove _next/data/ prefix
+ curItemPath = curItemPath.substring(nextDataPrefix.length - 1);
+ // remove .json postfix
+ curItemPath = curItemPath.substring(0, curItemPath.length - '.json'.length);
+ const curLocaleResult = handleLocale(curItemPath);
+ curItemPath = curLocaleResult.pathname === '/index' ? '/' : curLocaleResult.pathname;
+ locale = curLocaleResult.locale;
+ try {
+ curDecodedItemPath = decodeURIComponent(curItemPath);
+ } catch {}
+ }
+ let matchedItem = items.has(curItemPath);
+ // check decoded variant as well
+ if (!matchedItem && !opts.dev) {
+ matchedItem = items.has(curDecodedItemPath);
+ if (matchedItem) curItemPath = curDecodedItemPath;
+ else {
+ // x-ref: https://github.com/vercel/next.js/issues/54008
+ // There're cases that urls get decoded before requests, we should support both encoded and decoded ones.
+ // e.g. nginx could decode the proxy urls, the below ones should be treated as the same:
+ // decoded version: `/_next/static/chunks/pages/blog/[slug]-d4858831b91b69f6.js`
+ // encoded version: `/_next/static/chunks/pages/blog/%5Bslug%5D-d4858831b91b69f6.js`
+ try {
+ // encode the special characters in the path and retrieve again to determine if path exists.
+ const encodedCurItemPath = (0, _encodeuripath.encodeURIPath)(curItemPath);
+ matchedItem = items.has(encodedCurItemPath);
+ } catch {}
+ }
+ }
+ if (matchedItem || opts.dev) {
+ let fsPath;
+ let itemsRoot;
+ switch(type){
+ case 'nextStaticFolder':
+ {
+ itemsRoot = nextStaticFolderPath;
+ curItemPath = curItemPath.substring('/_next/static'.length);
+ break;
+ }
+ case 'legacyStaticFolder':
+ {
+ itemsRoot = legacyStaticFolderPath;
+ break;
+ }
+ case 'publicFolder':
+ {
+ itemsRoot = publicFolderPath;
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+ if (itemsRoot && curItemPath) {
+ fsPath = _path.default.posix.join(itemsRoot, curItemPath);
+ }
+ // dynamically check fs in development so we don't
+ // have to wait on the watcher
+ if (!matchedItem && opts.dev) {
+ const isStaticAsset = [
+ 'nextStaticFolder',
+ 'publicFolder',
+ 'legacyStaticFolder'
+ ].includes(type);
+ if (isStaticAsset && itemsRoot) {
+ let found = fsPath && await (0, _fileexists.fileExists)(fsPath, _fileexists.FileType.File);
+ if (!found) {
+ try {
+ // In dev, we ensure encoded paths match
+ // decoded paths on the filesystem so check
+ // that variation as well
+ const tempItemPath = decodeURIComponent(curItemPath);
+ fsPath = _path.default.posix.join(itemsRoot, tempItemPath);
+ found = await (0, _fileexists.fileExists)(fsPath, _fileexists.FileType.File);
+ } catch {}
+ if (!found) {
+ continue;
+ }
+ }
+ } else if (type === 'pageFile' || type === 'appFile') {
+ var _ensureFn;
+ const isAppFile = type === 'appFile';
+ if (ensureFn && await ((_ensureFn = ensureFn({
+ type,
+ itemPath: isAppFile ? (0, _getmetadataroute.normalizeMetadataRoute)(curItemPath) : curItemPath
+ })) == null ? void 0 : _ensureFn.catch(()=>'ENSURE_FAILED')) === 'ENSURE_FAILED') {
+ continue;
+ }
+ } else {
+ continue;
+ }
+ }
+ // i18n locales aren't matched for app dir
+ if (type === 'appFile' && locale && locale !== (i18n == null ? void 0 : i18n.defaultLocale)) {
+ continue;
+ }
+ const itemResult = {
+ type,
+ fsPath,
+ locale,
+ itemsRoot,
+ itemPath: curItemPath
+ };
+ getItemsLru == null ? void 0 : getItemsLru.set(itemKey, itemResult);
+ return itemResult;
+ }
+ }
+ getItemsLru == null ? void 0 : getItemsLru.set(itemKey, null);
+ return null;
+ },
+ getDynamicRoutes () {
+ // this should include data routes
+ return this.dynamicRoutes;
+ },
+ getMiddlewareMatchers () {
+ return this.middlewareMatcher;
+ }
+ };
+}
+
+//# sourceMappingURL=filesystem.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..c30e8089544a1d67659b3e1a2cd38426135f12ba
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js
@@ -0,0 +1,87 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ ensureInstrumentationRegistered: null,
+ getInstrumentationModule: null,
+ instrumentationOnRequestError: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ ensureInstrumentationRegistered: function() {
+ return ensureInstrumentationRegistered;
+ },
+ getInstrumentationModule: function() {
+ return getInstrumentationModule;
+ },
+ instrumentationOnRequestError: function() {
+ return instrumentationOnRequestError;
+ }
+});
+const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
+const _iserror = /*#__PURE__*/ _interop_require_default(require("../../../lib/is-error"));
+const _constants = require("../../../lib/constants");
+const _interopdefault = require("../../../lib/interop-default");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+let cachedInstrumentationModule;
+async function getInstrumentationModule(projectDir, distDir) {
+ if (cachedInstrumentationModule) {
+ return cachedInstrumentationModule;
+ }
+ try {
+ cachedInstrumentationModule = (0, _interopdefault.interopDefault)(await require(_nodepath.default.join(projectDir, distDir, 'server', `${_constants.INSTRUMENTATION_HOOK_FILENAME}.js`)));
+ return cachedInstrumentationModule;
+ } catch (err) {
+ if ((0, _iserror.default)(err) && err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND' && err.code !== 'ERR_MODULE_NOT_FOUND') {
+ throw err;
+ }
+ }
+}
+let instrumentationModulePromise = null;
+async function registerInstrumentation(projectDir, distDir) {
+ // Ensure registerInstrumentation is not called in production build
+ if (process.env.NEXT_PHASE === 'phase-production-build') {
+ return;
+ }
+ if (!instrumentationModulePromise) {
+ instrumentationModulePromise = getInstrumentationModule(projectDir, distDir);
+ }
+ const instrumentation = await instrumentationModulePromise;
+ if (instrumentation == null ? void 0 : instrumentation.register) {
+ try {
+ await instrumentation.register();
+ } catch (err) {
+ err.message = `An error occurred while loading instrumentation hook: ${err.message}`;
+ throw err;
+ }
+ }
+}
+async function instrumentationOnRequestError(projectDir, distDir, ...args) {
+ const instrumentation = await getInstrumentationModule(projectDir, distDir);
+ try {
+ var _instrumentation_onRequestError;
+ await (instrumentation == null ? void 0 : (_instrumentation_onRequestError = instrumentation.onRequestError) == null ? void 0 : _instrumentation_onRequestError.call(instrumentation, ...args));
+ } catch (err) {
+ // Log the soft error and continue, since the original error has already been thrown
+ console.error('Error in instrumentation.onRequestError:', err);
+ }
+}
+let registerInstrumentationPromise = null;
+function ensureInstrumentationRegistered(projectDir, distDir) {
+ if (!registerInstrumentationPromise) {
+ registerInstrumentationPromise = registerInstrumentation(projectDir, distDir);
+ }
+ return registerInstrumentationPromise;
+}
+
+//# sourceMappingURL=instrumentation-globals.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/is-postpone.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/is-postpone.js
new file mode 100644
index 0000000000000000000000000000000000000000..b621cfe9354b55aefb2b24cba84feebdcd7069e0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/is-postpone.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "isPostpone", {
+ enumerable: true,
+ get: function() {
+ return isPostpone;
+ }
+});
+const REACT_POSTPONE_TYPE = Symbol.for('react.postpone');
+function isPostpone(error) {
+ return typeof error === 'object' && error !== null && error.$$typeof === REACT_POSTPONE_TYPE;
+}
+
+//# sourceMappingURL=is-postpone.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/proxy-request.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/proxy-request.js
new file mode 100644
index 0000000000000000000000000000000000000000..de8549da03855f8ac804a26a240184d443dec6fc
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/proxy-request.js
@@ -0,0 +1,118 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "proxyRequest", {
+ enumerable: true,
+ get: function() {
+ return proxyRequest;
+ }
+});
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _serverrouteutils = require("../../server-route-utils");
+const _stream = require("stream");
+const _detachedpromise = require("../../../lib/detached-promise");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+async function proxyRequest(req, res, parsedUrl, upgradeHead, reqBody, proxyTimeout) {
+ const { query } = parsedUrl;
+ delete parsedUrl.query;
+ parsedUrl.search = (0, _serverrouteutils.stringifyQuery)(req, query);
+ const target = _url.default.format(parsedUrl);
+ const HttpProxy = require('next/dist/compiled/http-proxy');
+ const proxy = new HttpProxy({
+ target,
+ changeOrigin: true,
+ ignorePath: true,
+ ws: true,
+ // we limit proxy requests to 30s by default, in development
+ // we don't time out WebSocket requests to allow proxying
+ proxyTimeout: proxyTimeout === null ? undefined : proxyTimeout || 30000,
+ headers: {
+ 'x-forwarded-host': req.headers.host || ''
+ }
+ });
+ let finished = false;
+ // http-proxy does not properly detect a client disconnect in newer
+ // versions of Node.js. This is caused because it only listens for the
+ // `aborted` event on the our request object, but it also fully reads
+ // and closes the request object. Node **will not** fire `aborted` when
+ // the request is already closed. Listening for `close` on our response
+ // object will detect the disconnect, and we can abort the proxy's
+ // connection.
+ proxy.on('proxyReq', (proxyReq)=>{
+ res.on('close', ()=>proxyReq.destroy());
+ });
+ proxy.on('proxyRes', (proxyRes)=>{
+ if (res.destroyed) {
+ proxyRes.destroy();
+ } else {
+ res.on('close', ()=>proxyRes.destroy());
+ }
+ });
+ proxy.on('proxyRes', (proxyRes, innerReq, innerRes)=>{
+ const cleanup = (err)=>{
+ // cleanup event listeners to allow clean garbage collection
+ proxyRes.removeListener('error', cleanup);
+ proxyRes.removeListener('close', cleanup);
+ innerRes.removeListener('error', cleanup);
+ innerRes.removeListener('close', cleanup);
+ // destroy all source streams to propagate the caught event backward
+ innerReq.destroy(err);
+ proxyRes.destroy(err);
+ };
+ proxyRes.once('error', cleanup);
+ proxyRes.once('close', cleanup);
+ innerRes.once('error', cleanup);
+ innerRes.once('close', cleanup);
+ });
+ const detached = new _detachedpromise.DetachedPromise();
+ proxy.on('error', (err)=>{
+ console.error(`Failed to proxy ${target}`, err);
+ if (!finished) {
+ finished = true;
+ detached.reject(err);
+ if (!res.destroyed) {
+ if (!(res instanceof _stream.Duplex)) {
+ res.statusCode = 500;
+ }
+ res.end('Internal Server Error');
+ }
+ }
+ });
+ // If upgrade head is present or the response is a Duplex stream, treat as
+ // WebSocket request.
+ if (upgradeHead || res instanceof _stream.Duplex) {
+ proxy.on('proxyReqWs', (proxyReq)=>{
+ proxyReq.on('close', ()=>{
+ if (!finished) {
+ finished = true;
+ detached.resolve(true);
+ }
+ });
+ });
+ proxy.ws(req, res, upgradeHead);
+ detached.resolve(true);
+ } else {
+ proxy.on('proxyReq', (proxyReq)=>{
+ proxyReq.on('close', ()=>{
+ if (!finished) {
+ finished = true;
+ detached.resolve(true);
+ }
+ });
+ });
+ proxy.web(req, res, {
+ buffer: reqBody
+ });
+ }
+ // When the proxy finishes proxying the request, shut down the proxy.
+ return detached.promise.finally(()=>{
+ proxy.close();
+ });
+}
+
+//# sourceMappingURL=proxy-request.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/resolve-routes.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/resolve-routes.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac582086f8bdbdc2fae37686e8b45954ee2e6a2f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/resolve-routes.js
@@ -0,0 +1,593 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getResolveRoutes", {
+ enumerable: true,
+ get: function() {
+ return getResolveRoutes;
+ }
+});
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
+const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
+const _bodystreams = require("../../body-streams");
+const _utils = require("../server-ipc/utils");
+const _serverrouteutils = require("../../server-route-utils");
+const _formathostname = require("../format-hostname");
+const _utils1 = require("../../web/utils");
+const _pipereadable = require("../../pipe-readable");
+const _gethostname = require("../../../shared/lib/get-hostname");
+const _redirectstatus = require("../../../lib/redirect-status");
+const _utils2 = require("../../../shared/lib/utils");
+const _relativizeurl = require("../../../shared/lib/router/utils/relativize-url");
+const _addpathprefix = require("../../../shared/lib/router/utils/add-path-prefix");
+const _pathhasprefix = require("../../../shared/lib/router/utils/path-has-prefix");
+const _detectdomainlocale = require("../../../shared/lib/i18n/detect-domain-locale");
+const _normalizelocalepath = require("../../../shared/lib/i18n/normalize-locale-path");
+const _removepathprefix = require("../../../shared/lib/router/utils/remove-path-prefix");
+const _nextdata = require("../../normalizers/request/next-data");
+const _basepath = require("../../normalizers/request/base-path");
+const _requestmeta = require("../../request-meta");
+const _preparedestination = require("../../../shared/lib/router/utils/prepare-destination");
+const _approuterheaders = require("../../../client/components/app-router-headers");
+const _computechangedpath = require("../../../client/components/router-reducer/compute-changed-path");
+const _generateinterceptionroutesrewrites = require("../../../lib/generate-interception-routes-rewrites");
+const _parseandvalidateflightrouterstate = require("../../app-render/parse-and-validate-flight-router-state");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const debug = (0, _debug.default)('next:router-server:resolve-routes');
+function getResolveRoutes(fsChecker, config, opts, renderServer, renderServerOpts, ensureMiddleware) {
+ const routes = [
+ // _next/data with middleware handling
+ {
+ match: ()=>({}),
+ name: 'middleware_next_data'
+ },
+ ...opts.minimalMode ? [] : fsChecker.headers,
+ ...opts.minimalMode ? [] : fsChecker.redirects,
+ // check middleware (using matchers)
+ {
+ match: ()=>({}),
+ name: 'middleware'
+ },
+ ...opts.minimalMode ? [] : fsChecker.rewrites.beforeFiles,
+ // check middleware (using matchers)
+ {
+ match: ()=>({}),
+ name: 'before_files_end'
+ },
+ // we check exact matches on fs before continuing to
+ // after files rewrites
+ {
+ match: ()=>({}),
+ name: 'check_fs'
+ },
+ ...opts.minimalMode ? [] : fsChecker.rewrites.afterFiles,
+ // we always do the check: true handling before continuing to
+ // fallback rewrites
+ {
+ check: true,
+ match: ()=>({}),
+ name: 'after files check: true'
+ },
+ ...opts.minimalMode ? [] : fsChecker.rewrites.fallback
+ ];
+ async function resolveRoutes({ req, res, isUpgradeReq, invokedOutputs }) {
+ var _req_socket, _req_headers_xforwardedproto;
+ let finished = false;
+ let resHeaders = {};
+ let matchedOutput = null;
+ let parsedUrl = _url.default.parse(req.url || '', true);
+ let didRewrite = false;
+ const urlParts = (req.url || '').split('?', 1);
+ const urlNoQuery = urlParts[0];
+ // this normalizes repeated slashes in the path e.g. hello//world ->
+ // hello/world or backslashes to forward slashes, this does not
+ // handle trailing slash as that is handled the same as a next.config.js
+ // redirect
+ if (urlNoQuery == null ? void 0 : urlNoQuery.match(/(\\|\/\/)/)) {
+ parsedUrl = _url.default.parse((0, _utils2.normalizeRepeatedSlashes)(req.url), true);
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true,
+ statusCode: 308
+ };
+ }
+ // TODO: inherit this from higher up
+ const protocol = (req == null ? void 0 : (_req_socket = req.socket) == null ? void 0 : _req_socket.encrypted) || ((_req_headers_xforwardedproto = req.headers['x-forwarded-proto']) == null ? void 0 : _req_headers_xforwardedproto.includes('https')) ? 'https' : 'http';
+ // When there are hostname and port we build an absolute URL
+ const initUrl = config.experimental.trustHostHeader ? `https://${req.headers.host || 'localhost'}${req.url}` : opts.port ? `${protocol}://${(0, _formathostname.formatHostname)(opts.hostname || 'localhost')}:${opts.port}${req.url}` : req.url || '';
+ (0, _requestmeta.addRequestMeta)(req, 'initURL', initUrl);
+ (0, _requestmeta.addRequestMeta)(req, 'initQuery', {
+ ...parsedUrl.query
+ });
+ (0, _requestmeta.addRequestMeta)(req, 'initProtocol', protocol);
+ if (!isUpgradeReq) {
+ (0, _requestmeta.addRequestMeta)(req, 'clonableBody', (0, _bodystreams.getCloneableBody)(req));
+ }
+ const maybeAddTrailingSlash = (pathname)=>{
+ if (config.trailingSlash && !config.skipMiddlewareUrlNormalize && !pathname.endsWith('/')) {
+ return `${pathname}/`;
+ }
+ return pathname;
+ };
+ let domainLocale;
+ let defaultLocale;
+ let initialLocaleResult = undefined;
+ if (config.i18n) {
+ var _parsedUrl_pathname;
+ const hadTrailingSlash = (_parsedUrl_pathname = parsedUrl.pathname) == null ? void 0 : _parsedUrl_pathname.endsWith('/');
+ const hadBasePath = (0, _pathhasprefix.pathHasPrefix)(parsedUrl.pathname || '', config.basePath);
+ let normalizedPath = parsedUrl.pathname || '/';
+ if (config.basePath && (0, _pathhasprefix.pathHasPrefix)(normalizedPath, config.basePath)) {
+ normalizedPath = (0, _removepathprefix.removePathPrefix)(normalizedPath, config.basePath);
+ } else if (config.assetPrefix && (0, _pathhasprefix.pathHasPrefix)(normalizedPath, config.assetPrefix)) {
+ normalizedPath = (0, _removepathprefix.removePathPrefix)(normalizedPath, config.assetPrefix);
+ }
+ initialLocaleResult = (0, _normalizelocalepath.normalizeLocalePath)(normalizedPath, config.i18n.locales);
+ domainLocale = (0, _detectdomainlocale.detectDomainLocale)(config.i18n.domains, (0, _gethostname.getHostname)(parsedUrl, req.headers));
+ defaultLocale = (domainLocale == null ? void 0 : domainLocale.defaultLocale) || config.i18n.defaultLocale;
+ (0, _requestmeta.addRequestMeta)(req, 'defaultLocale', defaultLocale);
+ (0, _requestmeta.addRequestMeta)(req, 'locale', initialLocaleResult.detectedLocale || defaultLocale);
+ // ensure locale is present for resolving routes
+ if (!initialLocaleResult.detectedLocale && !initialLocaleResult.pathname.startsWith('/_next/')) {
+ parsedUrl.pathname = (0, _addpathprefix.addPathPrefix)(initialLocaleResult.pathname === '/' ? `/${defaultLocale}` : (0, _addpathprefix.addPathPrefix)(initialLocaleResult.pathname || '', `/${defaultLocale}`), hadBasePath ? config.basePath : '');
+ if (hadTrailingSlash) {
+ parsedUrl.pathname = maybeAddTrailingSlash(parsedUrl.pathname);
+ }
+ }
+ }
+ const checkLocaleApi = (pathname)=>{
+ if (config.i18n && pathname === urlNoQuery && (initialLocaleResult == null ? void 0 : initialLocaleResult.detectedLocale) && (0, _pathhasprefix.pathHasPrefix)(initialLocaleResult.pathname, '/api')) {
+ return true;
+ }
+ };
+ async function checkTrue() {
+ const pathname = parsedUrl.pathname || '/';
+ if (checkLocaleApi(pathname)) {
+ return;
+ }
+ if (!(invokedOutputs == null ? void 0 : invokedOutputs.has(pathname))) {
+ const output = await fsChecker.getItem(pathname);
+ if (output) {
+ if (config.useFileSystemPublicRoutes || didRewrite || output.type !== 'appFile' && output.type !== 'pageFile') {
+ return output;
+ }
+ }
+ }
+ const dynamicRoutes = fsChecker.getDynamicRoutes();
+ let curPathname = parsedUrl.pathname;
+ if (config.basePath) {
+ if (!(0, _pathhasprefix.pathHasPrefix)(curPathname || '', config.basePath)) {
+ return;
+ }
+ curPathname = (curPathname == null ? void 0 : curPathname.substring(config.basePath.length)) || '/';
+ }
+ const localeResult = fsChecker.handleLocale(curPathname || '');
+ for (const route of dynamicRoutes){
+ // when resolving fallback: false the
+ // render worker may return a no-fallback response
+ // which signals we need to continue resolving.
+ // TODO: optimize this to collect static paths
+ // to use at the routing layer
+ if (invokedOutputs == null ? void 0 : invokedOutputs.has(route.page)) {
+ continue;
+ }
+ const params = route.match(localeResult.pathname);
+ if (params) {
+ const pageOutput = await fsChecker.getItem((0, _addpathprefix.addPathPrefix)(route.page, config.basePath || ''));
+ // i18n locales aren't matched for app dir
+ if ((pageOutput == null ? void 0 : pageOutput.type) === 'appFile' && (initialLocaleResult == null ? void 0 : initialLocaleResult.detectedLocale)) {
+ continue;
+ }
+ if (pageOutput && (curPathname == null ? void 0 : curPathname.startsWith('/_next/data'))) {
+ (0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
+ }
+ if (config.useFileSystemPublicRoutes || didRewrite) {
+ return pageOutput;
+ }
+ }
+ }
+ }
+ const normalizers = {
+ basePath: config.basePath && config.basePath !== '/' ? new _basepath.BasePathPathnameNormalizer(config.basePath) : undefined,
+ data: new _nextdata.NextDataPathnameNormalizer(fsChecker.buildId)
+ };
+ async function handleRoute(route) {
+ let curPathname = parsedUrl.pathname || '/';
+ if (config.i18n && route.internal) {
+ const hadTrailingSlash = curPathname.endsWith('/');
+ if (config.basePath) {
+ curPathname = (0, _removepathprefix.removePathPrefix)(curPathname, config.basePath);
+ }
+ const hadBasePath = curPathname !== parsedUrl.pathname;
+ const localeResult = (0, _normalizelocalepath.normalizeLocalePath)(curPathname, config.i18n.locales);
+ const isDefaultLocale = localeResult.detectedLocale === defaultLocale;
+ if (isDefaultLocale) {
+ curPathname = localeResult.pathname === '/' && hadBasePath ? config.basePath : (0, _addpathprefix.addPathPrefix)(localeResult.pathname, hadBasePath ? config.basePath : '');
+ } else if (hadBasePath) {
+ curPathname = curPathname === '/' ? config.basePath : (0, _addpathprefix.addPathPrefix)(curPathname, config.basePath);
+ }
+ if ((isDefaultLocale || hadBasePath) && hadTrailingSlash) {
+ curPathname = maybeAddTrailingSlash(curPathname);
+ }
+ }
+ let params = route.match(curPathname);
+ if ((route.has || route.missing) && params) {
+ const hasParams = (0, _preparedestination.matchHas)(req, parsedUrl.query, route.has, route.missing);
+ if (hasParams) {
+ Object.assign(params, hasParams);
+ } else {
+ params = false;
+ }
+ }
+ if (params) {
+ if (fsChecker.exportPathMapRoutes && route.name === 'before_files_end') {
+ for (const exportPathMapRoute of fsChecker.exportPathMapRoutes){
+ const result = await handleRoute(exportPathMapRoute);
+ if (result) {
+ return result;
+ }
+ }
+ }
+ if (route.name === 'middleware_next_data' && parsedUrl.pathname) {
+ var _fsChecker_getMiddlewareMatchers;
+ if ((_fsChecker_getMiddlewareMatchers = fsChecker.getMiddlewareMatchers()) == null ? void 0 : _fsChecker_getMiddlewareMatchers.length) {
+ var _normalizers_basePath;
+ let normalized = parsedUrl.pathname;
+ // Remove the base path if it exists.
+ const hadBasePath = (_normalizers_basePath = normalizers.basePath) == null ? void 0 : _normalizers_basePath.match(parsedUrl.pathname);
+ if (hadBasePath && normalizers.basePath) {
+ normalized = normalizers.basePath.normalize(normalized, true);
+ }
+ let updated = false;
+ if (normalizers.data.match(normalized)) {
+ updated = true;
+ (0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
+ normalized = normalizers.data.normalize(normalized, true);
+ }
+ if (config.i18n) {
+ const curLocaleResult = (0, _normalizelocalepath.normalizeLocalePath)(normalized, config.i18n.locales);
+ if (curLocaleResult.detectedLocale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', curLocaleResult.detectedLocale);
+ }
+ }
+ // If we updated the pathname, and it had a base path, re-add the
+ // base path.
+ if (updated) {
+ if (hadBasePath) {
+ normalized = _nodepath.default.posix.join(config.basePath, normalized);
+ }
+ // Re-add the trailing slash (if required).
+ normalized = maybeAddTrailingSlash(normalized);
+ parsedUrl.pathname = normalized;
+ }
+ }
+ }
+ if (route.name === 'check_fs') {
+ const pathname = parsedUrl.pathname || '/';
+ if ((invokedOutputs == null ? void 0 : invokedOutputs.has(pathname)) || checkLocaleApi(pathname)) {
+ return;
+ }
+ const output = await fsChecker.getItem(pathname);
+ if (output && !(config.i18n && (initialLocaleResult == null ? void 0 : initialLocaleResult.detectedLocale) && (0, _pathhasprefix.pathHasPrefix)(pathname, '/api'))) {
+ if (config.useFileSystemPublicRoutes || didRewrite || output.type !== 'appFile' && output.type !== 'pageFile') {
+ matchedOutput = output;
+ if (output.locale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', output.locale);
+ }
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true,
+ matchedOutput
+ };
+ }
+ }
+ }
+ if (!opts.minimalMode && route.name === 'middleware') {
+ const match = fsChecker.getMiddlewareMatchers();
+ let maybeDecodedPathname = parsedUrl.pathname || '/';
+ try {
+ maybeDecodedPathname = decodeURIComponent(maybeDecodedPathname);
+ } catch {
+ /* non-fatal we can't decode so can't match it */ }
+ if (// @ts-expect-error BaseNextRequest stuff
+ (match == null ? void 0 : match(parsedUrl.pathname, req, parsedUrl.query)) || (match == null ? void 0 : match(maybeDecodedPathname, // @ts-expect-error BaseNextRequest stuff
+ req, parsedUrl.query))) {
+ if (ensureMiddleware) {
+ await ensureMiddleware(req.url);
+ }
+ const serverResult = await (renderServer == null ? void 0 : renderServer.initialize(renderServerOpts));
+ if (!serverResult) {
+ throw Object.defineProperty(new Error(`Failed to initialize render server "middleware"`), "__NEXT_ERROR_CODE", {
+ value: "E222",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ (0, _requestmeta.addRequestMeta)(req, 'invokePath', '');
+ (0, _requestmeta.addRequestMeta)(req, 'invokeOutput', '');
+ (0, _requestmeta.addRequestMeta)(req, 'invokeQuery', {});
+ (0, _requestmeta.addRequestMeta)(req, 'middlewareInvoke', true);
+ debug('invoking middleware', req.url, req.headers);
+ let middlewareRes = undefined;
+ let bodyStream = undefined;
+ try {
+ try {
+ await serverResult.requestHandler(req, res, parsedUrl);
+ } catch (err) {
+ if (!('result' in err) || !('response' in err.result)) {
+ throw err;
+ }
+ middlewareRes = err.result.response;
+ res.statusCode = middlewareRes.status;
+ if (middlewareRes.body) {
+ bodyStream = middlewareRes.body;
+ } else if (middlewareRes.status) {
+ bodyStream = new ReadableStream({
+ start (controller) {
+ controller.enqueue('');
+ controller.close();
+ }
+ });
+ }
+ }
+ } catch (e) {
+ // If the client aborts before we can receive a response object
+ // (when the headers are flushed), then we can early exit without
+ // further processing.
+ if ((0, _pipereadable.isAbortError)(e)) {
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true
+ };
+ }
+ throw e;
+ }
+ if (res.closed || res.finished || !middlewareRes) {
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true
+ };
+ }
+ const middlewareHeaders = (0, _utils1.toNodeOutgoingHttpHeaders)(middlewareRes.headers);
+ debug('middleware res', middlewareRes.status, middlewareHeaders);
+ if (middlewareHeaders['x-middleware-override-headers']) {
+ const overriddenHeaders = new Set();
+ let overrideHeaders = middlewareHeaders['x-middleware-override-headers'];
+ if (typeof overrideHeaders === 'string') {
+ overrideHeaders = overrideHeaders.split(',');
+ }
+ for (const key of overrideHeaders){
+ overriddenHeaders.add(key.trim());
+ }
+ delete middlewareHeaders['x-middleware-override-headers'];
+ // Delete headers.
+ for (const key of Object.keys(req.headers)){
+ if (!overriddenHeaders.has(key)) {
+ delete req.headers[key];
+ }
+ }
+ // Update or add headers.
+ for (const key of overriddenHeaders.keys()){
+ const valueKey = 'x-middleware-request-' + key;
+ const newValue = middlewareHeaders[valueKey];
+ const oldValue = req.headers[key];
+ if (oldValue !== newValue) {
+ req.headers[key] = newValue === null ? undefined : newValue;
+ }
+ delete middlewareHeaders[valueKey];
+ }
+ }
+ if (!middlewareHeaders['x-middleware-rewrite'] && !middlewareHeaders['x-middleware-next'] && !middlewareHeaders['location']) {
+ middlewareHeaders['x-middleware-refresh'] = '1';
+ }
+ delete middlewareHeaders['x-middleware-next'];
+ for (const [key, value] of Object.entries({
+ ...(0, _utils.filterReqHeaders)(middlewareHeaders, _utils.ipcForbiddenHeaders)
+ })){
+ if ([
+ 'content-length',
+ 'x-middleware-rewrite',
+ 'x-middleware-redirect',
+ 'x-middleware-refresh'
+ ].includes(key)) {
+ continue;
+ }
+ // for set-cookie, the header shouldn't be added to the response
+ // as it's only needed for the request to the middleware function.
+ if (key === 'x-middleware-set-cookie') {
+ req.headers[key] = value;
+ continue;
+ }
+ if (value) {
+ resHeaders[key] = value;
+ req.headers[key] = value;
+ }
+ }
+ if (middlewareHeaders['x-middleware-rewrite']) {
+ const value = middlewareHeaders['x-middleware-rewrite'];
+ const destination = (0, _relativizeurl.getRelativeURL)(value, initUrl);
+ resHeaders['x-middleware-rewrite'] = destination;
+ parsedUrl = _url.default.parse(destination, true);
+ if (parsedUrl.protocol) {
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true
+ };
+ }
+ if (config.i18n) {
+ const curLocaleResult = (0, _normalizelocalepath.normalizeLocalePath)(parsedUrl.pathname || '', config.i18n.locales);
+ if (curLocaleResult.detectedLocale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', curLocaleResult.detectedLocale);
+ }
+ }
+ }
+ if (middlewareHeaders['location']) {
+ const value = middlewareHeaders['location'];
+ const rel = (0, _relativizeurl.getRelativeURL)(value, initUrl);
+ resHeaders['location'] = rel;
+ parsedUrl = _url.default.parse(rel, true);
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true,
+ statusCode: middlewareRes.status
+ };
+ }
+ if (middlewareHeaders['x-middleware-refresh']) {
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true,
+ bodyStream,
+ statusCode: middlewareRes.status
+ };
+ }
+ }
+ }
+ // handle redirect
+ if (('statusCode' in route || 'permanent' in route) && route.destination) {
+ const { parsedDestination } = (0, _preparedestination.prepareDestination)({
+ appendParamsToQuery: false,
+ destination: route.destination,
+ params: params,
+ query: parsedUrl.query
+ });
+ const { query } = parsedDestination;
+ delete parsedDestination.query;
+ parsedDestination.search = (0, _serverrouteutils.stringifyQuery)(req, query);
+ parsedDestination.pathname = (0, _utils2.normalizeRepeatedSlashes)(parsedDestination.pathname);
+ return {
+ finished: true,
+ // @ts-expect-error custom ParsedUrl
+ parsedUrl: parsedDestination,
+ statusCode: (0, _redirectstatus.getRedirectStatus)(route)
+ };
+ }
+ // handle headers
+ if (route.headers) {
+ const hasParams = Object.keys(params).length > 0;
+ for (const header of route.headers){
+ let { key, value } = header;
+ if (hasParams) {
+ key = (0, _preparedestination.compileNonPath)(key, params);
+ value = (0, _preparedestination.compileNonPath)(value, params);
+ }
+ if (key.toLowerCase() === 'set-cookie') {
+ if (!Array.isArray(resHeaders[key])) {
+ const val = resHeaders[key];
+ resHeaders[key] = typeof val === 'string' ? [
+ val
+ ] : [];
+ }
+ ;
+ resHeaders[key].push(value);
+ } else {
+ resHeaders[key] = value;
+ }
+ }
+ }
+ // handle rewrite
+ if (route.destination) {
+ let rewriteParams = params;
+ try {
+ // An interception rewrite might reference a dynamic param for a route the user
+ // is currently on, which wouldn't be extractable from the matched route params.
+ // This attempts to extract the dynamic params from the provided router state.
+ if ((0, _generateinterceptionroutesrewrites.isInterceptionRouteRewrite)(route)) {
+ const stateHeader = req.headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER.toLowerCase()];
+ if (stateHeader) {
+ rewriteParams = {
+ ...(0, _computechangedpath.getSelectedParams)((0, _parseandvalidateflightrouterstate.parseAndValidateFlightRouterState)(stateHeader)),
+ ...params
+ };
+ }
+ }
+ } catch (err) {
+ // this is a no-op -- we couldn't extract dynamic params from the provided router state,
+ // so we'll just use the params from the route matcher
+ }
+ // We extract the search params of the destination so we can set it on
+ // the response headers. We don't want to use the following
+ // `parsedDestination` as the query object is mutated.
+ const { search: destinationSearch, pathname: destinationPathname } = (0, _preparedestination.parseDestination)({
+ destination: route.destination,
+ params: rewriteParams,
+ query: parsedUrl.query
+ });
+ const { parsedDestination } = (0, _preparedestination.prepareDestination)({
+ appendParamsToQuery: true,
+ destination: route.destination,
+ params: rewriteParams,
+ query: parsedUrl.query
+ });
+ if (parsedDestination.protocol) {
+ return {
+ // @ts-expect-error custom ParsedUrl
+ parsedUrl: parsedDestination,
+ finished: true
+ };
+ }
+ // Set the rewrite headers only if this is a RSC request.
+ if (req.headers[_approuterheaders.RSC_HEADER.toLowerCase()] === '1') {
+ // We set the rewritten path and query headers on the response now
+ // that we know that the it's not an external rewrite.
+ if (parsedUrl.pathname !== destinationPathname) {
+ res.setHeader(_approuterheaders.NEXT_REWRITTEN_PATH_HEADER, destinationPathname);
+ }
+ if (destinationSearch) {
+ res.setHeader(_approuterheaders.NEXT_REWRITTEN_QUERY_HEADER, // remove the leading ? from the search
+ destinationSearch.slice(1));
+ }
+ }
+ if (config.i18n) {
+ const curLocaleResult = (0, _normalizelocalepath.normalizeLocalePath)((0, _removepathprefix.removePathPrefix)(parsedDestination.pathname, config.basePath), config.i18n.locales);
+ if (curLocaleResult.detectedLocale) {
+ (0, _requestmeta.addRequestMeta)(req, 'locale', curLocaleResult.detectedLocale);
+ }
+ }
+ didRewrite = true;
+ parsedUrl.pathname = parsedDestination.pathname;
+ Object.assign(parsedUrl.query, parsedDestination.query);
+ }
+ // handle check: true
+ if (route.check) {
+ const output = await checkTrue();
+ if (output) {
+ return {
+ parsedUrl,
+ resHeaders,
+ finished: true,
+ matchedOutput: output
+ };
+ }
+ }
+ }
+ }
+ for (const route of routes){
+ const result = await handleRoute(route);
+ if (result) {
+ return result;
+ }
+ }
+ return {
+ finished,
+ parsedUrl,
+ resHeaders,
+ matchedOutput
+ };
+ }
+ return resolveRoutes;
+}
+
+//# sourceMappingURL=resolve-routes.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/router-server-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/router-server-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..4949014569bc1c33809c7ff319dd75e3f36f6011
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/router-server-context.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ RouterServerContextSymbol: null,
+ routerServerGlobal: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ RouterServerContextSymbol: function() {
+ return RouterServerContextSymbol;
+ },
+ routerServerGlobal: function() {
+ return routerServerGlobal;
+ }
+});
+const RouterServerContextSymbol = Symbol.for('@next/router-server-methods');
+const routerServerGlobal = globalThis;
+
+//# sourceMappingURL=router-server-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js
new file mode 100644
index 0000000000000000000000000000000000000000..effe69b5e73e756f9c54ffd014d1abf303368201
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js
@@ -0,0 +1,808 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ propagateServerField: null,
+ setupDevBundler: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ propagateServerField: function() {
+ return propagateServerField;
+ },
+ setupDevBundler: function() {
+ return setupDevBundler;
+ }
+});
+const _getpagestaticinfo = require("../../../build/analysis/get-page-static-info");
+const _swc = require("../../../build/swc");
+const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
+const _promises = require("fs/promises");
+const _url = /*#__PURE__*/ _interop_require_default(require("url"));
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _querystring = /*#__PURE__*/ _interop_require_default(require("querystring"));
+const _watchpack = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/watchpack"));
+const _env = require("@next/env");
+const _findup = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/find-up"));
+const _filesystem = require("./filesystem");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../build/output/log"));
+const _hotreloaderwebpack = /*#__PURE__*/ _interop_require_default(require("../../dev/hot-reloader-webpack"));
+const _shared = require("../../../trace/shared");
+const _loadjsconfig = /*#__PURE__*/ _interop_require_default(require("../../../build/load-jsconfig"));
+const _findpagefile = require("../find-page-file");
+const _events = require("../../../telemetry/events");
+const _utils = require("../../../shared/lib/router/utils");
+const _entries = require("../../../build/entries");
+const _verifytypescriptsetup = require("../../../lib/verify-typescript-setup");
+const _verifypartytownsetup = require("../../../lib/verify-partytown-setup");
+const _routeregex = require("../../../shared/lib/router/utils/route-regex");
+const _apppaths = require("../../../shared/lib/router/utils/app-paths");
+const _builddataroute = require("./build-data-route");
+const _routematcher = require("../../../shared/lib/router/utils/route-matcher");
+const _normalizepathsep = require("../../../shared/lib/page-path/normalize-path-sep");
+const _createclientrouterfilter = require("../../../lib/create-client-router-filter");
+const _absolutepathtopage = require("../../../shared/lib/page-path/absolute-path-to-page");
+const _generateinterceptionroutesrewrites = require("../../../lib/generate-interception-routes-rewrites");
+const _constants = require("../../../shared/lib/constants");
+const _middlewareroutematcher = require("../../../shared/lib/router/utils/middleware-route-matcher");
+const _utils1 = require("../../../build/utils");
+const _shared1 = require("../../../build/webpack/plugins/next-types-plugin/shared");
+const _hotreloadertypes = require("../../dev/hot-reloader-types");
+const _pagetypes = require("../../../lib/page-types");
+const _hotreloaderturbopack = require("../../dev/hot-reloader-turbopack");
+const _encryptionutilsserver = require("../../app-render/encryption-utils-server");
+const _ismetadataroute = require("../../../lib/metadata/is-metadata-route");
+const _getmetadataroute = require("../../../lib/metadata/get-metadata-route");
+const _createenvdefinitions = require("../experimental/create-env-definitions");
+const _jsconfigpathsplugin = require("../../../build/webpack/plugins/jsconfig-paths-plugin");
+const _store = require("../../../build/output/store");
+const _utils2 = require("../../../shared/lib/turbopack/utils");
+const _defineenv = require("../../../build/define-env");
+const _normalizepath = require("../../../lib/normalize-path");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+async function verifyTypeScript(opts) {
+ let usingTypeScript = false;
+ const verifyResult = await (0, _verifytypescriptsetup.verifyTypeScriptSetup)({
+ dir: opts.dir,
+ distDir: opts.nextConfig.distDir,
+ intentDirs: [
+ opts.pagesDir,
+ opts.appDir
+ ].filter(Boolean),
+ typeCheckPreflight: false,
+ tsconfigPath: opts.nextConfig.typescript.tsconfigPath,
+ disableStaticImages: opts.nextConfig.images.disableStaticImages,
+ hasAppDir: !!opts.appDir,
+ hasPagesDir: !!opts.pagesDir
+ });
+ if (verifyResult.version) {
+ usingTypeScript = true;
+ }
+ return usingTypeScript;
+}
+async function propagateServerField(opts, field, args) {
+ var _opts_renderServer_instance, _opts_renderServer;
+ await ((_opts_renderServer = opts.renderServer) == null ? void 0 : (_opts_renderServer_instance = _opts_renderServer.instance) == null ? void 0 : _opts_renderServer_instance.propagateServerField(opts.dir, field, args));
+}
+async function startWatcher(opts) {
+ const { nextConfig, appDir, pagesDir, dir, resetFetch } = opts;
+ const { useFileSystemPublicRoutes } = nextConfig;
+ const usingTypeScript = await verifyTypeScript(opts);
+ const distDir = _path.default.join(opts.dir, opts.nextConfig.distDir);
+ // we ensure the types directory exists here
+ if (usingTypeScript) {
+ const distTypesDir = _path.default.join(distDir, 'types');
+ if (!_fs.default.existsSync(distTypesDir)) {
+ await (0, _promises.mkdir)(distTypesDir, {
+ recursive: true
+ });
+ }
+ }
+ (0, _shared.setGlobal)('distDir', distDir);
+ (0, _shared.setGlobal)('phase', _constants.PHASE_DEVELOPMENT_SERVER);
+ const validFileMatcher = (0, _findpagefile.createValidFileMatcher)(nextConfig.pageExtensions, appDir);
+ const serverFields = {};
+ // Update logging state once based on next.config.js when initializing
+ _store.store.setState({
+ logging: nextConfig.logging !== false
+ });
+ const hotReloader = opts.turbo ? await (0, _hotreloaderturbopack.createHotReloaderTurbopack)(opts, serverFields, distDir, resetFetch) : new _hotreloaderwebpack.default(opts.dir, {
+ isSrcDir: opts.isSrcDir,
+ appDir,
+ pagesDir,
+ distDir,
+ config: opts.nextConfig,
+ buildId: 'development',
+ encryptionKey: await (0, _encryptionutilsserver.generateEncryptionKeyBase64)({
+ isBuild: false,
+ distDir
+ }),
+ telemetry: opts.telemetry,
+ rewrites: opts.fsChecker.rewrites,
+ previewProps: opts.fsChecker.prerenderManifest.preview,
+ resetFetch
+ });
+ await hotReloader.start();
+ // have to write this after starting hot-reloader since that
+ // cleans the dist dir
+ const routesManifestPath = _path.default.join(distDir, _constants.ROUTES_MANIFEST);
+ const routesManifest = {
+ version: 3,
+ caseSensitive: !!nextConfig.experimental.caseSensitiveRoutes,
+ basePath: nextConfig.basePath,
+ rewrites: opts.fsChecker.rewrites,
+ redirects: opts.fsChecker.redirects,
+ headers: opts.fsChecker.headers,
+ i18n: nextConfig.i18n || undefined,
+ skipMiddlewareUrlNormalize: nextConfig.skipMiddlewareUrlNormalize
+ };
+ await _fs.default.promises.writeFile(routesManifestPath, JSON.stringify(routesManifest));
+ const prerenderManifestPath = _path.default.join(distDir, _constants.PRERENDER_MANIFEST);
+ await _fs.default.promises.writeFile(prerenderManifestPath, JSON.stringify(opts.fsChecker.prerenderManifest, null, 2));
+ if (opts.nextConfig.experimental.nextScriptWorkers) {
+ await (0, _verifypartytownsetup.verifyPartytownSetup)(opts.dir, _path.default.join(distDir, _constants.CLIENT_STATIC_FILES_PATH));
+ }
+ opts.fsChecker.ensureCallback(async function ensure(item) {
+ if (item.type === 'appFile' || item.type === 'pageFile') {
+ await hotReloader.ensurePage({
+ clientOnly: false,
+ page: item.itemPath,
+ isApp: item.type === 'appFile',
+ definition: undefined
+ });
+ }
+ });
+ let resolved = false;
+ let prevSortedRoutes = [];
+ await new Promise(async (resolve, reject)=>{
+ if (pagesDir) {
+ // Watchpack doesn't emit an event for an empty directory
+ _fs.default.readdir(pagesDir, (_, files)=>{
+ if (files == null ? void 0 : files.length) {
+ return;
+ }
+ if (!resolved) {
+ resolve();
+ resolved = true;
+ }
+ });
+ }
+ const pages = pagesDir ? [
+ pagesDir
+ ] : [];
+ const app = appDir ? [
+ appDir
+ ] : [];
+ const directories = [
+ ...pages,
+ ...app
+ ];
+ const rootDir = pagesDir || appDir;
+ const files = [
+ ...(0, _utils1.getPossibleMiddlewareFilenames)(_path.default.join(rootDir, '..'), nextConfig.pageExtensions),
+ ...(0, _utils1.getPossibleInstrumentationHookFilenames)(_path.default.join(rootDir, '..'), nextConfig.pageExtensions)
+ ];
+ let nestedMiddleware = [];
+ const envFiles = [
+ '.env.development.local',
+ '.env.local',
+ '.env.development',
+ '.env'
+ ].map((file)=>_path.default.join(dir, file));
+ files.push(...envFiles);
+ // tsconfig/jsconfig paths hot-reloading
+ const tsconfigPaths = [
+ _path.default.join(dir, 'tsconfig.json'),
+ _path.default.join(dir, 'jsconfig.json')
+ ];
+ files.push(...tsconfigPaths);
+ const wp = new _watchpack.default({
+ ignored: (pathname)=>{
+ return !files.some((file)=>file.startsWith(pathname)) && !directories.some((d)=>pathname.startsWith(d) || d.startsWith(pathname));
+ }
+ });
+ const fileWatchTimes = new Map();
+ let enabledTypeScript = usingTypeScript;
+ let previousClientRouterFilters;
+ let previousConflictingPagePaths = new Set();
+ wp.on('aggregated', async ()=>{
+ var _serverFields_middleware, _serverFields_middleware1;
+ let middlewareMatchers;
+ const routedPages = [];
+ const knownFiles = wp.getTimeInfoEntries();
+ const appPaths = {};
+ const pageNameSet = new Set();
+ const conflictingAppPagePaths = new Set();
+ const appPageFilePaths = new Map();
+ const pagesPageFilePaths = new Map();
+ let envChange = false;
+ let tsconfigChange = false;
+ let conflictingPageChange = 0;
+ let hasRootAppNotFound = false;
+ const { appFiles, pageFiles } = opts.fsChecker;
+ appFiles.clear();
+ pageFiles.clear();
+ _shared1.devPageFiles.clear();
+ const sortedKnownFiles = [
+ ...knownFiles.keys()
+ ].sort((0, _entries.sortByPageExts)(nextConfig.pageExtensions));
+ for (const fileName of sortedKnownFiles){
+ if (!files.includes(fileName) && !directories.some((d)=>fileName.startsWith(d))) {
+ continue;
+ }
+ const meta = knownFiles.get(fileName);
+ const watchTime = fileWatchTimes.get(fileName);
+ // If the file is showing up for the first time or the meta.timestamp is changed since last time
+ const watchTimeChange = watchTime === undefined || watchTime && watchTime !== (meta == null ? void 0 : meta.timestamp);
+ fileWatchTimes.set(fileName, meta == null ? void 0 : meta.timestamp);
+ if (envFiles.includes(fileName)) {
+ if (watchTimeChange) {
+ envChange = true;
+ }
+ continue;
+ }
+ if (tsconfigPaths.includes(fileName)) {
+ if (fileName.endsWith('tsconfig.json')) {
+ enabledTypeScript = true;
+ }
+ if (watchTimeChange) {
+ tsconfigChange = true;
+ }
+ continue;
+ }
+ if ((meta == null ? void 0 : meta.accuracy) === undefined || !validFileMatcher.isPageFile(fileName)) {
+ continue;
+ }
+ const isAppPath = Boolean(appDir && (0, _normalizepathsep.normalizePathSep)(fileName).startsWith((0, _normalizepathsep.normalizePathSep)(appDir) + '/'));
+ const isPagePath = Boolean(pagesDir && (0, _normalizepathsep.normalizePathSep)(fileName).startsWith((0, _normalizepathsep.normalizePathSep)(pagesDir) + '/'));
+ const rootFile = (0, _absolutepathtopage.absolutePathToPage)(fileName, {
+ dir: dir,
+ extensions: nextConfig.pageExtensions,
+ keepIndex: false,
+ pagesType: _pagetypes.PAGE_TYPES.ROOT
+ });
+ if ((0, _utils1.isMiddlewareFile)(rootFile)) {
+ var _staticInfo_middleware;
+ const staticInfo = await (0, _entries.getStaticInfoIncludingLayouts)({
+ pageFilePath: fileName,
+ config: nextConfig,
+ appDir: appDir,
+ page: rootFile,
+ isDev: true,
+ isInsideAppDir: isAppPath,
+ pageExtensions: nextConfig.pageExtensions
+ });
+ if (nextConfig.output === 'export') {
+ _log.error('Middleware cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export');
+ continue;
+ }
+ serverFields.actualMiddlewareFile = rootFile;
+ await propagateServerField(opts, 'actualMiddlewareFile', serverFields.actualMiddlewareFile);
+ middlewareMatchers = ((_staticInfo_middleware = staticInfo.middleware) == null ? void 0 : _staticInfo_middleware.matchers) || [
+ {
+ regexp: '.*',
+ originalSource: '/:path*'
+ }
+ ];
+ continue;
+ }
+ if ((0, _utils1.isInstrumentationHookFile)(rootFile)) {
+ serverFields.actualInstrumentationHookFile = rootFile;
+ await propagateServerField(opts, 'actualInstrumentationHookFile', serverFields.actualInstrumentationHookFile);
+ continue;
+ }
+ if (fileName.endsWith('.ts') || fileName.endsWith('.tsx')) {
+ enabledTypeScript = true;
+ }
+ if (!(isAppPath || isPagePath)) {
+ continue;
+ }
+ // Collect all current filenames for the TS plugin to use
+ _shared1.devPageFiles.add(fileName);
+ let pageName = (0, _absolutepathtopage.absolutePathToPage)(fileName, {
+ dir: isAppPath ? appDir : pagesDir,
+ extensions: nextConfig.pageExtensions,
+ keepIndex: isAppPath,
+ pagesType: isAppPath ? _pagetypes.PAGE_TYPES.APP : _pagetypes.PAGE_TYPES.PAGES
+ });
+ if (isAppPath && appDir && (0, _ismetadataroute.isMetadataRouteFile)(fileName.replace(appDir, ''), nextConfig.pageExtensions, true)) {
+ const staticInfo = await (0, _getpagestaticinfo.getPageStaticInfo)({
+ pageFilePath: fileName,
+ nextConfig: {},
+ page: pageName,
+ isDev: true,
+ pageType: _pagetypes.PAGE_TYPES.APP
+ });
+ pageName = (0, _getmetadataroute.normalizeMetadataPageToRoute)(pageName, !!(staticInfo.generateSitemaps || staticInfo.generateImageMetadata));
+ }
+ if (!isAppPath && pageName.startsWith('/api/') && nextConfig.output === 'export') {
+ _log.error('API Routes cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export');
+ continue;
+ }
+ if (isAppPath) {
+ const isRootNotFound = validFileMatcher.isRootNotFound(fileName);
+ hasRootAppNotFound = true;
+ if (isRootNotFound) {
+ continue;
+ }
+ if (!isRootNotFound && !validFileMatcher.isAppRouterPage(fileName)) {
+ continue;
+ }
+ // Ignore files/directories starting with `_` in the app directory
+ if ((0, _normalizepathsep.normalizePathSep)(pageName).includes('/_')) {
+ continue;
+ }
+ const originalPageName = pageName;
+ pageName = (0, _apppaths.normalizeAppPath)(pageName).replace(/%5F/g, '_');
+ if (!appPaths[pageName]) {
+ appPaths[pageName] = [];
+ }
+ appPaths[pageName].push(opts.turbo ? originalPageName.replace(/%5F/g, '_') : originalPageName);
+ if (useFileSystemPublicRoutes) {
+ appFiles.add(pageName);
+ }
+ if (routedPages.includes(pageName)) {
+ continue;
+ }
+ } else {
+ if (useFileSystemPublicRoutes) {
+ pageFiles.add(pageName);
+ // always add to nextDataRoutes for now but in future only add
+ // entries that actually use getStaticProps/getServerSideProps
+ opts.fsChecker.nextDataRoutes.add(pageName);
+ }
+ }
+ ;
+ (isAppPath ? appPageFilePaths : pagesPageFilePaths).set(pageName, fileName);
+ if (appDir && pageNameSet.has(pageName)) {
+ conflictingAppPagePaths.add(pageName);
+ } else {
+ pageNameSet.add(pageName);
+ }
+ /**
+ * If there is a middleware that is not declared in the root we will
+ * warn without adding it so it doesn't make its way into the system.
+ */ if (/[\\\\/]_middleware$/.test(pageName)) {
+ nestedMiddleware.push(pageName);
+ continue;
+ }
+ routedPages.push(pageName);
+ }
+ const numConflicting = conflictingAppPagePaths.size;
+ conflictingPageChange = numConflicting - previousConflictingPagePaths.size;
+ if (conflictingPageChange !== 0) {
+ if (numConflicting > 0) {
+ let errorMessage = `Conflicting app and page file${numConflicting === 1 ? ' was' : 's were'} found, please remove the conflicting files to continue:\n`;
+ for (const p of conflictingAppPagePaths){
+ const appPath = _path.default.relative(dir, appPageFilePaths.get(p));
+ const pagesPath = _path.default.relative(dir, pagesPageFilePaths.get(p));
+ errorMessage += ` "${pagesPath}" - "${appPath}"\n`;
+ }
+ hotReloader.setHmrServerError(Object.defineProperty(new Error(errorMessage), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ }));
+ } else if (numConflicting === 0) {
+ hotReloader.clearHmrServerError();
+ await propagateServerField(opts, 'reloadMatchers', undefined);
+ }
+ }
+ previousConflictingPagePaths = conflictingAppPagePaths;
+ let clientRouterFilters;
+ if (nextConfig.experimental.clientRouterFilter) {
+ clientRouterFilters = (0, _createclientrouterfilter.createClientRouterFilter)(Object.keys(appPaths), nextConfig.experimental.clientRouterFilterRedirects ? (nextConfig._originalRedirects || []).filter((r)=>!r.internal) : [], nextConfig.experimental.clientRouterFilterAllowedRate);
+ if (!previousClientRouterFilters || JSON.stringify(previousClientRouterFilters) !== JSON.stringify(clientRouterFilters)) {
+ envChange = true;
+ previousClientRouterFilters = clientRouterFilters;
+ }
+ }
+ if (!usingTypeScript && enabledTypeScript) {
+ // we tolerate the error here as this is best effort
+ // and the manual install command will be shown
+ await verifyTypeScript(opts).then(()=>{
+ tsconfigChange = true;
+ }).catch(()=>{});
+ }
+ if (envChange || tsconfigChange) {
+ var _hotReloader_activeWebpackConfigs;
+ if (envChange) {
+ var _nextConfig_experimental;
+ const { loadedEnvFiles } = (0, _env.loadEnvConfig)(dir, process.env.NODE_ENV === 'development', _log, true, (envFilePath)=>{
+ _log.info(`Reload env: ${envFilePath}`);
+ });
+ if (usingTypeScript && ((_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.typedEnv)) {
+ // do not await, this is not essential for further process
+ (0, _createenvdefinitions.createEnvDefinitions)({
+ distDir,
+ loadedEnvFiles: [
+ ...loadedEnvFiles,
+ {
+ path: nextConfig.configFileName,
+ env: nextConfig.env,
+ contents: ''
+ }
+ ]
+ });
+ }
+ await propagateServerField(opts, 'loadEnvConfig', [
+ {
+ dev: true,
+ forceReload: true,
+ silent: true
+ }
+ ]);
+ }
+ let tsconfigResult;
+ if (tsconfigChange) {
+ try {
+ tsconfigResult = await (0, _loadjsconfig.default)(dir, nextConfig);
+ } catch (_) {
+ /* do we want to log if there are syntax errors in tsconfig while editing? */ }
+ }
+ if (hotReloader.turbopackProject) {
+ var _opts_nextConfig_turbopack;
+ const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
+ const rootPath = ((_opts_nextConfig_turbopack = opts.nextConfig.turbopack) == null ? void 0 : _opts_nextConfig_turbopack.root) || opts.nextConfig.outputFileTracingRoot || opts.dir;
+ await hotReloader.turbopackProject.update({
+ defineEnv: (0, _swc.createDefineEnv)({
+ isTurbopack: true,
+ clientRouterFilters,
+ config: nextConfig,
+ dev: true,
+ distDir,
+ fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,
+ hasRewrites,
+ // TODO: Implement
+ middlewareMatchers: undefined,
+ projectPath: opts.dir,
+ rewrites: opts.fsChecker.rewrites
+ }),
+ rootPath,
+ projectPath: (0, _normalizepath.normalizePath)(_path.default.relative(rootPath, dir))
+ });
+ }
+ (_hotReloader_activeWebpackConfigs = hotReloader.activeWebpackConfigs) == null ? void 0 : _hotReloader_activeWebpackConfigs.forEach((config, idx)=>{
+ const isClient = idx === 0;
+ const isNodeServer = idx === 1;
+ const isEdgeServer = idx === 2;
+ const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
+ if (tsconfigChange) {
+ var _config_resolve_plugins, _config_resolve;
+ (_config_resolve = config.resolve) == null ? void 0 : (_config_resolve_plugins = _config_resolve.plugins) == null ? void 0 : _config_resolve_plugins.forEach((plugin)=>{
+ // look for the JsConfigPathsPlugin and update with
+ // the latest paths/baseUrl config
+ if (plugin instanceof _jsconfigpathsplugin.JsConfigPathsPlugin && tsconfigResult) {
+ var _config_resolve_modules, _config_resolve, _jsConfig_compilerOptions;
+ const { resolvedBaseUrl, jsConfig } = tsconfigResult;
+ const currentResolvedBaseUrl = plugin.resolvedBaseUrl;
+ const resolvedUrlIndex = (_config_resolve = config.resolve) == null ? void 0 : (_config_resolve_modules = _config_resolve.modules) == null ? void 0 : _config_resolve_modules.findIndex((item)=>item === (currentResolvedBaseUrl == null ? void 0 : currentResolvedBaseUrl.baseUrl));
+ if (resolvedBaseUrl) {
+ if (resolvedBaseUrl.baseUrl !== (currentResolvedBaseUrl == null ? void 0 : currentResolvedBaseUrl.baseUrl)) {
+ // remove old baseUrl and add new one
+ if (resolvedUrlIndex && resolvedUrlIndex > -1) {
+ var _config_resolve_modules1, _config_resolve1;
+ (_config_resolve1 = config.resolve) == null ? void 0 : (_config_resolve_modules1 = _config_resolve1.modules) == null ? void 0 : _config_resolve_modules1.splice(resolvedUrlIndex, 1);
+ }
+ // If the resolvedBaseUrl is implicit we only remove the previous value.
+ // Only add the baseUrl if it's explicitly set in tsconfig/jsconfig
+ if (!resolvedBaseUrl.isImplicit) {
+ var _config_resolve_modules2, _config_resolve2;
+ (_config_resolve2 = config.resolve) == null ? void 0 : (_config_resolve_modules2 = _config_resolve2.modules) == null ? void 0 : _config_resolve_modules2.push(resolvedBaseUrl.baseUrl);
+ }
+ }
+ }
+ if ((jsConfig == null ? void 0 : (_jsConfig_compilerOptions = jsConfig.compilerOptions) == null ? void 0 : _jsConfig_compilerOptions.paths) && resolvedBaseUrl) {
+ Object.keys(plugin.paths).forEach((key)=>{
+ delete plugin.paths[key];
+ });
+ Object.assign(plugin.paths, jsConfig.compilerOptions.paths);
+ plugin.resolvedBaseUrl = resolvedBaseUrl;
+ }
+ }
+ });
+ }
+ if (envChange) {
+ var _config_plugins;
+ (_config_plugins = config.plugins) == null ? void 0 : _config_plugins.forEach((plugin)=>{
+ // we look for the DefinePlugin definitions so we can
+ // update them on the active compilers
+ if (plugin && typeof plugin.definitions === 'object' && plugin.definitions.__NEXT_DEFINE_ENV) {
+ const newDefine = (0, _defineenv.getDefineEnv)({
+ isTurbopack: false,
+ clientRouterFilters,
+ config: nextConfig,
+ dev: true,
+ distDir,
+ fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,
+ hasRewrites,
+ isClient,
+ isEdgeServer,
+ isNodeServer,
+ middlewareMatchers: undefined,
+ projectPath: opts.dir,
+ rewrites: opts.fsChecker.rewrites
+ });
+ Object.keys(plugin.definitions).forEach((key)=>{
+ if (!(key in newDefine)) {
+ delete plugin.definitions[key];
+ }
+ });
+ Object.assign(plugin.definitions, newDefine);
+ }
+ });
+ }
+ });
+ await hotReloader.invalidate({
+ reloadAfterInvalidation: envChange
+ });
+ }
+ if (nestedMiddleware.length > 0) {
+ _log.error(Object.defineProperty(new _utils1.NestedMiddlewareError(nestedMiddleware, dir, pagesDir || appDir), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ }).message);
+ nestedMiddleware = [];
+ }
+ // Make sure to sort parallel routes to make the result deterministic.
+ serverFields.appPathRoutes = Object.fromEntries(Object.entries(appPaths).map(([k, v])=>[
+ k,
+ v.sort()
+ ]));
+ await propagateServerField(opts, 'appPathRoutes', serverFields.appPathRoutes);
+ // TODO: pass this to fsChecker/next-dev-server?
+ serverFields.middleware = middlewareMatchers ? {
+ match: null,
+ page: '/',
+ matchers: middlewareMatchers
+ } : undefined;
+ await propagateServerField(opts, 'middleware', serverFields.middleware);
+ serverFields.hasAppNotFound = hasRootAppNotFound;
+ opts.fsChecker.middlewareMatcher = ((_serverFields_middleware = serverFields.middleware) == null ? void 0 : _serverFields_middleware.matchers) ? (0, _middlewareroutematcher.getMiddlewareRouteMatcher)((_serverFields_middleware1 = serverFields.middleware) == null ? void 0 : _serverFields_middleware1.matchers) : undefined;
+ const interceptionRoutes = (0, _generateinterceptionroutesrewrites.generateInterceptionRoutesRewrites)(Object.keys(appPaths), opts.nextConfig.basePath).map((item)=>(0, _filesystem.buildCustomRoute)('before_files_rewrite', item, opts.nextConfig.basePath, opts.nextConfig.experimental.caseSensitiveRoutes));
+ opts.fsChecker.rewrites.beforeFiles.push(...interceptionRoutes);
+ const exportPathMap = typeof nextConfig.exportPathMap === 'function' && await (nextConfig.exportPathMap == null ? void 0 : nextConfig.exportPathMap.call(nextConfig, {}, {
+ dev: true,
+ dir: opts.dir,
+ outDir: null,
+ distDir: distDir,
+ buildId: 'development'
+ })) || {};
+ const exportPathMapEntries = Object.entries(exportPathMap || {});
+ if (exportPathMapEntries.length > 0) {
+ opts.fsChecker.exportPathMapRoutes = exportPathMapEntries.map(([key, value])=>(0, _filesystem.buildCustomRoute)('before_files_rewrite', {
+ source: key,
+ destination: `${value.page}${value.query ? '?' : ''}${_querystring.default.stringify(value.query)}`
+ }, opts.nextConfig.basePath, opts.nextConfig.experimental.caseSensitiveRoutes));
+ }
+ try {
+ // we serve a separate manifest with all pages for the client in
+ // dev mode so that we can match a page after a rewrite on the client
+ // before it has been built and is populated in the _buildManifest
+ const sortedRoutes = (0, _utils.getSortedRoutes)(routedPages);
+ opts.fsChecker.dynamicRoutes = sortedRoutes.map((page)=>{
+ const regex = (0, _routeregex.getRouteRegex)(page);
+ return {
+ regex: regex.re.toString(),
+ match: (0, _routematcher.getRouteMatcher)(regex),
+ page
+ };
+ });
+ const dataRoutes = [];
+ for (const page of sortedRoutes){
+ const route = (0, _builddataroute.buildDataRoute)(page, 'development');
+ const routeRegex = (0, _routeregex.getRouteRegex)(route.page);
+ dataRoutes.push({
+ ...route,
+ regex: routeRegex.re.toString(),
+ match: (0, _routematcher.getRouteMatcher)({
+ // TODO: fix this in the manifest itself, must also be fixed in
+ // upstream builder that relies on this
+ re: opts.nextConfig.i18n ? new RegExp(route.dataRouteRegex.replace(`/development/`, `/development/(?[^/]+?)/`)) : new RegExp(route.dataRouteRegex),
+ groups: routeRegex.groups
+ })
+ });
+ }
+ opts.fsChecker.dynamicRoutes.unshift(...dataRoutes);
+ if (!(prevSortedRoutes == null ? void 0 : prevSortedRoutes.every((val, idx)=>val === sortedRoutes[idx]))) {
+ const addedRoutes = sortedRoutes.filter((route)=>!prevSortedRoutes.includes(route));
+ const removedRoutes = prevSortedRoutes.filter((route)=>!sortedRoutes.includes(route));
+ // emit the change so clients fetch the update
+ hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE,
+ data: [
+ {
+ devPagesManifest: true
+ }
+ ]
+ });
+ addedRoutes.forEach((route)=>{
+ hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE,
+ data: [
+ route
+ ]
+ });
+ });
+ removedRoutes.forEach((route)=>{
+ hotReloader.send({
+ action: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE,
+ data: [
+ route
+ ]
+ });
+ });
+ }
+ prevSortedRoutes = sortedRoutes;
+ if (!resolved) {
+ resolve();
+ resolved = true;
+ }
+ } catch (e) {
+ if (!resolved) {
+ reject(e);
+ resolved = true;
+ } else {
+ _log.warn('Failed to reload dynamic routes:', e);
+ }
+ } finally{
+ // Reload the matchers. The filesystem would have been written to,
+ // and the matchers need to re-scan it to update the router.
+ await propagateServerField(opts, 'reloadMatchers', undefined);
+ }
+ });
+ wp.watch({
+ directories: [
+ dir
+ ],
+ startTime: 0
+ });
+ });
+ const clientPagesManifestPath = `/_next/${_constants.CLIENT_STATIC_FILES_PATH}/development/${_constants.DEV_CLIENT_PAGES_MANIFEST}`;
+ opts.fsChecker.devVirtualFsItems.add(clientPagesManifestPath);
+ const devMiddlewareManifestPath = `/_next/${_constants.CLIENT_STATIC_FILES_PATH}/development/${_constants.DEV_CLIENT_MIDDLEWARE_MANIFEST}`;
+ opts.fsChecker.devVirtualFsItems.add(devMiddlewareManifestPath);
+ const devTurbopackMiddlewareManifestPath = `/_next/${_constants.CLIENT_STATIC_FILES_PATH}/development/${_constants.TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`;
+ opts.fsChecker.devVirtualFsItems.add(devTurbopackMiddlewareManifestPath);
+ async function requestHandler(req, res) {
+ var _parsedUrl_pathname, _parsedUrl_pathname1, _parsedUrl_pathname2;
+ const parsedUrl = _url.default.parse(req.url || '/');
+ if ((_parsedUrl_pathname = parsedUrl.pathname) == null ? void 0 : _parsedUrl_pathname.includes(clientPagesManifestPath)) {
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'application/json; charset=utf-8');
+ res.end(JSON.stringify({
+ pages: prevSortedRoutes.filter((route)=>!opts.fsChecker.appFiles.has(route))
+ }));
+ return {
+ finished: true
+ };
+ }
+ if (((_parsedUrl_pathname1 = parsedUrl.pathname) == null ? void 0 : _parsedUrl_pathname1.includes(devMiddlewareManifestPath)) || ((_parsedUrl_pathname2 = parsedUrl.pathname) == null ? void 0 : _parsedUrl_pathname2.includes(devTurbopackMiddlewareManifestPath))) {
+ var _serverFields_middleware;
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'application/json; charset=utf-8');
+ res.end(JSON.stringify(((_serverFields_middleware = serverFields.middleware) == null ? void 0 : _serverFields_middleware.matchers) || []));
+ return {
+ finished: true
+ };
+ }
+ return {
+ finished: false
+ };
+ }
+ function logErrorWithOriginalStack(err, type) {
+ if (err instanceof _utils2.ModuleBuildError) {
+ // Errors that may come from issues from the user's code
+ _log.error(err.message);
+ } else if (err instanceof _utils2.TurbopackInternalError) {
+ // An internal Turbopack error that has been handled by next-swc, written
+ // to disk and a simplified message shown to user on the Rust side.
+ } else if (type === 'warning') {
+ _log.warn(err);
+ } else if (type === 'app-dir') {
+ _log.error(err);
+ } else if (type) {
+ _log.error(`${type}:`, err);
+ } else {
+ _log.error(err);
+ }
+ }
+ return {
+ serverFields,
+ hotReloader,
+ requestHandler,
+ logErrorWithOriginalStack,
+ async ensureMiddleware (requestUrl) {
+ if (!serverFields.actualMiddlewareFile) return;
+ return hotReloader.ensurePage({
+ page: serverFields.actualMiddlewareFile,
+ clientOnly: false,
+ definition: undefined,
+ url: requestUrl
+ });
+ }
+ };
+}
+async function setupDevBundler(opts) {
+ const isSrcDir = _path.default.relative(opts.dir, opts.pagesDir || opts.appDir || '').startsWith('src');
+ const result = await startWatcher({
+ ...opts,
+ isSrcDir
+ });
+ opts.telemetry.record((0, _events.eventCliSession)(_path.default.join(opts.dir, opts.nextConfig.distDir), opts.nextConfig, {
+ webpackVersion: 5,
+ isSrcDir,
+ turboFlag: !!opts.turbo,
+ cliCommand: 'dev',
+ appDir: !!opts.appDir,
+ pagesDir: !!opts.pagesDir,
+ isCustomServer: !!opts.isCustomServer,
+ hasNowJson: !!await (0, _findup.default)('now.json', {
+ cwd: opts.dir
+ })
+ }));
+ // Track build features for dev server here:
+ opts.telemetry.record({
+ eventName: _events.EVENT_BUILD_FEATURE_USAGE,
+ payload: {
+ featureName: 'turbopackPersistentCaching',
+ invocationCount: (0, _utils2.isPersistentCachingEnabled)(opts.nextConfig) ? 1 : 0
+ }
+ });
+ return result;
+}
+ // Returns a trace rewritten through Turbopack's sourcemaps
+
+//# sourceMappingURL=setup-dev-bundler.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-action-request-meta.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-action-request-meta.js
new file mode 100644
index 0000000000000000000000000000000000000000..a67061d27916cfa209c831cf10844d81ef8f3b4f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-action-request-meta.js
@@ -0,0 +1,50 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getIsPossibleServerAction: null,
+ getServerActionRequestMetadata: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getIsPossibleServerAction: function() {
+ return getIsPossibleServerAction;
+ },
+ getServerActionRequestMetadata: function() {
+ return getServerActionRequestMetadata;
+ }
+});
+const _approuterheaders = require("../../client/components/app-router-headers");
+function getServerActionRequestMetadata(req) {
+ let actionId;
+ let contentType;
+ if (req.headers instanceof Headers) {
+ actionId = req.headers.get(_approuterheaders.ACTION_HEADER.toLowerCase()) ?? null;
+ contentType = req.headers.get('content-type');
+ } else {
+ actionId = req.headers[_approuterheaders.ACTION_HEADER.toLowerCase()] ?? null;
+ contentType = req.headers['content-type'] ?? null;
+ }
+ const isURLEncodedAction = Boolean(req.method === 'POST' && contentType === 'application/x-www-form-urlencoded');
+ const isMultipartAction = Boolean(req.method === 'POST' && (contentType == null ? void 0 : contentType.startsWith('multipart/form-data')));
+ const isFetchAction = Boolean(actionId !== undefined && typeof actionId === 'string' && req.method === 'POST');
+ const isPossibleServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction);
+ return {
+ actionId,
+ isURLEncodedAction,
+ isMultipartAction,
+ isFetchAction,
+ isPossibleServerAction
+ };
+}
+function getIsPossibleServerAction(req) {
+ return getServerActionRequestMetadata(req).isPossibleServerAction;
+}
+
+//# sourceMappingURL=server-action-request-meta.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-ipc/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-ipc/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc813d5748ef5bb6a9e1728ece476c5e33689d13
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/server-ipc/utils.js
@@ -0,0 +1,80 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ actionsForbiddenHeaders: null,
+ filterInternalHeaders: null,
+ filterReqHeaders: null,
+ ipcForbiddenHeaders: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ actionsForbiddenHeaders: function() {
+ return actionsForbiddenHeaders;
+ },
+ filterInternalHeaders: function() {
+ return filterInternalHeaders;
+ },
+ filterReqHeaders: function() {
+ return filterReqHeaders;
+ },
+ ipcForbiddenHeaders: function() {
+ return ipcForbiddenHeaders;
+ }
+});
+const ipcForbiddenHeaders = [
+ 'accept-encoding',
+ 'keepalive',
+ 'keep-alive',
+ 'content-encoding',
+ 'transfer-encoding',
+ // https://github.com/nodejs/undici/issues/1470
+ 'connection',
+ // marked as unsupported by undici: https://github.com/nodejs/undici/blob/c83b084879fa0bb8e0469d31ec61428ac68160d5/lib/core/request.js#L354
+ 'expect'
+];
+const actionsForbiddenHeaders = [
+ ...ipcForbiddenHeaders,
+ 'content-length',
+ 'set-cookie'
+];
+const filterReqHeaders = (headers, forbiddenHeaders)=>{
+ // Some browsers are not matching spec and sending Content-Length: 0. This causes issues in undici
+ // https://github.com/nodejs/undici/issues/2046
+ if (headers['content-length'] && headers['content-length'] === '0') {
+ delete headers['content-length'];
+ }
+ for (const [key, value] of Object.entries(headers)){
+ if (forbiddenHeaders.includes(key) || !(Array.isArray(value) || typeof value === 'string')) {
+ delete headers[key];
+ }
+ }
+ return headers;
+};
+// These are headers that are only used internally and should
+// not be honored from the external request
+const INTERNAL_HEADERS = [
+ 'x-middleware-rewrite',
+ 'x-middleware-redirect',
+ 'x-middleware-set-cookie',
+ 'x-middleware-skip',
+ 'x-middleware-override-headers',
+ 'x-middleware-next',
+ 'x-now-route-matches',
+ 'x-matched-path'
+];
+const filterInternalHeaders = (headers)=>{
+ for(const header in headers){
+ if (INTERNAL_HEADERS.includes(header)) {
+ delete headers[header];
+ }
+ }
+};
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/source-maps.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/source-maps.js
new file mode 100644
index 0000000000000000000000000000000000000000..8615a5488c2884f90087f89b490f7decae3a380d
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/source-maps.js
@@ -0,0 +1,167 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ devirtualizeReactServerURL: null,
+ filterStackFrameDEV: null,
+ findApplicableSourceMapPayload: null,
+ ignoreListAnonymousStackFramesIfSandwiched: null,
+ sourceMapIgnoreListsEverything: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ devirtualizeReactServerURL: function() {
+ return devirtualizeReactServerURL;
+ },
+ filterStackFrameDEV: function() {
+ return filterStackFrameDEV;
+ },
+ findApplicableSourceMapPayload: function() {
+ return findApplicableSourceMapPayload;
+ },
+ ignoreListAnonymousStackFramesIfSandwiched: function() {
+ return ignoreListAnonymousStackFramesIfSandwiched;
+ },
+ sourceMapIgnoreListsEverything: function() {
+ return sourceMapIgnoreListsEverything;
+ }
+});
+var _process_versions_node;
+function noSourceMap() {
+ return undefined;
+}
+// Edge runtime does not implement `module`
+const nativeFindSourceMap = process.env.NEXT_RUNTIME === 'edge' ? noSourceMap : require('module').findSourceMap;
+function sourceMapIgnoreListsEverything(sourceMap) {
+ return sourceMap.ignoreList !== undefined && sourceMap.sources.length === sourceMap.ignoreList.length;
+}
+function findApplicableSourceMapPayload(line0, column0, payload) {
+ if ('sections' in payload) {
+ if (payload.sections.length === 0) {
+ return undefined;
+ }
+ // Sections must not overlap and must be sorted: https://tc39.es/source-map/#section-object
+ // Therefore the last section that has an offset less than or equal to the frame is the applicable one.
+ const sections = payload.sections;
+ let left = 0;
+ let right = sections.length - 1;
+ let result = null;
+ while(left <= right){
+ // fast Math.floor
+ const middle = ~~((left + right) / 2);
+ const section = sections[middle];
+ const offset = section.offset;
+ if (offset.line < line0 || offset.line === line0 && offset.column <= column0) {
+ result = section;
+ left = middle + 1;
+ } else {
+ right = middle - 1;
+ }
+ }
+ return result === null ? undefined : result.map;
+ } else {
+ return payload;
+ }
+}
+const didWarnAboutInvalidSourceMapDEV = new Set();
+const findSourceMap = process.env.NEXT_RUNTIME === 'nodejs' && ((_process_versions_node = process.versions.node) == null ? void 0 : _process_versions_node.startsWith('18')) ? noSourceMap : nativeFindSourceMap;
+function filterStackFrameDEV(sourceURL, functionName, line1, column1) {
+ if (sourceURL === '') {
+ // The default implementation filters out stack frames
+ // but we want to retain them because current Server Components and
+ // built-in Components in parent stacks don't have source location.
+ // Filter out frames that show up in Promises to get good names in React's
+ // Server Request track until we come up with a better heuristic.
+ return functionName !== 'new Promise' && functionName !== 'Promise.then' && functionName !== 'Promise.catch' && functionName !== 'Promise.finally' && functionName !== 'Function.withResolvers' && functionName !== 'Function.all' && functionName !== 'Function.allSettled';
+ }
+ if (sourceURL.startsWith('node:') || sourceURL.includes('node_modules')) {
+ return false;
+ }
+ try {
+ // Node.js loads source maps eagerly so this call is cheap.
+ // TODO: ESM sourcemaps are O(1) but CommonJS sourcemaps are O(Number of CJS modules).
+ // Make sure this doesn't adversely affect performance when CJS is used by Next.js.
+ const sourceMap = findSourceMap(sourceURL);
+ if (sourceMap === undefined) {
+ // No source map assoicated.
+ // TODO: Node.js types should reflect that `findSourceMap` can return `undefined`.
+ return true;
+ }
+ const sourceMapPayload = findApplicableSourceMapPayload(line1 - 1, column1 - 1, sourceMap.payload);
+ if (sourceMapPayload === undefined) {
+ // No source map section applicable to the frame.
+ return true;
+ }
+ return !sourceMapIgnoreListsEverything(sourceMapPayload);
+ } catch (cause) {
+ if (process.env.NODE_ENV !== 'production') {
+ // TODO: Share cache with patch-error-inspect
+ if (!didWarnAboutInvalidSourceMapDEV.has(sourceURL)) {
+ didWarnAboutInvalidSourceMapDEV.add(sourceURL);
+ // We should not log an actual error instance here because that will re-enter
+ // this codepath during error inspection and could lead to infinite recursion.
+ console.error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to filter stack frames. Cause: ${cause}`);
+ }
+ }
+ return true;
+ }
+}
+function devirtualizeReactServerURL(sourceURL) {
+ if (sourceURL.startsWith('rsc://React/')) {
+ // rsc://React/Server/file://?42 => file://
+ const envIdx = sourceURL.indexOf('/', 'rsc://React/'.length);
+ const suffixIdx = sourceURL.lastIndexOf('?');
+ if (envIdx > -1 && suffixIdx > -1) {
+ return decodeURI(sourceURL.slice(envIdx + 1, suffixIdx));
+ }
+ }
+ return sourceURL;
+}
+function isAnonymousFrameLikelyJSNative(methodName) {
+ // Anonymous frames can also be produced in React parent stacks either from
+ // host components or Server Components. We don't want to ignore those.
+ // This could hide user-space methods that are named like native JS methods but
+ // should you really do that?
+ return(// e.g. JSON.parse
+ methodName.startsWith('JSON.') || // E.g. Promise.withResolves
+ methodName.startsWith('Function.') || // various JS built-ins
+ methodName.startsWith('Promise.') || methodName.startsWith('Array.') || methodName.startsWith('Set.') || methodName.startsWith('Map.'));
+}
+function ignoreListAnonymousStackFramesIfSandwiched(frames, isAnonymousFrame, isIgnoredFrame, getMethodName, /** only passes frames for which `isAnonymousFrame` and their method is a native JS method or `isIgnoredFrame` return true */ ignoreFrame) {
+ for(let i = 1; i < frames.length; i++){
+ const currentFrame = frames[i];
+ if (!(isAnonymousFrame(currentFrame) && isAnonymousFrameLikelyJSNative(getMethodName(currentFrame)))) {
+ continue;
+ }
+ const previousFrameIsIgnored = isIgnoredFrame(frames[i - 1]);
+ if (previousFrameIsIgnored && i < frames.length - 1) {
+ let ignoreSandwich = false;
+ let j = i + 1;
+ for(j; j < frames.length; j++){
+ const nextFrame = frames[j];
+ const nextFrameIsAnonymous = isAnonymousFrame(nextFrame) && isAnonymousFrameLikelyJSNative(getMethodName(nextFrame));
+ if (nextFrameIsAnonymous) {
+ continue;
+ }
+ const nextFrameIsIgnored = isIgnoredFrame(nextFrame);
+ if (nextFrameIsIgnored) {
+ ignoreSandwich = true;
+ break;
+ }
+ }
+ if (ignoreSandwich) {
+ for(i; i < j; i++){
+ ignoreFrame(frames[i]);
+ }
+ }
+ }
+ }
+}
+
+//# sourceMappingURL=source-maps.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/start-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/start-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..40b957915c48a7245498ebfdf4b975dcf13b41c5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/start-server.js
@@ -0,0 +1,439 @@
+// Start CPU profile if it wasn't already started.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getRequestHandlers: null,
+ startServer: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getRequestHandlers: function() {
+ return getRequestHandlers;
+ },
+ startServer: function() {
+ return startServer;
+ }
+});
+require("./cpu-profile");
+const _getnetworkhost = require("../../lib/get-network-host");
+require("../next");
+require("../require-hook");
+const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
+const _v8 = /*#__PURE__*/ _interop_require_default(require("v8"));
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _http = /*#__PURE__*/ _interop_require_default(require("http"));
+const _https = /*#__PURE__*/ _interop_require_default(require("https"));
+const _os = /*#__PURE__*/ _interop_require_default(require("os"));
+const _child_process = require("child_process");
+const _watchpack = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/watchpack"));
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
+const _utils = require("./utils");
+const _formathostname = require("./format-hostname");
+const _routerserver = require("./router-server");
+const _constants = require("../../shared/lib/constants");
+const _appinfolog = require("./app-info-log");
+const _turbopackwarning = require("../../lib/turbopack-warning");
+const _trace = require("../../trace");
+const _isipv6 = require("./is-ipv6");
+const _asynccallbackset = require("./async-callback-set");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+if (performance.getEntriesByName('next-start').length === 0) {
+ performance.mark('next-start');
+}
+const debug = (0, _debug.default)('next:start-server');
+let startServerSpan;
+/**
+ * Get the process ID (PID) of the process using the specified port
+ */ async function getProcessIdUsingPort(port) {
+ const timeoutMs = 250;
+ const processLookupController = new AbortController();
+ const pidPromise = new Promise((resolve)=>{
+ const handleError = (error)=>{
+ debug('Failed to get process ID for port', port, error);
+ resolve(null);
+ };
+ try {
+ // Use lsof on Unix-like systems (macOS, Linux)
+ if (process.platform !== 'win32') {
+ (0, _child_process.exec)(`lsof -ti:${port}`, {
+ signal: processLookupController.signal
+ }, (error, stdout)=>{
+ if (error) {
+ handleError(error);
+ return;
+ }
+ const pid = stdout.trim();
+ resolve(pid || null);
+ });
+ } else {
+ // Use netstat on Windows
+ (0, _child_process.exec)(`netstat -ano | findstr /C:":${port} " | findstr LISTENING`, {
+ signal: processLookupController.signal
+ }, (error, stdout)=>{
+ if (error) {
+ handleError(error);
+ return;
+ }
+ const lines = stdout.trim().split('\n');
+ if (lines.length > 0) {
+ const parts = lines[0].trim().split(/\s+/);
+ const pid = parts[parts.length - 1];
+ resolve(pid || null);
+ } else {
+ resolve(null);
+ }
+ });
+ }
+ } catch (cause) {
+ handleError(Object.defineProperty(new Error('Unexpected error during process lookup', {
+ cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E713",
+ enumerable: false,
+ configurable: true
+ }));
+ }
+ });
+ const timeoutId = setTimeout(()=>{
+ processLookupController.abort(`PID detection timed out after ${timeoutMs}ms for port ${port}.`);
+ }, timeoutMs);
+ pidPromise.finally(()=>clearTimeout(timeoutId));
+ return pidPromise;
+}
+async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server, hostname, minimalMode, keepAliveTimeout, experimentalHttpsServer, quiet }) {
+ return (0, _routerserver.initialize)({
+ dir,
+ port,
+ hostname,
+ onDevServerCleanup,
+ dev: isDev,
+ minimalMode,
+ server,
+ keepAliveTimeout,
+ experimentalHttpsServer,
+ startServerSpan,
+ quiet
+ });
+}
+async function startServer(serverOptions) {
+ const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
+ let { port } = serverOptions;
+ process.title = `next-server (v${"15.4.3"})`;
+ let handlersReady = ()=>{};
+ let handlersError = ()=>{};
+ let handlersPromise = new Promise((resolve, reject)=>{
+ handlersReady = resolve;
+ handlersError = reject;
+ });
+ let requestHandler = async (req, res)=>{
+ if (handlersPromise) {
+ await handlersPromise;
+ return requestHandler(req, res);
+ }
+ throw Object.defineProperty(new Error('Invariant request handler was not setup'), "__NEXT_ERROR_CODE", {
+ value: "E287",
+ enumerable: false,
+ configurable: true
+ });
+ };
+ let upgradeHandler = async (req, socket, head)=>{
+ if (handlersPromise) {
+ await handlersPromise;
+ return upgradeHandler(req, socket, head);
+ }
+ throw Object.defineProperty(new Error('Invariant upgrade handler was not setup'), "__NEXT_ERROR_CODE", {
+ value: "E290",
+ enumerable: false,
+ configurable: true
+ });
+ };
+ let nextServer;
+ // setup server listener as fast as possible
+ if (selfSignedCertificate && !isDev) {
+ throw Object.defineProperty(new Error('Using a self signed certificate is only supported with `next dev`.'), "__NEXT_ERROR_CODE", {
+ value: "E128",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ async function requestListener(req, res) {
+ try {
+ if (handlersPromise) {
+ await handlersPromise;
+ handlersPromise = undefined;
+ }
+ await requestHandler(req, res);
+ } catch (err) {
+ res.statusCode = 500;
+ res.end('Internal Server Error');
+ _log.error(`Failed to handle request for ${req.url}`);
+ console.error(err);
+ } finally{
+ if (isDev) {
+ if (_v8.default.getHeapStatistics().used_heap_size > 0.8 * _v8.default.getHeapStatistics().heap_size_limit) {
+ _log.warn(`Server is approaching the used memory threshold, restarting...`);
+ (0, _trace.trace)('server-restart-close-to-memory-threshold', undefined, {
+ 'memory.heapSizeLimit': String(_v8.default.getHeapStatistics().heap_size_limit),
+ 'memory.heapUsed': String(_v8.default.getHeapStatistics().used_heap_size)
+ }).stop();
+ await (0, _trace.flushAllTraces)();
+ process.exit(_utils.RESTART_EXIT_CODE);
+ }
+ }
+ }
+ }
+ const server = selfSignedCertificate ? _https.default.createServer({
+ key: _fs.default.readFileSync(selfSignedCertificate.key),
+ cert: _fs.default.readFileSync(selfSignedCertificate.cert)
+ }, requestListener) : _http.default.createServer(requestListener);
+ if (keepAliveTimeout) {
+ server.keepAliveTimeout = keepAliveTimeout;
+ }
+ server.on('upgrade', async (req, socket, head)=>{
+ try {
+ await upgradeHandler(req, socket, head);
+ } catch (err) {
+ socket.destroy();
+ _log.error(`Failed to handle request for ${req.url}`);
+ console.error(err);
+ }
+ });
+ let portRetryCount = 0;
+ const originalPort = port;
+ server.on('error', (err)=>{
+ if (allowRetry && port && isDev && err.code === 'EADDRINUSE' && portRetryCount < 10) {
+ port += 1;
+ portRetryCount += 1;
+ server.listen(port, hostname);
+ } else {
+ _log.error(`Failed to start server`);
+ console.error(err);
+ process.exit(1);
+ }
+ });
+ let cleanupListeners = isDev ? new _asynccallbackset.AsyncCallbackSet() : undefined;
+ await new Promise((resolve)=>{
+ server.on('listening', async ()=>{
+ const nodeDebugType = (0, _utils.getNodeDebugType)();
+ const addr = server.address();
+ const actualHostname = (0, _formathostname.formatHostname)(typeof addr === 'object' ? (addr == null ? void 0 : addr.address) || hostname || 'localhost' : addr);
+ const formattedHostname = !hostname || actualHostname === '0.0.0.0' ? 'localhost' : actualHostname === '[::]' ? '[::1]' : (0, _formathostname.formatHostname)(hostname);
+ port = typeof addr === 'object' ? (addr == null ? void 0 : addr.port) || port : port;
+ if (portRetryCount) {
+ const pid = await getProcessIdUsingPort(originalPort);
+ if (pid) {
+ _log.warn(`Port ${originalPort} is in use by process ${pid}, using available port ${port} instead.`);
+ } else {
+ _log.warn(`Port ${originalPort} is in use by an unknown process, using available port ${port} instead.`);
+ }
+ }
+ const networkHostname = hostname ?? (0, _getnetworkhost.getNetworkHost)((0, _isipv6.isIPv6)(actualHostname) ? 'IPv6' : 'IPv4');
+ const protocol = selfSignedCertificate ? 'https' : 'http';
+ const networkUrl = networkHostname ? `${protocol}://${(0, _formathostname.formatHostname)(networkHostname)}:${port}` : null;
+ const appUrl = `${protocol}://${formattedHostname}:${port}`;
+ if (nodeDebugType) {
+ const formattedDebugAddress = (0, _utils.getFormattedDebugAddress)();
+ _log.info(`the --${nodeDebugType} option was detected, the Next.js router server should be inspected at ${formattedDebugAddress}.`);
+ }
+ // Store the selected port to:
+ // - expose it to render workers
+ // - re-use it for automatic dev server restarts with a randomly selected port
+ process.env.PORT = port + '';
+ process.env.__NEXT_PRIVATE_ORIGIN = appUrl;
+ // Set experimental HTTPS flag for metadata resolution
+ if (selfSignedCertificate) {
+ process.env.__NEXT_EXPERIMENTAL_HTTPS = '1';
+ }
+ // Only load env and config in dev to for logging purposes
+ let envInfo;
+ let experimentalFeatures;
+ if (isDev) {
+ const startServerInfo = await (0, _appinfolog.getStartServerInfo)({
+ dir,
+ dev: isDev
+ });
+ envInfo = startServerInfo.envInfo;
+ experimentalFeatures = startServerInfo.experimentalFeatures;
+ }
+ (0, _appinfolog.logStartInfo)({
+ networkUrl,
+ appUrl,
+ envInfo,
+ experimentalFeatures,
+ maxExperimentalFeatures: 3
+ });
+ _log.event(`Starting...`);
+ try {
+ let cleanupStarted = false;
+ let closeUpgraded = null;
+ const cleanup = ()=>{
+ if (cleanupStarted) {
+ // We can get duplicate signals, e.g. when `ctrl+c` is used in an
+ // interactive shell (i.e. bash, zsh), the shell will recursively
+ // send SIGINT to children. The parent `next-dev` process will also
+ // send us SIGINT.
+ return;
+ }
+ cleanupStarted = true;
+ (async ()=>{
+ debug('start-server process cleanup');
+ // first, stop accepting new connections and finish pending requests,
+ // because they might affect `nextServer.close()` (e.g. by scheduling an `after`)
+ await new Promise((res)=>{
+ server.close((err)=>{
+ if (err) console.error(err);
+ res();
+ });
+ if (isDev) {
+ server.closeAllConnections();
+ closeUpgraded == null ? void 0 : closeUpgraded();
+ }
+ });
+ // now that no new requests can come in, clean up the rest
+ await Promise.all([
+ nextServer == null ? void 0 : nextServer.close().catch(console.error),
+ cleanupListeners == null ? void 0 : cleanupListeners.runAll().catch(console.error)
+ ]);
+ debug('start-server process cleanup finished');
+ process.exit(0);
+ })();
+ };
+ // Make sure commands gracefully respect termination signals (e.g. from Docker)
+ // Allow the graceful termination to be manually configurable
+ if (!process.env.NEXT_MANUAL_SIG_HANDLE) {
+ process.on('SIGINT', cleanup);
+ process.on('SIGTERM', cleanup);
+ }
+ const initResult = await getRequestHandlers({
+ dir,
+ port,
+ isDev,
+ onDevServerCleanup: cleanupListeners ? cleanupListeners.add.bind(cleanupListeners) : undefined,
+ server,
+ hostname,
+ minimalMode,
+ keepAliveTimeout,
+ experimentalHttpsServer: !!selfSignedCertificate
+ });
+ requestHandler = initResult.requestHandler;
+ upgradeHandler = initResult.upgradeHandler;
+ nextServer = initResult.server;
+ closeUpgraded = initResult.closeUpgraded;
+ const startServerProcessDuration = performance.mark('next-start-end') && performance.measure('next-start-duration', 'next-start', 'next-start-end').duration;
+ handlersReady();
+ const formatDurationText = startServerProcessDuration > 2000 ? `${Math.round(startServerProcessDuration / 100) / 10}s` : `${Math.round(startServerProcessDuration)}ms`;
+ _log.event(`Ready in ${formatDurationText}`);
+ if (process.env.TURBOPACK) {
+ await (0, _turbopackwarning.validateTurboNextConfig)({
+ dir: serverOptions.dir,
+ isDev: true
+ });
+ }
+ } catch (err) {
+ // fatal error if we can't setup
+ handlersError();
+ console.error(err);
+ process.exit(1);
+ }
+ resolve();
+ });
+ server.listen(port, hostname);
+ });
+ if (isDev) {
+ function watchConfigFiles(dirToWatch, onChange) {
+ const wp = new _watchpack.default();
+ wp.watch({
+ files: _constants.CONFIG_FILES.map((file)=>_path.default.join(dirToWatch, file))
+ });
+ wp.on('change', onChange);
+ }
+ watchConfigFiles(dir, async (filename)=>{
+ if (process.env.__NEXT_DISABLE_MEMORY_WATCHER) {
+ _log.info(`Detected change, manual restart required due to '__NEXT_DISABLE_MEMORY_WATCHER' usage`);
+ return;
+ }
+ _log.warn(`Found a change in ${_path.default.basename(filename)}. Restarting the server to apply the changes...`);
+ process.exit(_utils.RESTART_EXIT_CODE);
+ });
+ }
+}
+if (process.env.NEXT_PRIVATE_WORKER && process.send) {
+ process.addListener('message', async (msg)=>{
+ if (msg && typeof msg === 'object' && msg.nextWorkerOptions && process.send) {
+ startServerSpan = (0, _trace.trace)('start-dev-server', undefined, {
+ cpus: String(_os.default.cpus().length),
+ platform: _os.default.platform(),
+ 'memory.freeMem': String(_os.default.freemem()),
+ 'memory.totalMem': String(_os.default.totalmem()),
+ 'memory.heapSizeLimit': String(_v8.default.getHeapStatistics().heap_size_limit)
+ });
+ await startServerSpan.traceAsyncFn(()=>startServer(msg.nextWorkerOptions));
+ const memoryUsage = process.memoryUsage();
+ startServerSpan.setAttribute('memory.rss', String(memoryUsage.rss));
+ startServerSpan.setAttribute('memory.heapTotal', String(memoryUsage.heapTotal));
+ startServerSpan.setAttribute('memory.heapUsed', String(memoryUsage.heapUsed));
+ process.send({
+ nextServerReady: true,
+ port: process.env.PORT
+ });
+ }
+ });
+ process.send({
+ nextWorkerReady: true
+ });
+}
+
+//# sourceMappingURL=start-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/streaming-metadata.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/streaming-metadata.js
new file mode 100644
index 0000000000000000000000000000000000000000..5ecd7de0e559f62d71833ea9ee9b7ae60e15f5bf
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/streaming-metadata.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isHtmlBotRequest: null,
+ shouldServeStreamingMetadata: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isHtmlBotRequest: function() {
+ return isHtmlBotRequest;
+ },
+ shouldServeStreamingMetadata: function() {
+ return shouldServeStreamingMetadata;
+ }
+});
+const _isbot = require("../../shared/lib/router/utils/is-bot");
+function shouldServeStreamingMetadata(userAgent, htmlLimitedBots) {
+ const blockingMetadataUARegex = new RegExp(htmlLimitedBots || _isbot.HTML_LIMITED_BOT_UA_RE_STRING, 'i');
+ // Only block metadata for HTML-limited bots
+ if (userAgent && blockingMetadataUARegex.test(userAgent)) {
+ return false;
+ }
+ return true;
+}
+function isHtmlBotRequest(req) {
+ const ua = req.headers['user-agent'] || '';
+ const botType = (0, _isbot.getBotType)(ua);
+ return botType === 'html';
+}
+
+//# sourceMappingURL=streaming-metadata.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/to-route.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/to-route.js
new file mode 100644
index 0000000000000000000000000000000000000000..6299fbe60a3011eb29b56740ad418102e25c6bb4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/to-route.js
@@ -0,0 +1,37 @@
+/**
+ * This transforms a URL pathname into a route. It removes any trailing slashes
+ * and the `/index` suffix.
+ *
+ * @param pathname - The URL path that needs to be optimized.
+ * @returns - The route
+ *
+ * @example
+ * // returns '/example'
+ * toRoute('/example/index/');
+ *
+ * @example
+ * // returns '/example'
+ * toRoute('/example/');
+ *
+ * @example
+ * // returns '/'
+ * toRoute('/index/');
+ *
+ * @example
+ * // returns '/'
+ * toRoute('/');
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "toRoute", {
+ enumerable: true,
+ get: function() {
+ return toRoute;
+ }
+});
+function toRoute(pathname) {
+ return pathname.replace(/(?:\/index)?\/?$/, '') || '/';
+}
+
+//# sourceMappingURL=to-route.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/constants.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/constants.js
new file mode 100644
index 0000000000000000000000000000000000000000..e10ee0312af59e74d09102c3cbe3336ffc425fc5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/constants.js
@@ -0,0 +1,202 @@
+/**
+ * Contains predefined constants for the trace span name in next/server.
+ *
+ * Currently, next/server/tracer is internal implementation only for tracking
+ * next.js's implementation only with known span names defined here.
+ **/ // eslint typescript has a bug with TS enums
+/* eslint-disable no-shadow */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AppRenderSpan: null,
+ AppRouteRouteHandlersSpan: null,
+ BaseServerSpan: null,
+ LoadComponentsSpan: null,
+ LogSpanAllowList: null,
+ MiddlewareSpan: null,
+ NextNodeServerSpan: null,
+ NextServerSpan: null,
+ NextVanillaSpanAllowlist: null,
+ NodeSpan: null,
+ RenderSpan: null,
+ ResolveMetadataSpan: null,
+ RouterSpan: null,
+ StartServerSpan: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AppRenderSpan: function() {
+ return AppRenderSpan;
+ },
+ AppRouteRouteHandlersSpan: function() {
+ return AppRouteRouteHandlersSpan;
+ },
+ BaseServerSpan: function() {
+ return BaseServerSpan;
+ },
+ LoadComponentsSpan: function() {
+ return LoadComponentsSpan;
+ },
+ LogSpanAllowList: function() {
+ return LogSpanAllowList;
+ },
+ MiddlewareSpan: function() {
+ return MiddlewareSpan;
+ },
+ NextNodeServerSpan: function() {
+ return NextNodeServerSpan;
+ },
+ NextServerSpan: function() {
+ return NextServerSpan;
+ },
+ NextVanillaSpanAllowlist: function() {
+ return NextVanillaSpanAllowlist;
+ },
+ NodeSpan: function() {
+ return NodeSpan;
+ },
+ RenderSpan: function() {
+ return RenderSpan;
+ },
+ ResolveMetadataSpan: function() {
+ return ResolveMetadataSpan;
+ },
+ RouterSpan: function() {
+ return RouterSpan;
+ },
+ StartServerSpan: function() {
+ return StartServerSpan;
+ }
+});
+var BaseServerSpan = /*#__PURE__*/ function(BaseServerSpan) {
+ BaseServerSpan["handleRequest"] = "BaseServer.handleRequest";
+ BaseServerSpan["run"] = "BaseServer.run";
+ BaseServerSpan["pipe"] = "BaseServer.pipe";
+ BaseServerSpan["getStaticHTML"] = "BaseServer.getStaticHTML";
+ BaseServerSpan["render"] = "BaseServer.render";
+ BaseServerSpan["renderToResponseWithComponents"] = "BaseServer.renderToResponseWithComponents";
+ BaseServerSpan["renderToResponse"] = "BaseServer.renderToResponse";
+ BaseServerSpan["renderToHTML"] = "BaseServer.renderToHTML";
+ BaseServerSpan["renderError"] = "BaseServer.renderError";
+ BaseServerSpan["renderErrorToResponse"] = "BaseServer.renderErrorToResponse";
+ BaseServerSpan["renderErrorToHTML"] = "BaseServer.renderErrorToHTML";
+ BaseServerSpan["render404"] = "BaseServer.render404";
+ return BaseServerSpan;
+}(BaseServerSpan || {});
+var LoadComponentsSpan = /*#__PURE__*/ function(LoadComponentsSpan) {
+ LoadComponentsSpan["loadDefaultErrorComponents"] = "LoadComponents.loadDefaultErrorComponents";
+ LoadComponentsSpan["loadComponents"] = "LoadComponents.loadComponents";
+ return LoadComponentsSpan;
+}(LoadComponentsSpan || {});
+var NextServerSpan = /*#__PURE__*/ function(NextServerSpan) {
+ NextServerSpan["getRequestHandler"] = "NextServer.getRequestHandler";
+ NextServerSpan["getServer"] = "NextServer.getServer";
+ NextServerSpan["getServerRequestHandler"] = "NextServer.getServerRequestHandler";
+ NextServerSpan["createServer"] = "createServer.createServer";
+ return NextServerSpan;
+}(NextServerSpan || {});
+var NextNodeServerSpan = /*#__PURE__*/ function(NextNodeServerSpan) {
+ NextNodeServerSpan["compression"] = "NextNodeServer.compression";
+ NextNodeServerSpan["getBuildId"] = "NextNodeServer.getBuildId";
+ NextNodeServerSpan["createComponentTree"] = "NextNodeServer.createComponentTree";
+ NextNodeServerSpan["clientComponentLoading"] = "NextNodeServer.clientComponentLoading";
+ NextNodeServerSpan["getLayoutOrPageModule"] = "NextNodeServer.getLayoutOrPageModule";
+ NextNodeServerSpan["generateStaticRoutes"] = "NextNodeServer.generateStaticRoutes";
+ NextNodeServerSpan["generateFsStaticRoutes"] = "NextNodeServer.generateFsStaticRoutes";
+ NextNodeServerSpan["generatePublicRoutes"] = "NextNodeServer.generatePublicRoutes";
+ NextNodeServerSpan["generateImageRoutes"] = "NextNodeServer.generateImageRoutes.route";
+ NextNodeServerSpan["sendRenderResult"] = "NextNodeServer.sendRenderResult";
+ NextNodeServerSpan["proxyRequest"] = "NextNodeServer.proxyRequest";
+ NextNodeServerSpan["runApi"] = "NextNodeServer.runApi";
+ NextNodeServerSpan["render"] = "NextNodeServer.render";
+ NextNodeServerSpan["renderHTML"] = "NextNodeServer.renderHTML";
+ NextNodeServerSpan["imageOptimizer"] = "NextNodeServer.imageOptimizer";
+ NextNodeServerSpan["getPagePath"] = "NextNodeServer.getPagePath";
+ NextNodeServerSpan["getRoutesManifest"] = "NextNodeServer.getRoutesManifest";
+ NextNodeServerSpan["findPageComponents"] = "NextNodeServer.findPageComponents";
+ NextNodeServerSpan["getFontManifest"] = "NextNodeServer.getFontManifest";
+ NextNodeServerSpan["getServerComponentManifest"] = "NextNodeServer.getServerComponentManifest";
+ NextNodeServerSpan["getRequestHandler"] = "NextNodeServer.getRequestHandler";
+ NextNodeServerSpan["renderToHTML"] = "NextNodeServer.renderToHTML";
+ NextNodeServerSpan["renderError"] = "NextNodeServer.renderError";
+ NextNodeServerSpan["renderErrorToHTML"] = "NextNodeServer.renderErrorToHTML";
+ NextNodeServerSpan["render404"] = "NextNodeServer.render404";
+ NextNodeServerSpan["startResponse"] = "NextNodeServer.startResponse";
+ // nested inner span, does not require parent scope name
+ NextNodeServerSpan["route"] = "route";
+ NextNodeServerSpan["onProxyReq"] = "onProxyReq";
+ NextNodeServerSpan["apiResolver"] = "apiResolver";
+ NextNodeServerSpan["internalFetch"] = "internalFetch";
+ return NextNodeServerSpan;
+}(NextNodeServerSpan || {});
+var StartServerSpan = /*#__PURE__*/ function(StartServerSpan) {
+ StartServerSpan["startServer"] = "startServer.startServer";
+ return StartServerSpan;
+}(StartServerSpan || {});
+var RenderSpan = /*#__PURE__*/ function(RenderSpan) {
+ RenderSpan["getServerSideProps"] = "Render.getServerSideProps";
+ RenderSpan["getStaticProps"] = "Render.getStaticProps";
+ RenderSpan["renderToString"] = "Render.renderToString";
+ RenderSpan["renderDocument"] = "Render.renderDocument";
+ RenderSpan["createBodyResult"] = "Render.createBodyResult";
+ return RenderSpan;
+}(RenderSpan || {});
+var AppRenderSpan = /*#__PURE__*/ function(AppRenderSpan) {
+ AppRenderSpan["renderToString"] = "AppRender.renderToString";
+ AppRenderSpan["renderToReadableStream"] = "AppRender.renderToReadableStream";
+ AppRenderSpan["getBodyResult"] = "AppRender.getBodyResult";
+ AppRenderSpan["fetch"] = "AppRender.fetch";
+ return AppRenderSpan;
+}(AppRenderSpan || {});
+var RouterSpan = /*#__PURE__*/ function(RouterSpan) {
+ RouterSpan["executeRoute"] = "Router.executeRoute";
+ return RouterSpan;
+}(RouterSpan || {});
+var NodeSpan = /*#__PURE__*/ function(NodeSpan) {
+ NodeSpan["runHandler"] = "Node.runHandler";
+ return NodeSpan;
+}(NodeSpan || {});
+var AppRouteRouteHandlersSpan = /*#__PURE__*/ function(AppRouteRouteHandlersSpan) {
+ AppRouteRouteHandlersSpan["runHandler"] = "AppRouteRouteHandlers.runHandler";
+ return AppRouteRouteHandlersSpan;
+}(AppRouteRouteHandlersSpan || {});
+var ResolveMetadataSpan = /*#__PURE__*/ function(ResolveMetadataSpan) {
+ ResolveMetadataSpan["generateMetadata"] = "ResolveMetadata.generateMetadata";
+ ResolveMetadataSpan["generateViewport"] = "ResolveMetadata.generateViewport";
+ return ResolveMetadataSpan;
+}(ResolveMetadataSpan || {});
+var MiddlewareSpan = /*#__PURE__*/ function(MiddlewareSpan) {
+ MiddlewareSpan["execute"] = "Middleware.execute";
+ return MiddlewareSpan;
+}(MiddlewareSpan || {});
+const NextVanillaSpanAllowlist = [
+ "Middleware.execute",
+ "BaseServer.handleRequest",
+ "Render.getServerSideProps",
+ "Render.getStaticProps",
+ "AppRender.fetch",
+ "AppRender.getBodyResult",
+ "Render.renderDocument",
+ "Node.runHandler",
+ "AppRouteRouteHandlers.runHandler",
+ "ResolveMetadata.generateMetadata",
+ "ResolveMetadata.generateViewport",
+ "NextNodeServer.createComponentTree",
+ "NextNodeServer.findPageComponents",
+ "NextNodeServer.getLayoutOrPageModule",
+ "NextNodeServer.startResponse",
+ "NextNodeServer.clientComponentLoading"
+];
+const LogSpanAllowList = [
+ "NextNodeServer.findPageComponents",
+ "NextNodeServer.createComponentTree",
+ "NextNodeServer.clientComponentLoading"
+];
+
+//# sourceMappingURL=constants.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/tracer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/tracer.js
new file mode 100644
index 0000000000000000000000000000000000000000..d57a9a1dd29a01d30ed2e6c97d515245b67e6699
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/tracer.js
@@ -0,0 +1,250 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ BubbledError: null,
+ SpanKind: null,
+ SpanStatusCode: null,
+ getTracer: null,
+ isBubbledError: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ BubbledError: function() {
+ return BubbledError;
+ },
+ SpanKind: function() {
+ return SpanKind;
+ },
+ SpanStatusCode: function() {
+ return SpanStatusCode;
+ },
+ getTracer: function() {
+ return getTracer;
+ },
+ isBubbledError: function() {
+ return isBubbledError;
+ }
+});
+const _constants = require("./constants");
+const _isthenable = require("../../../shared/lib/is-thenable");
+let api;
+// we want to allow users to use their own version of @opentelemetry/api if they
+// want to, so we try to require it first, and if it fails we fall back to the
+// version that is bundled with Next.js
+// this is because @opentelemetry/api has to be synced with the version of
+// @opentelemetry/tracing that is used, and we don't want to force users to use
+// the version that is bundled with Next.js.
+// the API is ~stable, so this should be fine
+if (process.env.NEXT_RUNTIME === 'edge') {
+ api = require('@opentelemetry/api');
+} else {
+ try {
+ api = require('@opentelemetry/api');
+ } catch (err) {
+ api = require('next/dist/compiled/@opentelemetry/api');
+ }
+}
+const { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api;
+class BubbledError extends Error {
+ constructor(bubble, result){
+ super(), this.bubble = bubble, this.result = result;
+ }
+}
+function isBubbledError(error) {
+ if (typeof error !== 'object' || error === null) return false;
+ return error instanceof BubbledError;
+}
+const closeSpanWithError = (span, error)=>{
+ if (isBubbledError(error) && error.bubble) {
+ span.setAttribute('next.bubble', true);
+ } else {
+ if (error) {
+ span.recordException(error);
+ }
+ span.setStatus({
+ code: SpanStatusCode.ERROR,
+ message: error == null ? void 0 : error.message
+ });
+ }
+ span.end();
+};
+/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map();
+const rootSpanIdKey = api.createContextKey('next.rootSpanId');
+let lastSpanId = 0;
+const getSpanId = ()=>lastSpanId++;
+const clientTraceDataSetter = {
+ set (carrier, key, value) {
+ carrier.push({
+ key,
+ value
+ });
+ }
+};
+class NextTracerImpl {
+ /**
+ * Returns an instance to the trace with configured name.
+ * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,
+ * This should be lazily evaluated.
+ */ getTracerInstance() {
+ return trace.getTracer('next.js', '0.0.1');
+ }
+ getContext() {
+ return context;
+ }
+ getTracePropagationData() {
+ const activeContext = context.active();
+ const entries = [];
+ propagation.inject(activeContext, entries, clientTraceDataSetter);
+ return entries;
+ }
+ getActiveScopeSpan() {
+ return trace.getSpan(context == null ? void 0 : context.active());
+ }
+ withPropagatedContext(carrier, fn, getter) {
+ const activeContext = context.active();
+ if (trace.getSpanContext(activeContext)) {
+ // Active span is already set, too late to propagate.
+ return fn();
+ }
+ const remoteContext = propagation.extract(activeContext, carrier, getter);
+ return context.with(remoteContext, fn);
+ }
+ trace(...args) {
+ var _trace_getSpanContext;
+ const [type, fnOrOptions, fnOrEmpty] = args;
+ // coerce options form overload
+ const { fn, options } = typeof fnOrOptions === 'function' ? {
+ fn: fnOrOptions,
+ options: {}
+ } : {
+ fn: fnOrEmpty,
+ options: {
+ ...fnOrOptions
+ }
+ };
+ const spanName = options.spanName ?? type;
+ if (!_constants.NextVanillaSpanAllowlist.includes(type) && process.env.NEXT_OTEL_VERBOSE !== '1' || options.hideSpan) {
+ return fn();
+ }
+ // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.
+ let spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());
+ let isRootSpan = false;
+ if (!spanContext) {
+ spanContext = (context == null ? void 0 : context.active()) ?? ROOT_CONTEXT;
+ isRootSpan = true;
+ } else if ((_trace_getSpanContext = trace.getSpanContext(spanContext)) == null ? void 0 : _trace_getSpanContext.isRemote) {
+ isRootSpan = true;
+ }
+ const spanId = getSpanId();
+ options.attributes = {
+ 'next.span_name': spanName,
+ 'next.span_type': type,
+ ...options.attributes
+ };
+ return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.getTracerInstance().startActiveSpan(spanName, options, (span)=>{
+ const startTime = 'performance' in globalThis && 'measure' in performance ? globalThis.performance.now() : undefined;
+ const onCleanup = ()=>{
+ rootSpanAttributesStore.delete(spanId);
+ if (startTime && process.env.NEXT_OTEL_PERFORMANCE_PREFIX && _constants.LogSpanAllowList.includes(type || '')) {
+ performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(type.split('.').pop() || '').replace(/[A-Z]/g, (match)=>'-' + match.toLowerCase())}`, {
+ start: startTime,
+ end: performance.now()
+ });
+ }
+ };
+ if (isRootSpan) {
+ rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {})));
+ }
+ try {
+ if (fn.length > 1) {
+ return fn(span, (err)=>closeSpanWithError(span, err));
+ }
+ const result = fn(span);
+ if ((0, _isthenable.isThenable)(result)) {
+ // If there's error make sure it throws
+ return result.then((res)=>{
+ span.end();
+ // Need to pass down the promise result,
+ // it could be react stream response with error { error, stream }
+ return res;
+ }).catch((err)=>{
+ closeSpanWithError(span, err);
+ throw err;
+ }).finally(onCleanup);
+ } else {
+ span.end();
+ onCleanup();
+ }
+ return result;
+ } catch (err) {
+ closeSpanWithError(span, err);
+ onCleanup();
+ throw err;
+ }
+ }));
+ }
+ wrap(...args) {
+ const tracer = this;
+ const [name, options, fn] = args.length === 3 ? args : [
+ args[0],
+ {},
+ args[1]
+ ];
+ if (!_constants.NextVanillaSpanAllowlist.includes(name) && process.env.NEXT_OTEL_VERBOSE !== '1') {
+ return fn;
+ }
+ return function() {
+ let optionsObj = options;
+ if (typeof optionsObj === 'function' && typeof fn === 'function') {
+ optionsObj = optionsObj.apply(this, arguments);
+ }
+ const lastArgId = arguments.length - 1;
+ const cb = arguments[lastArgId];
+ if (typeof cb === 'function') {
+ const scopeBoundCb = tracer.getContext().bind(context.active(), cb);
+ return tracer.trace(name, optionsObj, (_span, done)=>{
+ arguments[lastArgId] = function(err) {
+ done == null ? void 0 : done(err);
+ return scopeBoundCb.apply(this, arguments);
+ };
+ return fn.apply(this, arguments);
+ });
+ } else {
+ return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments));
+ }
+ };
+ }
+ startSpan(...args) {
+ const [type, options] = args;
+ const spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());
+ return this.getTracerInstance().startSpan(type, options, spanContext);
+ }
+ getSpanContext(parentSpan) {
+ const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined;
+ return spanContext;
+ }
+ getRootSpanAttributes() {
+ const spanId = context.active().getValue(rootSpanIdKey);
+ return rootSpanAttributesStore.get(spanId);
+ }
+ setRootSpanAttribute(key, value) {
+ const spanId = context.active().getValue(rootSpanIdKey);
+ const attributes = rootSpanAttributesStore.get(spanId);
+ if (attributes) {
+ attributes.set(key, value);
+ }
+ }
+}
+const getTracer = (()=>{
+ const tracer = new NextTracerImpl();
+ return ()=>tracer;
+})();
+
+//# sourceMappingURL=tracer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..a9b70015b681aa9238030a71bdeb08d050f70ef2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/trace/utils.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getTracedMetadata", {
+ enumerable: true,
+ get: function() {
+ return getTracedMetadata;
+ }
+});
+function getTracedMetadata(traceData, clientTraceMetadata) {
+ if (!clientTraceMetadata) return undefined;
+ return traceData.filter(({ key })=>clientTraceMetadata.includes(key));
+}
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..b35c9874a7dec0342142e30c71b168f2d7044820
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/lib/utils.js
@@ -0,0 +1,254 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ RESTART_EXIT_CODE: null,
+ formatDebugAddress: null,
+ formatNodeOptions: null,
+ getFormattedDebugAddress: null,
+ getFormattedNodeOptionsWithoutInspect: null,
+ getMaxOldSpaceSize: null,
+ getNodeDebugType: null,
+ getParsedDebugAddress: null,
+ getParsedNodeOptionsWithoutInspect: null,
+ parseValidPositiveInteger: null,
+ printAndExit: null,
+ tokenizeArgs: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ RESTART_EXIT_CODE: function() {
+ return RESTART_EXIT_CODE;
+ },
+ formatDebugAddress: function() {
+ return formatDebugAddress;
+ },
+ formatNodeOptions: function() {
+ return formatNodeOptions;
+ },
+ getFormattedDebugAddress: function() {
+ return getFormattedDebugAddress;
+ },
+ getFormattedNodeOptionsWithoutInspect: function() {
+ return getFormattedNodeOptionsWithoutInspect;
+ },
+ getMaxOldSpaceSize: function() {
+ return getMaxOldSpaceSize;
+ },
+ getNodeDebugType: function() {
+ return getNodeDebugType;
+ },
+ getParsedDebugAddress: function() {
+ return getParsedDebugAddress;
+ },
+ getParsedNodeOptionsWithoutInspect: function() {
+ return getParsedNodeOptionsWithoutInspect;
+ },
+ parseValidPositiveInteger: function() {
+ return parseValidPositiveInteger;
+ },
+ printAndExit: function() {
+ return printAndExit;
+ },
+ tokenizeArgs: function() {
+ return tokenizeArgs;
+ }
+});
+const _nodeutil = require("node:util");
+const _commander = require("next/dist/compiled/commander");
+function printAndExit(message, code = 1) {
+ if (code === 0) {
+ console.log(message);
+ } else {
+ console.error(message);
+ }
+ return process.exit(code);
+}
+const parseNodeArgs = (args)=>{
+ const { values, tokens } = (0, _nodeutil.parseArgs)({
+ args,
+ strict: false,
+ tokens: true
+ });
+ // For the `NODE_OPTIONS`, we support arguments with values without the `=`
+ // sign. We need to parse them manually.
+ let orphan = null;
+ for(let i = 0; i < tokens.length; i++){
+ const token = tokens[i];
+ if (token.kind === 'option-terminator') {
+ break;
+ }
+ // When we encounter an option, if it's value is undefined, we should check
+ // to see if the following tokens are positional parameters. If they are,
+ // then the option is orphaned, and we can assign it.
+ if (token.kind === 'option') {
+ orphan = typeof token.value === 'undefined' ? token : null;
+ continue;
+ }
+ // If the token isn't a positional one, then we can't assign it to the found
+ // orphaned option.
+ if (token.kind !== 'positional') {
+ orphan = null;
+ continue;
+ }
+ // If we don't have an orphan, then we can skip this token.
+ if (!orphan) {
+ continue;
+ }
+ // If the token is a positional one, and it has a value, so add it to the
+ // values object. If it already exists, append it with a space.
+ if (orphan.name in values && typeof values[orphan.name] === 'string') {
+ values[orphan.name] += ` ${token.value}`;
+ } else {
+ values[orphan.name] = token.value;
+ }
+ }
+ return values;
+};
+const tokenizeArgs = (input)=>{
+ let args = [];
+ let isInString = false;
+ let willStartNewArg = true;
+ for(let i = 0; i < input.length; i++){
+ let char = input[i];
+ // Skip any escaped characters in strings.
+ if (char === '\\' && isInString) {
+ // Ensure we don't have an escape character at the end.
+ if (input.length === i + 1) {
+ throw Object.defineProperty(new Error('Invalid escape character at the end.'), "__NEXT_ERROR_CODE", {
+ value: "E168",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Skip the next character.
+ char = input[++i];
+ } else if (char === ' ' && !isInString) {
+ willStartNewArg = true;
+ continue;
+ } else if (char === '"') {
+ isInString = !isInString;
+ continue;
+ }
+ // If we're starting a new argument, we should add it to the array.
+ if (willStartNewArg) {
+ args.push(char);
+ willStartNewArg = false;
+ } else {
+ args[args.length - 1] += char;
+ }
+ }
+ if (isInString) {
+ throw Object.defineProperty(new Error('Unterminated string'), "__NEXT_ERROR_CODE", {
+ value: "E208",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return args;
+};
+/**
+ * Get the node options from the environment variable `NODE_OPTIONS` and returns
+ * them as an array of strings.
+ *
+ * @returns An array of strings with the node options.
+ */ const getNodeOptionsArgs = ()=>{
+ if (!process.env.NODE_OPTIONS) return [];
+ return tokenizeArgs(process.env.NODE_OPTIONS);
+};
+const formatDebugAddress = ({ host, port })=>{
+ if (host) return `${host}:${port}`;
+ return `${port}`;
+};
+const getParsedDebugAddress = ()=>{
+ const args = getNodeOptionsArgs();
+ if (args.length === 0) return {
+ host: undefined,
+ port: 9229
+ };
+ const parsed = parseNodeArgs(args);
+ // We expect to find the debug port in one of these options. The first one
+ // found will be used.
+ const address = parsed.inspect ?? parsed['inspect-brk'] ?? parsed['inspect_brk'];
+ if (!address || typeof address !== 'string') {
+ return {
+ host: undefined,
+ port: 9229
+ };
+ }
+ // The address is in the form of `[host:]port`. Let's parse the address.
+ if (address.includes(':')) {
+ const [host, port] = address.split(':');
+ return {
+ host,
+ port: parseInt(port, 10)
+ };
+ }
+ return {
+ host: undefined,
+ port: parseInt(address, 10)
+ };
+};
+const getFormattedDebugAddress = ()=>formatDebugAddress(getParsedDebugAddress());
+function formatNodeOptions(args) {
+ return Object.entries(args).map(([key, value])=>{
+ if (value === true) {
+ return `--${key}`;
+ }
+ if (value) {
+ return `--${key}=${// Values with spaces need to be quoted. We use JSON.stringify to
+ // also escape any nested quotes.
+ value.includes(' ') && !value.startsWith('"') ? JSON.stringify(value) : value}`;
+ }
+ return null;
+ }).filter((arg)=>arg !== null).join(' ');
+}
+function getParsedNodeOptionsWithoutInspect() {
+ const args = getNodeOptionsArgs();
+ if (args.length === 0) return {};
+ const parsed = parseNodeArgs(args);
+ // Remove inspect options.
+ delete parsed.inspect;
+ delete parsed['inspect-brk'];
+ delete parsed['inspect_brk'];
+ return parsed;
+}
+function getFormattedNodeOptionsWithoutInspect() {
+ const args = getParsedNodeOptionsWithoutInspect();
+ if (Object.keys(args).length === 0) return '';
+ return formatNodeOptions(args);
+}
+function parseValidPositiveInteger(value) {
+ const parsedValue = parseInt(value, 10);
+ if (isNaN(parsedValue) || !isFinite(parsedValue) || parsedValue < 0) {
+ throw new _commander.InvalidArgumentError(`'${value}' is not a non-negative number.`);
+ }
+ return parsedValue;
+}
+const RESTART_EXIT_CODE = 77;
+function getNodeDebugType() {
+ const args = [
+ ...process.execArgv,
+ ...getNodeOptionsArgs()
+ ];
+ if (args.length === 0) return;
+ const parsed = parseNodeArgs(args);
+ if (parsed.inspect) return 'inspect';
+ if (parsed['inspect-brk'] || parsed['inspect_brk']) return 'inspect-brk';
+}
+function getMaxOldSpaceSize() {
+ const args = getNodeOptionsArgs();
+ if (args.length === 0) return;
+ const parsed = parseNodeArgs(args);
+ const size = parsed['max-old-space-size'] || parsed['max_old_space_size'];
+ if (!size || typeof size !== 'string') return;
+ return parseInt(size, 10);
+}
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-components.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-components.js
new file mode 100644
index 0000000000000000000000000000000000000000..a25b52ea3919be6d175bb5cbf773efb984a719c0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-components.js
@@ -0,0 +1,159 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ evalManifestWithRetries: null,
+ loadComponents: null,
+ loadManifestWithRetries: null,
+ tryLoadManifestWithRetries: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ evalManifestWithRetries: function() {
+ return evalManifestWithRetries;
+ },
+ loadComponents: function() {
+ return loadComponents;
+ },
+ loadManifestWithRetries: function() {
+ return loadManifestWithRetries;
+ },
+ tryLoadManifestWithRetries: function() {
+ return tryLoadManifestWithRetries;
+ }
+});
+const _constants = require("../shared/lib/constants");
+const _path = require("path");
+const _require = require("./require");
+const _interopdefault = require("../lib/interop-default");
+const _tracer = require("./lib/trace/tracer");
+const _constants1 = require("./lib/trace/constants");
+const _loadmanifestexternal = require("./load-manifest.external");
+const _wait = require("../lib/wait");
+const _encryptionutils = require("./app-render/encryption-utils");
+const _actionutils = require("./app-render/action-utils");
+const _normalizepagepath = require("../shared/lib/page-path/normalize-page-path");
+const _ismetadataroute = require("../lib/metadata/is-metadata-route");
+async function loadManifestWithRetries(manifestPath, attempts = 3) {
+ while(true){
+ try {
+ return (0, _loadmanifestexternal.loadManifest)(manifestPath);
+ } catch (err) {
+ attempts--;
+ if (attempts <= 0) throw err;
+ await (0, _wait.wait)(100);
+ }
+ }
+}
+async function tryLoadManifestWithRetries(manifestPath, attempts = 3) {
+ try {
+ return await loadManifestWithRetries(manifestPath, attempts);
+ } catch (err) {
+ return undefined;
+ }
+}
+async function evalManifestWithRetries(manifestPath, attempts = 3) {
+ while(true){
+ try {
+ return (0, _loadmanifestexternal.evalManifest)(manifestPath);
+ } catch (err) {
+ attempts--;
+ if (attempts <= 0) throw err;
+ await (0, _wait.wait)(100);
+ }
+ }
+}
+async function tryLoadClientReferenceManifest(manifestPath, entryName, attempts) {
+ try {
+ const context = await evalManifestWithRetries(manifestPath, attempts);
+ return context.__RSC_MANIFEST[entryName];
+ } catch (err) {
+ return undefined;
+ }
+}
+async function loadComponentsImpl({ distDir, page, isAppPath, isDev, sriEnabled }) {
+ let DocumentMod = {};
+ let AppMod = {};
+ if (!isAppPath) {
+ ;
+ [DocumentMod, AppMod] = await Promise.all([
+ (0, _require.requirePage)('/_document', distDir, false),
+ (0, _require.requirePage)('/_app', distDir, false)
+ ]);
+ }
+ // In dev mode we retry loading a manifest file to handle a race condition
+ // that can occur while app and pages are compiling at the same time, and the
+ // build-manifest is still being written to disk while an app path is
+ // attempting to load.
+ const manifestLoadAttempts = isDev ? 3 : 1;
+ let reactLoadableManifestPath;
+ if (!process.env.TURBOPACK) {
+ reactLoadableManifestPath = (0, _path.join)(distDir, _constants.REACT_LOADABLE_MANIFEST);
+ } else if (isAppPath) {
+ reactLoadableManifestPath = (0, _path.join)(distDir, 'server', 'app', page, _constants.REACT_LOADABLE_MANIFEST);
+ } else {
+ reactLoadableManifestPath = (0, _path.join)(distDir, 'server', 'pages', (0, _normalizepagepath.normalizePagePath)(page), _constants.REACT_LOADABLE_MANIFEST);
+ }
+ // Make sure to avoid loading the manifest for static metadata routes for better performance.
+ const hasClientManifest = !(0, _ismetadataroute.isStaticMetadataRoute)(page);
+ // Load the manifest files first
+ //
+ // Loading page-specific manifests shouldn't throw an error if the manifest couldn't be found, so
+ // that the `requirePage` call below will throw the correct error in that case
+ // (a `PageNotFoundError`).
+ const [buildManifest, reactLoadableManifest, dynamicCssManifest, clientReferenceManifest, serverActionsManifest, subresourceIntegrityManifest] = await Promise.all([
+ loadManifestWithRetries((0, _path.join)(distDir, _constants.BUILD_MANIFEST), manifestLoadAttempts),
+ tryLoadManifestWithRetries(reactLoadableManifestPath, manifestLoadAttempts),
+ // This manifest will only exist in Pages dir && Production && Webpack.
+ isAppPath || process.env.TURBOPACK ? undefined : loadManifestWithRetries((0, _path.join)(distDir, `${_constants.DYNAMIC_CSS_MANIFEST}.json`), manifestLoadAttempts).catch(()=>undefined),
+ isAppPath && hasClientManifest ? tryLoadClientReferenceManifest((0, _path.join)(distDir, 'server', 'app', page.replace(/%5F/g, '_') + '_' + _constants.CLIENT_REFERENCE_MANIFEST + '.js'), page.replace(/%5F/g, '_'), manifestLoadAttempts) : undefined,
+ isAppPath ? loadManifestWithRetries((0, _path.join)(distDir, 'server', _constants.SERVER_REFERENCE_MANIFEST + '.json'), manifestLoadAttempts).catch(()=>null) : null,
+ sriEnabled ? loadManifestWithRetries((0, _path.join)(distDir, 'server', _constants.SUBRESOURCE_INTEGRITY_MANIFEST + '.json')).catch(()=>undefined) : undefined
+ ]);
+ // Before requiring the actual page module, we have to set the reference
+ // manifests to our global store so Server Action's encryption util can access
+ // to them at the top level of the page module.
+ if (serverActionsManifest && clientReferenceManifest) {
+ (0, _encryptionutils.setReferenceManifestsSingleton)({
+ page,
+ clientReferenceManifest,
+ serverActionsManifest,
+ serverModuleMap: (0, _actionutils.createServerModuleMap)({
+ serverActionsManifest
+ })
+ });
+ }
+ const ComponentMod = await (0, _require.requirePage)(page, distDir, isAppPath);
+ const Component = (0, _interopdefault.interopDefault)(ComponentMod);
+ const Document = (0, _interopdefault.interopDefault)(DocumentMod);
+ const App = (0, _interopdefault.interopDefault)(AppMod);
+ const { getServerSideProps, getStaticProps, getStaticPaths, routeModule } = ComponentMod;
+ return {
+ App,
+ Document,
+ Component,
+ buildManifest,
+ subresourceIntegrityManifest,
+ reactLoadableManifest: reactLoadableManifest || {},
+ dynamicCssManifest,
+ pageConfig: ComponentMod.config || {},
+ ComponentMod,
+ getServerSideProps,
+ getStaticProps,
+ getStaticPaths,
+ clientReferenceManifest,
+ serverActionsManifest,
+ isAppPath,
+ page,
+ routeModule
+ };
+}
+const loadComponents = (0, _tracer.getTracer)().wrap(_constants1.LoadComponentsSpan.loadComponents, loadComponentsImpl);
+
+//# sourceMappingURL=load-components.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-default-error-components.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-default-error-components.js
new file mode 100644
index 0000000000000000000000000000000000000000..155519535f3083ab7121d0cfcf84867b6acd2f54
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-default-error-components.js
@@ -0,0 +1,41 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "loadDefaultErrorComponents", {
+ enumerable: true,
+ get: function() {
+ return loadDefaultErrorComponents;
+ }
+});
+const _constants = require("../shared/lib/constants");
+const _path = require("path");
+const _interopdefault = require("../lib/interop-default");
+const _tracer = require("./lib/trace/tracer");
+const _constants1 = require("./lib/trace/constants");
+const _loadcomponents = require("./load-components");
+async function loadDefaultErrorComponentsImpl(distDir) {
+ // eslint-disable-next-line @next/internal/typechecked-require -- Why not relative imports?
+ const Document = (0, _interopdefault.interopDefault)(require('next/dist/pages/_document'));
+ // eslint-disable-next-line @next/internal/typechecked-require -- Why not relative imports?
+ const AppMod = require('next/dist/pages/_app');
+ const App = (0, _interopdefault.interopDefault)(AppMod);
+ // Load the compiled route module for this builtin error.
+ // TODO: (wyattjoh) replace this with just exporting the route module when the transition is complete
+ const ComponentMod = require('./route-modules/pages/builtin/_error');
+ const Component = ComponentMod.routeModule.userland.default;
+ return {
+ App,
+ Document,
+ Component,
+ pageConfig: {},
+ buildManifest: await (0, _loadcomponents.loadManifestWithRetries)((0, _path.join)(distDir, `fallback-${_constants.BUILD_MANIFEST}`)),
+ reactLoadableManifest: {},
+ ComponentMod,
+ page: '/_error',
+ routeModule: ComponentMod.routeModule
+ };
+}
+const loadDefaultErrorComponents = (0, _tracer.getTracer)().wrap(_constants1.LoadComponentsSpan.loadDefaultErrorComponents, loadDefaultErrorComponentsImpl);
+
+//# sourceMappingURL=load-default-error-components.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-manifest.external.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-manifest.external.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec202b784b1f8cc2b698ad6acb4856a86c5caf5d
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/load-manifest.external.js
@@ -0,0 +1,97 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ clearManifestCache: null,
+ evalManifest: null,
+ loadManifest: null,
+ loadManifestFromRelativePath: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ clearManifestCache: function() {
+ return clearManifestCache;
+ },
+ evalManifest: function() {
+ return evalManifest;
+ },
+ loadManifest: function() {
+ return loadManifest;
+ },
+ loadManifestFromRelativePath: function() {
+ return loadManifestFromRelativePath;
+ }
+});
+const _path = require("path");
+const _fs = require("fs");
+const _vm = require("vm");
+const _deepfreeze = require("../shared/lib/deep-freeze");
+const sharedCache = new Map();
+function loadManifest(path, shouldCache = true, cache = sharedCache, skipParse = false) {
+ const cached = shouldCache && cache.get(path);
+ if (cached) {
+ return cached;
+ }
+ let manifest = (0, _fs.readFileSync)(/* turbopackIgnore: true */ path, 'utf8');
+ if (!skipParse) {
+ manifest = JSON.parse(manifest);
+ // Freeze the manifest so it cannot be modified if we're caching it.
+ if (shouldCache) {
+ manifest = (0, _deepfreeze.deepFreeze)(manifest);
+ }
+ }
+ if (shouldCache) {
+ cache.set(path, manifest);
+ }
+ return manifest;
+}
+function evalManifest(path, shouldCache = true, cache = sharedCache) {
+ const cached = shouldCache && cache.get(path);
+ if (cached) {
+ return cached;
+ }
+ const content = (0, _fs.readFileSync)(/* turbopackIgnore: true */ path, 'utf8');
+ if (content.length === 0) {
+ throw Object.defineProperty(new Error('Manifest file is empty'), "__NEXT_ERROR_CODE", {
+ value: "E328",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let contextObject = {};
+ (0, _vm.runInNewContext)(content, contextObject);
+ // Freeze the context object so it cannot be modified if we're caching it.
+ if (shouldCache) {
+ contextObject = (0, _deepfreeze.deepFreeze)(contextObject);
+ }
+ if (shouldCache) {
+ cache.set(path, contextObject);
+ }
+ return contextObject;
+}
+function loadManifestFromRelativePath({ projectDir, distDir, manifest, shouldCache, cache, skipParse, handleMissing, useEval }) {
+ try {
+ const manifestPath = (0, _path.join)(/* turbopackIgnore: true */ projectDir, distDir, manifest);
+ if (useEval) {
+ return evalManifest(manifestPath, shouldCache, cache);
+ }
+ return loadManifest(manifestPath, shouldCache, cache, skipParse);
+ } catch (err) {
+ if (handleMissing) {
+ // TODO: should this be undefined
+ return {};
+ }
+ throw err;
+ }
+}
+function clearManifestCache(path, cache = sharedCache) {
+ return cache.delete(path);
+}
+
+//# sourceMappingURL=load-manifest.external.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/match-bundle.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/match-bundle.js
new file mode 100644
index 0000000000000000000000000000000000000000..a9d5cf07e98a8e535e10098a7f41b592f10e7c88
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/match-bundle.js
@@ -0,0 +1,25 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return matchBundle;
+ }
+});
+const _getroutefromassetpath = /*#__PURE__*/ _interop_require_default(require("../shared/lib/router/utils/get-route-from-asset-path"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function matchBundle(regex, input) {
+ const result = regex.exec(input);
+ if (!result) {
+ return null;
+ }
+ return (0, _getroutefromassetpath.default)(`/${result[1]}`);
+}
+
+//# sourceMappingURL=match-bundle.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-server.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-server.js
new file mode 100644
index 0000000000000000000000000000000000000000..58c2cf0b5a4e089b95bbe3ce56599a1fd69b4d9e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-server.js
@@ -0,0 +1,1472 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return NextNodeServer;
+ }
+});
+0 && __export(require("./base-server"));
+require("./node-environment");
+require("./require-hook");
+require("./node-polyfill-crypto");
+const _utils = require("../shared/lib/utils");
+const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
+const _path = require("path");
+const _routematcher = require("../shared/lib/router/utils/route-matcher");
+const _requestmeta = require("./request-meta");
+const _constants = require("../shared/lib/constants");
+const _findpagesdir = require("../lib/find-pages-dir");
+const _node = require("./base-http/node");
+const _sendpayload = require("./send-payload");
+const _parseurl = require("../shared/lib/router/utils/parse-url");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
+const _baseserver = /*#__PURE__*/ _interop_require_default(_export_star(require("./base-server"), exports));
+const _require = require("./require");
+const _denormalizepagepath = require("../shared/lib/page-path/denormalize-page-path");
+const _normalizepagepath = require("../shared/lib/page-path/normalize-page-path");
+const _loadcomponents = require("./load-components");
+const _iserror = /*#__PURE__*/ _interop_require_wildcard(require("../lib/is-error"));
+const _utils1 = require("./web/utils");
+const _middlewareroutematcher = require("../shared/lib/router/utils/middleware-route-matcher");
+const _env = require("@next/env");
+const _querystring = require("../shared/lib/router/utils/querystring");
+const _removetrailingslash = require("../shared/lib/router/utils/remove-trailing-slash");
+const _getnextpathnameinfo = require("../shared/lib/router/utils/get-next-pathname-info");
+const _bodystreams = require("./body-streams");
+const _apiutils = require("./api-utils");
+const _responsecache = /*#__PURE__*/ _interop_require_wildcard(require("./response-cache"));
+const _incrementalcache = require("./lib/incremental-cache");
+const _apppaths = require("../shared/lib/router/utils/app-paths");
+const _setuphttpagentenv = require("./setup-http-agent-env");
+const _pagesapiroutematch = require("./route-matches/pages-api-route-match");
+const _tracer = require("./lib/trace/tracer");
+const _constants1 = require("./lib/trace/constants");
+const _nodefsmethods = require("./lib/node-fs-methods");
+const _routeregex = require("../shared/lib/router/utils/route-regex");
+const _pipereadable = require("./pipe-readable");
+const _mockrequest = require("./lib/mock-request");
+const _approuterheaders = require("../client/components/app-router-headers");
+const _nextrequest = require("./web/spec-extension/adapters/next-request");
+const _loadmanifestexternal = require("./load-manifest.external");
+const _modulerender = require("./route-modules/app-page/module.render");
+const _modulerender1 = require("./route-modules/pages/module.render");
+const _interopdefault = require("../lib/interop-default");
+const _formatdynamicimportpath = require("../lib/format-dynamic-import-path");
+const _generateinterceptionroutesrewrites = require("../lib/generate-interception-routes-rewrites");
+const _routekind = require("./route-kind");
+const _invarianterror = require("../shared/lib/invariant-error");
+const _awaiter = require("./after/awaiter");
+const _asynccallbackset = require("./lib/async-callback-set");
+const _handlers = require("./use-cache/handlers");
+const _staticenv = require("../lib/static-env");
+const _ispostpone = require("./lib/router-utils/is-postpone");
+const _nodemoduleloader = require("./lib/module-loader/node-module-loader");
+const _nofallbackerrorexternal = require("../shared/lib/no-fallback-error.external");
+const _instrumentationglobalsexternal = require("./lib/router-utils/instrumentation-globals.external");
+const _routerservercontext = require("./lib/router-utils/router-server-context");
+function _export_star(from, to) {
+ Object.keys(from).forEach(function(k) {
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
+ Object.defineProperty(to, k, {
+ enumerable: true,
+ get: function() {
+ return from[k];
+ }
+ });
+ }
+ });
+ return from;
+}
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+// For module that can be both CJS or ESM
+const dynamicImportEsmDefault = process.env.NEXT_MINIMAL ? (id)=>import(/* webpackIgnore: true */ id).then((mod)=>mod.default || mod) : (id)=>import(id).then((mod)=>mod.default || mod);
+const MiddlewareMatcherCache = new WeakMap();
+function getMiddlewareMatcher(info) {
+ const stored = MiddlewareMatcherCache.get(info);
+ if (stored) {
+ return stored;
+ }
+ if (!Array.isArray(info.matchers)) {
+ throw Object.defineProperty(new Error(`Invariant: invalid matchers for middleware ${JSON.stringify(info)}`), "__NEXT_ERROR_CODE", {
+ value: "E257",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const matcher = (0, _middlewareroutematcher.getMiddlewareRouteMatcher)(info.matchers);
+ MiddlewareMatcherCache.set(info, matcher);
+ return matcher;
+}
+function installProcessErrorHandlers(shouldRemoveUncaughtErrorAndRejectionListeners) {
+ // The conventional wisdom of Node.js and other runtimes is to treat
+ // unhandled errors as fatal and exit the process.
+ //
+ // But Next.js is not a generic JS runtime — it's a specialized runtime for
+ // React Server Components.
+ //
+ // Many unhandled rejections are due to the late-awaiting pattern for
+ // prefetching data. In Next.js it's OK to call an async function without
+ // immediately awaiting it, to start the request as soon as possible
+ // without blocking unncessarily on the result. These can end up
+ // triggering an "unhandledRejection" if it later turns out that the
+ // data is not needed to render the page. Example:
+ //
+ // const promise = fetchData()
+ // const shouldShow = await checkCondition()
+ // if (shouldShow) {
+ // return
+ // }
+ //
+ // In this example, `fetchData` is called immediately to start the request
+ // as soon as possible, but if `shouldShow` is false, then it will be
+ // discarded without unwrapping its result. If it errors, it will trigger
+ // an "unhandledRejection" event.
+ //
+ // Ideally, we would suppress these rejections completely without warning,
+ // because we don't consider them real errors. (TODO: Currently we do warn.)
+ //
+ // But regardless of whether we do or don't warn, we definitely shouldn't
+ // crash the entire process.
+ //
+ // Even a "legit" unhandled error unrelated to prefetching shouldn't
+ // prevent the rest of the page from rendering.
+ //
+ // So, we're going to intentionally override the default error handling
+ // behavior of the outer JS runtime to be more forgiving
+ // Remove any existing "unhandledRejection" and "uncaughtException" handlers.
+ // This is gated behind an experimental flag until we've considered the impact
+ // in various deployment environments. It's possible this may always need to
+ // be configurable.
+ if (shouldRemoveUncaughtErrorAndRejectionListeners) {
+ process.removeAllListeners('uncaughtException');
+ process.removeAllListeners('unhandledRejection');
+ }
+ // Install a new handler to prevent the process from crashing.
+ process.on('unhandledRejection', (reason)=>{
+ if ((0, _ispostpone.isPostpone)(reason)) {
+ // React postpones that are unhandled might end up logged here but they're
+ // not really errors. They're just part of rendering.
+ return;
+ }
+ // Immediately log the error.
+ // TODO: Ideally, if we knew that this error was triggered by application
+ // code, we would suppress it entirely without logging. We can't reliably
+ // detect all of these, but when dynamicIO is enabled, we could suppress
+ // at least some of them by waiting to log the error until after all in-
+ // progress renders have completed. Then, only log errors for which there
+ // was not a corresponding "rejectionHandled" event.
+ console.error(reason);
+ });
+ process.on('rejectionHandled', ()=>{
+ // TODO: See note in the unhandledRejection handler above. In the future,
+ // we may use the "rejectionHandled" event to de-queue an error from
+ // being logged.
+ });
+ // Unhandled exceptions are errors triggered by non-async functions, so this
+ // is unrelated to the late-awaiting pattern. However, for similar reasons,
+ // we still shouldn't crash the process. Just log it.
+ process.on('uncaughtException', (reason)=>{
+ if ((0, _ispostpone.isPostpone)(reason)) {
+ return;
+ }
+ console.error(reason);
+ });
+}
+class NextNodeServer extends _baseserver.default {
+ constructor(options){
+ var _options_conf_experimental_sri, _options_conf_experimental, _options_conf_experimental1;
+ // Initialize super class
+ super(options), this.registeredInstrumentation = false, this.cleanupListeners = new _asynccallbackset.AsyncCallbackSet(), this.handleNextImageRequest = async (req, res, parsedUrl)=>{
+ if (!parsedUrl.pathname || !parsedUrl.pathname.startsWith('/_next/image')) {
+ return false;
+ }
+ // Ignore if its a middleware request
+ if ((0, _requestmeta.getRequestMeta)(req, 'middlewareInvoke')) {
+ return false;
+ }
+ if (this.minimalMode || this.nextConfig.output === 'export' || process.env.NEXT_MINIMAL) {
+ res.statusCode = 400;
+ res.body('Bad Request').send();
+ return true;
+ // the `else` branch is needed for tree-shaking
+ } else {
+ const { ImageOptimizerCache } = require('./image-optimizer');
+ const imageOptimizerCache = new ImageOptimizerCache({
+ distDir: this.distDir,
+ nextConfig: this.nextConfig
+ });
+ const { sendResponse, ImageError } = require('./image-optimizer');
+ if (!this.imageResponseCache) {
+ throw Object.defineProperty(new Error('invariant image optimizer cache was not initialized'), "__NEXT_ERROR_CODE", {
+ value: "E160",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const imagesConfig = this.nextConfig.images;
+ if (imagesConfig.loader !== 'default' || imagesConfig.unoptimized) {
+ await this.render404(req, res);
+ return true;
+ }
+ const paramsResult = ImageOptimizerCache.validateParams(req.originalRequest, parsedUrl.query, this.nextConfig, !!this.renderOpts.dev);
+ if ('errorMessage' in paramsResult) {
+ res.statusCode = 400;
+ res.body(paramsResult.errorMessage).send();
+ return true;
+ }
+ const cacheKey = ImageOptimizerCache.getCacheKey(paramsResult);
+ try {
+ var _cacheEntry_value, _cacheEntry_cacheControl;
+ const { getExtension } = require('./serve-static');
+ const cacheEntry = await this.imageResponseCache.get(cacheKey, async ({ previousCacheEntry })=>{
+ const { buffer, contentType, maxAge, upstreamEtag, etag } = await this.imageOptimizer(req, res, paramsResult, previousCacheEntry);
+ return {
+ value: {
+ kind: _responsecache.CachedRouteKind.IMAGE,
+ buffer,
+ etag,
+ extension: getExtension(contentType),
+ upstreamEtag
+ },
+ cacheControl: {
+ revalidate: maxAge,
+ expire: undefined
+ }
+ };
+ }, {
+ routeKind: _routekind.RouteKind.IMAGE,
+ incrementalCache: imageOptimizerCache,
+ isFallback: false
+ });
+ if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== _responsecache.CachedRouteKind.IMAGE) {
+ throw Object.defineProperty(new Error('invariant did not get entry from image response cache'), "__NEXT_ERROR_CODE", {
+ value: "E518",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ sendResponse(req.originalRequest, res.originalResponse, paramsResult.href, cacheEntry.value.extension, cacheEntry.value.buffer, cacheEntry.value.etag, paramsResult.isStatic, cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT', imagesConfig, ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.revalidate) || 0, Boolean(this.renderOpts.dev));
+ return true;
+ } catch (err) {
+ if (err instanceof ImageError) {
+ res.statusCode = err.statusCode;
+ res.body(err.message).send();
+ return true;
+ }
+ throw err;
+ }
+ }
+ }, this.handleCatchallRenderRequest = async (req, res, parsedUrl)=>{
+ let { pathname, query } = parsedUrl;
+ if (!pathname) {
+ throw Object.defineProperty(new Error('Invariant: pathname is undefined'), "__NEXT_ERROR_CODE", {
+ value: "E409",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // This is a catch-all route, there should be no fallbacks so mark it as
+ // such.
+ (0, _requestmeta.addRequestMeta)(req, 'bubbleNoFallback', true);
+ // TODO: this is only needed until route-module can handle
+ // rendering/serving the 404 directly with next-server
+ if (!_routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol]) {
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol] = {};
+ }
+ const relativeProjectDir = (0, _path.relative)(process.cwd(), this.dir);
+ const existingServerContext = _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol][relativeProjectDir];
+ if (!existingServerContext) {
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol][relativeProjectDir] = {
+ render404: this.render404.bind(this)
+ };
+ }
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol][relativeProjectDir].nextConfig = this.nextConfig;
+ try {
+ var _this_i18nProvider;
+ // next.js core assumes page path without trailing slash
+ pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);
+ const options = {
+ i18n: (_this_i18nProvider = this.i18nProvider) == null ? void 0 : _this_i18nProvider.fromRequest(req, pathname)
+ };
+ const match = await this.matchers.match(pathname, options);
+ // If we don't have a match, try to render it anyways.
+ if (!match) {
+ await this.render(req, res, pathname, query, parsedUrl, true);
+ return true;
+ }
+ // Add the match to the request so we don't have to re-run the matcher
+ // for the same request.
+ (0, _requestmeta.addRequestMeta)(req, 'match', match);
+ // TODO-APP: move this to a route handler
+ const edgeFunctionsPages = this.getEdgeFunctionsPages();
+ for (const edgeFunctionsPage of edgeFunctionsPages){
+ // If the page doesn't match the edge function page, skip it.
+ if (edgeFunctionsPage !== match.definition.page) continue;
+ if (this.nextConfig.output === 'export') {
+ await this.render404(req, res, parsedUrl);
+ return true;
+ }
+ delete query[_approuterheaders.NEXT_RSC_UNION_QUERY];
+ // If we handled the request, we can return early.
+ // For api routes edge runtime
+ try {
+ const handled = await this.runEdgeFunction({
+ req,
+ res,
+ query,
+ params: match.params,
+ page: match.definition.page,
+ match,
+ appPaths: null
+ });
+ if (handled) return true;
+ } catch (apiError) {
+ await this.instrumentationOnRequestError(apiError, req, {
+ routePath: match.definition.page,
+ routerKind: 'Pages Router',
+ routeType: 'route',
+ // Edge runtime does not support ISR
+ revalidateReason: undefined
+ });
+ throw apiError;
+ }
+ }
+ // If the route was detected as being a Pages API route, then handle
+ // it.
+ // TODO: move this behavior into a route handler.
+ if ((0, _pagesapiroutematch.isPagesAPIRouteMatch)(match)) {
+ if (this.nextConfig.output === 'export') {
+ await this.render404(req, res, parsedUrl);
+ return true;
+ }
+ const handled = await this.handleApiRequest(req, res, query, match);
+ if (handled) return true;
+ }
+ await this.render(req, res, pathname, query, parsedUrl, true);
+ return true;
+ } catch (err) {
+ if (err instanceof _nofallbackerrorexternal.NoFallbackError) {
+ throw err;
+ }
+ try {
+ if (this.renderOpts.dev) {
+ const { formatServerError } = require('../lib/format-server-error');
+ formatServerError(err);
+ this.logErrorWithOriginalStack(err);
+ } else {
+ this.logError(err);
+ }
+ res.statusCode = 500;
+ await this.renderError(err, req, res, pathname, query);
+ return true;
+ } catch {}
+ throw err;
+ }
+ }, this.handleCatchallMiddlewareRequest = async (req, res, parsed)=>{
+ const isMiddlewareInvoke = (0, _requestmeta.getRequestMeta)(req, 'middlewareInvoke');
+ if (!isMiddlewareInvoke) {
+ return false;
+ }
+ const handleFinished = ()=>{
+ (0, _requestmeta.addRequestMeta)(req, 'middlewareInvoke', true);
+ res.body('').send();
+ return true;
+ };
+ const middleware = await this.getMiddleware();
+ if (!middleware) {
+ return handleFinished();
+ }
+ const initUrl = (0, _requestmeta.getRequestMeta)(req, 'initURL');
+ const parsedUrl = (0, _parseurl.parseUrl)(initUrl);
+ const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedUrl.pathname, {
+ nextConfig: this.nextConfig,
+ i18nProvider: this.i18nProvider
+ });
+ parsedUrl.pathname = pathnameInfo.pathname;
+ const normalizedPathname = (0, _removetrailingslash.removeTrailingSlash)(parsed.pathname || '');
+ let maybeDecodedPathname = normalizedPathname;
+ try {
+ maybeDecodedPathname = decodeURIComponent(normalizedPathname);
+ } catch {
+ /* non-fatal we can't decode so can't match it */ }
+ if (!(middleware.match(normalizedPathname, req, parsedUrl.query) || middleware.match(maybeDecodedPathname, req, parsedUrl.query))) {
+ return handleFinished();
+ }
+ let result;
+ let bubblingResult = false;
+ try {
+ await this.ensureMiddleware(req.url);
+ result = await this.runMiddleware({
+ request: req,
+ response: res,
+ parsedUrl: parsedUrl,
+ parsed: parsed
+ });
+ if ('response' in result) {
+ if (isMiddlewareInvoke) {
+ bubblingResult = true;
+ throw Object.defineProperty(new _tracer.BubbledError(true, result), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ for (const [key, value] of Object.entries((0, _utils1.toNodeOutgoingHttpHeaders)(result.response.headers))){
+ if (key !== 'content-encoding' && value !== undefined) {
+ res.setHeader(key, value);
+ }
+ }
+ res.statusCode = result.response.status;
+ const { originalResponse } = res;
+ if (result.response.body) {
+ await (0, _pipereadable.pipeToNodeResponse)(result.response.body, originalResponse);
+ } else {
+ originalResponse.end();
+ }
+ return true;
+ }
+ } catch (err) {
+ if (bubblingResult) {
+ throw err;
+ }
+ if ((0, _iserror.default)(err) && err.code === 'ENOENT') {
+ await this.render404(req, res, parsed);
+ return true;
+ }
+ if (err instanceof _utils.DecodeError) {
+ res.statusCode = 400;
+ await this.renderError(err, req, res, parsed.pathname || '');
+ return true;
+ }
+ const error = (0, _iserror.getProperError)(err);
+ console.error(error);
+ res.statusCode = 500;
+ await this.renderError(error, req, res, parsed.pathname || '');
+ return true;
+ }
+ return result.finished;
+ };
+ const isDev = options.dev ?? false;
+ this.isDev = isDev;
+ this.sriEnabled = Boolean((_options_conf_experimental = options.conf.experimental) == null ? void 0 : (_options_conf_experimental_sri = _options_conf_experimental.sri) == null ? void 0 : _options_conf_experimental_sri.algorithm);
+ /**
+ * This sets environment variable to be used at the time of SSR by head.tsx.
+ * Using this from process.env allows targeting SSR by calling
+ * `process.env.__NEXT_OPTIMIZE_CSS`.
+ */ if (this.renderOpts.optimizeCss) {
+ process.env.__NEXT_OPTIMIZE_CSS = JSON.stringify(true);
+ }
+ if (this.renderOpts.nextScriptWorkers) {
+ process.env.__NEXT_SCRIPT_WORKERS = JSON.stringify(true);
+ }
+ process.env.NEXT_DEPLOYMENT_ID = this.nextConfig.experimental.useSkewCookie ? '' : this.nextConfig.deploymentId || '';
+ if (!this.minimalMode) {
+ this.imageResponseCache = new _responsecache.default(this.minimalMode);
+ }
+ const { appDocumentPreloading } = this.nextConfig.experimental;
+ const isDefaultEnabled = typeof appDocumentPreloading === 'undefined';
+ if (!options.dev && (appDocumentPreloading === true || !(this.minimalMode && isDefaultEnabled))) {
+ // pre-warm _document and _app as these will be
+ // needed for most requests
+ (0, _loadcomponents.loadComponents)({
+ distDir: this.distDir,
+ page: '/_document',
+ isAppPath: false,
+ isDev: this.isDev,
+ sriEnabled: this.sriEnabled
+ }).catch(()=>{});
+ (0, _loadcomponents.loadComponents)({
+ distDir: this.distDir,
+ page: '/_app',
+ isAppPath: false,
+ isDev: this.isDev,
+ sriEnabled: this.sriEnabled
+ }).catch(()=>{});
+ }
+ if (!options.dev && !this.minimalMode && this.nextConfig.experimental.preloadEntriesOnStart) {
+ this.unstable_preloadEntries();
+ }
+ if (!options.dev) {
+ const { dynamicRoutes = [] } = this.getRoutesManifest() ?? {};
+ this.dynamicRoutes = dynamicRoutes.map((r)=>{
+ // TODO: can we just re-use the regex from the manifest?
+ const regex = (0, _routeregex.getRouteRegex)(r.page);
+ const match = (0, _routematcher.getRouteMatcher)(regex);
+ return {
+ match,
+ page: r.page,
+ re: regex.re
+ };
+ });
+ }
+ // ensure options are set when loadConfig isn't called
+ (0, _setuphttpagentenv.setHttpClientAndAgentOptions)(this.nextConfig);
+ // Intercept fetch and other testmode apis.
+ if (this.serverOptions.experimentalTestProxy) {
+ process.env.NEXT_PRIVATE_TEST_PROXY = 'true';
+ const { interceptTestApis } = // eslint-disable-next-line @next/internal/typechecked-require -- experimental/testmode is not built ins next/dist/esm
+ require('next/dist/experimental/testmode/server');
+ interceptTestApis();
+ }
+ this.middlewareManifestPath = (0, _path.join)(this.serverDistDir, _constants.MIDDLEWARE_MANIFEST);
+ // This is just optimization to fire prepare as soon as possible. It will be
+ // properly awaited later. We add the catch here to ensure that it does not
+ // cause a unhandled promise rejection. The promise rejection will be
+ // handled later on via the `await` when the request handler is called.
+ if (!options.dev) {
+ this.prepare().catch((err)=>{
+ console.error('Failed to prepare server', err);
+ });
+ }
+ // when using compile mode static env isn't inlined so we
+ // need to populate in normal runtime env
+ if (this.renderOpts.isExperimentalCompile) {
+ (0, _staticenv.populateStaticEnv)(this.nextConfig);
+ }
+ const shouldRemoveUncaughtErrorAndRejectionListeners = Boolean((_options_conf_experimental1 = options.conf.experimental) == null ? void 0 : _options_conf_experimental1.removeUncaughtErrorAndRejectionListeners);
+ installProcessErrorHandlers(shouldRemoveUncaughtErrorAndRejectionListeners);
+ }
+ async unstable_preloadEntries() {
+ // Ensure prepare process will be finished before preloading entries.
+ await this.prepare();
+ const appPathsManifest = this.getAppPathsManifest();
+ const pagesManifest = this.getPagesManifest();
+ await this.loadCustomCacheHandlers();
+ for (const page of Object.keys(pagesManifest || {})){
+ await (0, _loadcomponents.loadComponents)({
+ distDir: this.distDir,
+ page,
+ isAppPath: false,
+ isDev: this.isDev,
+ sriEnabled: this.sriEnabled
+ }).catch(()=>{});
+ }
+ for (const page of Object.keys(appPathsManifest || {})){
+ await (0, _loadcomponents.loadComponents)({
+ distDir: this.distDir,
+ page,
+ isAppPath: true,
+ isDev: this.isDev,
+ sriEnabled: this.sriEnabled
+ }).then(async ({ ComponentMod })=>{
+ // we need to ensure fetch is patched before we require the page,
+ // otherwise if the fetch is patched by user code, we will be patching it
+ // too late and there won't be any caching behaviors
+ ComponentMod.patchFetch();
+ const webpackRequire = ComponentMod.__next_app__.require;
+ if (webpackRequire == null ? void 0 : webpackRequire.m) {
+ for (const id of Object.keys(webpackRequire.m)){
+ await webpackRequire(id);
+ }
+ }
+ }).catch(()=>{});
+ }
+ }
+ async handleUpgrade() {
+ // The web server does not support web sockets, it's only used for HMR in
+ // development.
+ }
+ async loadInstrumentationModule() {
+ if (!this.serverOptions.dev) {
+ try {
+ this.instrumentation = await (0, _instrumentationglobalsexternal.getInstrumentationModule)(this.dir, this.nextConfig.distDir);
+ } catch (err) {
+ if (err.code !== 'MODULE_NOT_FOUND') {
+ throw Object.defineProperty(new Error('An error occurred while loading the instrumentation hook', {
+ cause: err
+ }), "__NEXT_ERROR_CODE", {
+ value: "E92",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ }
+ return this.instrumentation;
+ }
+ async prepareImpl() {
+ await super.prepareImpl();
+ await this.runInstrumentationHookIfAvailable();
+ }
+ async runInstrumentationHookIfAvailable() {
+ await (0, _instrumentationglobalsexternal.ensureInstrumentationRegistered)(this.dir, this.nextConfig.distDir);
+ }
+ loadEnvConfig({ dev, forceReload, silent }) {
+ (0, _env.loadEnvConfig)(this.dir, dev, silent ? {
+ info: ()=>{},
+ error: ()=>{}
+ } : _log, forceReload);
+ }
+ async loadCustomCacheHandlers() {
+ const { cacheHandlers } = this.nextConfig.experimental;
+ if (!cacheHandlers) return;
+ // If we've already initialized the cache handlers interface, don't do it
+ // again.
+ if (!(0, _handlers.initializeCacheHandlers)()) return;
+ for (const [kind, handler] of Object.entries(cacheHandlers)){
+ if (!handler) continue;
+ (0, _handlers.setCacheHandler)(kind, (0, _interopdefault.interopDefault)(await dynamicImportEsmDefault((0, _formatdynamicimportpath.formatDynamicImportPath)(this.distDir, handler))));
+ }
+ }
+ async getIncrementalCache({ requestHeaders }) {
+ const dev = !!this.renderOpts.dev;
+ let CacheHandler;
+ const { cacheHandler } = this.nextConfig;
+ if (cacheHandler) {
+ CacheHandler = (0, _interopdefault.interopDefault)(await dynamicImportEsmDefault((0, _formatdynamicimportpath.formatDynamicImportPath)(this.distDir, cacheHandler)));
+ }
+ await this.loadCustomCacheHandlers();
+ // incremental-cache is request specific
+ // although can have shared caches in module scope
+ // per-cache handler
+ return new _incrementalcache.IncrementalCache({
+ fs: this.getCacheFilesystem(),
+ dev,
+ requestHeaders,
+ allowedRevalidateHeaderKeys: this.nextConfig.experimental.allowedRevalidateHeaderKeys,
+ minimalMode: this.minimalMode,
+ serverDistDir: this.serverDistDir,
+ fetchCacheKeyPrefix: this.nextConfig.experimental.fetchCacheKeyPrefix,
+ maxMemoryCacheSize: this.nextConfig.cacheMaxMemorySize,
+ flushToDisk: !this.minimalMode && this.nextConfig.experimental.isrFlushToDisk,
+ getPrerenderManifest: ()=>this.getPrerenderManifest(),
+ CurCacheHandler: CacheHandler
+ });
+ }
+ getResponseCache() {
+ return new _responsecache.default(this.minimalMode);
+ }
+ getPublicDir() {
+ return (0, _path.join)(this.dir, _constants.CLIENT_PUBLIC_FILES_PATH);
+ }
+ getHasStaticDir() {
+ return _fs.default.existsSync((0, _path.join)(this.dir, 'static'));
+ }
+ getPagesManifest() {
+ return (0, _loadmanifestexternal.loadManifest)((0, _path.join)(this.serverDistDir, _constants.PAGES_MANIFEST));
+ }
+ getAppPathsManifest() {
+ if (!this.enabledDirectories.app) return undefined;
+ return (0, _loadmanifestexternal.loadManifest)((0, _path.join)(this.serverDistDir, _constants.APP_PATHS_MANIFEST));
+ }
+ getinterceptionRoutePatterns() {
+ if (!this.enabledDirectories.app) return [];
+ const routesManifest = this.getRoutesManifest();
+ return (routesManifest == null ? void 0 : routesManifest.rewrites.beforeFiles.filter(_generateinterceptionroutesrewrites.isInterceptionRouteRewrite).map((rewrite)=>new RegExp(rewrite.regex))) ?? [];
+ }
+ async hasPage(pathname) {
+ var _this_nextConfig_i18n;
+ return !!(0, _require.getMaybePagePath)(pathname, this.distDir, (_this_nextConfig_i18n = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n.locales, this.enabledDirectories.app);
+ }
+ getBuildId() {
+ const buildIdFile = (0, _path.join)(this.distDir, _constants.BUILD_ID_FILE);
+ try {
+ return _fs.default.readFileSync(buildIdFile, 'utf8').trim();
+ } catch (err) {
+ if (err.code === 'ENOENT') {
+ throw Object.defineProperty(new Error(`Could not find a production build in the '${this.distDir}' directory. Try building your app with 'next build' before starting the production server. https://nextjs.org/docs/messages/production-start-no-build-id`), "__NEXT_ERROR_CODE", {
+ value: "E427",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ throw err;
+ }
+ }
+ getEnabledDirectories(dev) {
+ const dir = dev ? this.dir : this.serverDistDir;
+ return {
+ app: (0, _findpagesdir.findDir)(dir, 'app') ? true : false,
+ pages: (0, _findpagesdir.findDir)(dir, 'pages') ? true : false
+ };
+ }
+ sendRenderResult(req, res, options) {
+ return (0, _sendpayload.sendRenderResult)({
+ req: req.originalRequest,
+ res: res.originalResponse,
+ result: options.result,
+ type: options.type,
+ generateEtags: options.generateEtags,
+ poweredByHeader: options.poweredByHeader,
+ cacheControl: options.cacheControl
+ });
+ }
+ async runApi(req, res, query, match) {
+ const edgeFunctionsPages = this.getEdgeFunctionsPages();
+ for (const edgeFunctionsPage of edgeFunctionsPages){
+ if (edgeFunctionsPage === match.definition.pathname) {
+ const handledAsEdgeFunction = await this.runEdgeFunction({
+ req,
+ res,
+ query,
+ params: match.params,
+ page: match.definition.pathname,
+ appPaths: null
+ });
+ if (handledAsEdgeFunction) {
+ return true;
+ }
+ }
+ }
+ // The module supports minimal mode, load the minimal module.
+ // Restore original URL as the handler handles it's own parsing
+ const parsedInitUrl = (0, _parseurl.parseUrl)((0, _requestmeta.getRequestMeta)(req, 'initURL') || req.url);
+ req.url = `${parsedInitUrl.pathname}${parsedInitUrl.search || ''}`;
+ const loader = new _nodemoduleloader.NodeModuleLoader();
+ const module = await loader.load(match.definition.filename);
+ (0, _requestmeta.addRequestMeta)(req.originalRequest, 'projectDir', this.dir);
+ (0, _requestmeta.addRequestMeta)(req.originalRequest, 'distDir', this.distDir);
+ await module.handler(req.originalRequest, res.originalResponse, {
+ waitUntil: this.getWaitUntil()
+ });
+ return true;
+ }
+ async renderHTML(req, res, pathname, query, renderOpts) {
+ return (0, _tracer.getTracer)().trace(_constants1.NextNodeServerSpan.renderHTML, async ()=>this.renderHTMLImpl(req, res, pathname, query, renderOpts));
+ }
+ async renderHTMLImpl(req, res, pathname, query, renderOpts) {
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error('Invariant: renderHTML should not be called in minimal mode'), "__NEXT_ERROR_CODE", {
+ value: "E472",
+ enumerable: false,
+ configurable: true
+ });
+ // the `else` branch is needed for tree-shaking
+ } else {
+ // Due to the way we pass data by mutating `renderOpts`, we can't extend the
+ // object here but only updating its `nextFontManifest` field.
+ // https://github.com/vercel/next.js/blob/df7cbd904c3bd85f399d1ce90680c0ecf92d2752/packages/next/server/render.tsx#L947-L952
+ renderOpts.nextFontManifest = this.nextFontManifest;
+ if (this.enabledDirectories.app && renderOpts.isAppPath) {
+ return (0, _modulerender.lazyRenderAppPage)(req, res, pathname, query, // This code path does not service revalidations for unknown param
+ // shells. As a result, we don't need to pass in the unknown params.
+ null, renderOpts, this.getServerComponentsHmrCache(), false, {
+ buildId: this.buildId
+ });
+ }
+ // TODO: re-enable this once we've refactored to use implicit matches
+ // throw new Error('Invariant: render should have used routeModule')
+ return (0, _modulerender1.lazyRenderPagesPage)(req.originalRequest, res.originalResponse, pathname, query, renderOpts, {
+ buildId: this.buildId,
+ deploymentId: this.nextConfig.deploymentId,
+ customServer: this.serverOptions.customServer || undefined
+ }, {
+ isFallback: false,
+ isDraftMode: renderOpts.isDraftMode,
+ developmentNotFoundSourcePage: (0, _requestmeta.getRequestMeta)(req, 'developmentNotFoundSourcePage')
+ });
+ }
+ }
+ async imageOptimizer(req, res, paramsResult, previousCacheEntry) {
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error('invariant: imageOptimizer should not be called in minimal mode'), "__NEXT_ERROR_CODE", {
+ value: "E506",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ const { imageOptimizer, fetchExternalImage, fetchInternalImage } = require('./image-optimizer');
+ const handleInternalReq = async (newReq, newRes)=>{
+ if (newReq.url === req.url) {
+ throw Object.defineProperty(new Error(`Invariant attempted to optimize _next/image itself`), "__NEXT_ERROR_CODE", {
+ value: "E496",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!this.routerServerHandler) {
+ throw Object.defineProperty(new Error(`Invariant missing routerServerHandler`), "__NEXT_ERROR_CODE", {
+ value: "E317",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ await this.routerServerHandler(newReq, newRes);
+ return;
+ };
+ const { isAbsolute, href } = paramsResult;
+ const imageUpstream = isAbsolute ? await fetchExternalImage(href) : await fetchInternalImage(href, req.originalRequest, res.originalResponse, handleInternalReq);
+ return imageOptimizer(imageUpstream, paramsResult, this.nextConfig, {
+ isDev: this.renderOpts.dev,
+ previousCacheEntry
+ });
+ }
+ }
+ getPagePath(pathname, locales) {
+ return (0, _require.getPagePath)(pathname, this.distDir, locales, this.enabledDirectories.app);
+ }
+ async renderPageComponent(ctx, bubbleNoFallback) {
+ const edgeFunctionsPages = this.getEdgeFunctionsPages() || [];
+ if (edgeFunctionsPages.length) {
+ const appPaths = this.getOriginalAppPaths(ctx.pathname);
+ const isAppPath = Array.isArray(appPaths);
+ let page = ctx.pathname;
+ if (isAppPath) {
+ // When it's an array, we need to pass all parallel routes to the loader.
+ page = appPaths[0];
+ }
+ for (const edgeFunctionsPage of edgeFunctionsPages){
+ if (edgeFunctionsPage === page) {
+ await this.runEdgeFunction({
+ req: ctx.req,
+ res: ctx.res,
+ query: ctx.query,
+ params: ctx.renderOpts.params,
+ page,
+ appPaths
+ });
+ return null;
+ }
+ }
+ }
+ return super.renderPageComponent(ctx, bubbleNoFallback);
+ }
+ async findPageComponents({ locale, page, query, params, isAppPath, url }) {
+ return (0, _tracer.getTracer)().trace(_constants1.NextNodeServerSpan.findPageComponents, {
+ spanName: 'resolve page components',
+ attributes: {
+ 'next.route': isAppPath ? (0, _apppaths.normalizeAppPath)(page) : page
+ }
+ }, ()=>this.findPageComponentsImpl({
+ locale,
+ page,
+ query,
+ params,
+ isAppPath,
+ url
+ }));
+ }
+ async findPageComponentsImpl({ locale, page, query, params, isAppPath, url: _url }) {
+ const pagePaths = [
+ page
+ ];
+ if (query.amp) {
+ // try serving a static AMP version first
+ pagePaths.unshift((isAppPath ? (0, _apppaths.normalizeAppPath)(page) : (0, _normalizepagepath.normalizePagePath)(page)) + '.amp');
+ }
+ if (locale) {
+ pagePaths.unshift(...pagePaths.map((path)=>`/${locale}${path === '/' ? '' : path}`));
+ }
+ for (const pagePath of pagePaths){
+ try {
+ const components = await (0, _loadcomponents.loadComponents)({
+ distDir: this.distDir,
+ page: pagePath,
+ isAppPath,
+ isDev: this.isDev,
+ sriEnabled: this.sriEnabled
+ });
+ if (locale && typeof components.Component === 'string' && !pagePath.startsWith(`/${locale}/`) && pagePath !== `/${locale}`) {
+ continue;
+ }
+ return {
+ components,
+ query: {
+ ...!this.renderOpts.isExperimentalCompile && components.getStaticProps ? {
+ amp: query.amp
+ } : query,
+ // For appDir params is excluded.
+ ...(isAppPath ? {} : params) || {}
+ }
+ };
+ } catch (err) {
+ // we should only not throw if we failed to find the page
+ // in the pages-manifest
+ if (!(err instanceof _utils.PageNotFoundError)) {
+ throw err;
+ }
+ }
+ }
+ return null;
+ }
+ getNextFontManifest() {
+ return (0, _loadmanifestexternal.loadManifest)((0, _path.join)(this.distDir, 'server', _constants.NEXT_FONT_MANIFEST + '.json'));
+ }
+ // Used in development only, overloaded in next-dev-server
+ logErrorWithOriginalStack(_err, _type) {
+ throw Object.defineProperty(new Error('Invariant: logErrorWithOriginalStack can only be called on the development server'), "__NEXT_ERROR_CODE", {
+ value: "E6",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Used in development only, overloaded in next-dev-server
+ async ensurePage(_opts) {
+ throw Object.defineProperty(new Error('Invariant: ensurePage can only be called on the development server'), "__NEXT_ERROR_CODE", {
+ value: "E291",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ /**
+ * Resolves `API` request, in development builds on demand
+ * @param req http request
+ * @param res http response
+ * @param pathname path of request
+ */ async handleApiRequest(req, res, query, match) {
+ return this.runApi(req, res, query, match);
+ }
+ getCacheFilesystem() {
+ return _nodefsmethods.nodeFs;
+ }
+ normalizeReq(req) {
+ return !(req instanceof _node.NodeNextRequest) ? new _node.NodeNextRequest(req) : req;
+ }
+ normalizeRes(res) {
+ return !(res instanceof _node.NodeNextResponse) ? new _node.NodeNextResponse(res) : res;
+ }
+ getRequestHandler() {
+ const handler = this.makeRequestHandler();
+ if (this.serverOptions.experimentalTestProxy) {
+ const { wrapRequestHandlerNode } = // eslint-disable-next-line @next/internal/typechecked-require -- experimental/testmode is not built ins next/dist/esm
+ require('next/dist/experimental/testmode/server');
+ return wrapRequestHandlerNode(handler);
+ }
+ return handler;
+ }
+ makeRequestHandler() {
+ // This is just optimization to fire prepare as soon as possible. It will be
+ // properly awaited later. We add the catch here to ensure that it does not
+ // cause an unhandled promise rejection. The promise rejection will be
+ // handled later on via the `await` when the request handler is called.
+ this.prepare().catch((err)=>{
+ console.error('Failed to prepare server', err);
+ });
+ const handler = super.getRequestHandler();
+ return (req, res, parsedUrl)=>handler(this.normalizeReq(req), this.normalizeRes(res), parsedUrl);
+ }
+ async revalidate({ urlPath, revalidateHeaders, opts }) {
+ const mocked = (0, _mockrequest.createRequestResponseMocks)({
+ url: urlPath,
+ headers: revalidateHeaders
+ });
+ const handler = this.getRequestHandler();
+ await handler(new _node.NodeNextRequest(mocked.req), new _node.NodeNextResponse(mocked.res));
+ await mocked.res.hasStreamed;
+ if (mocked.res.getHeader('x-nextjs-cache') !== 'REVALIDATED' && mocked.res.statusCode !== 200 && !(mocked.res.statusCode === 404 && opts.unstable_onlyGenerated)) {
+ throw Object.defineProperty(new Error(`Invalid response ${mocked.res.statusCode}`), "__NEXT_ERROR_CODE", {
+ value: "E175",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ async render(req, res, pathname, query, parsedUrl, internal = false) {
+ return super.render(this.normalizeReq(req), this.normalizeRes(res), pathname, query, parsedUrl, internal);
+ }
+ async renderToHTML(req, res, pathname, query) {
+ return super.renderToHTML(this.normalizeReq(req), this.normalizeRes(res), pathname, query);
+ }
+ async renderErrorToResponseImpl(ctx, err) {
+ const { req, res, query } = ctx;
+ const is404 = res.statusCode === 404;
+ if (is404 && this.enabledDirectories.app) {
+ if (this.renderOpts.dev) {
+ await this.ensurePage({
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,
+ clientOnly: false,
+ url: req.url
+ }).catch(()=>{});
+ }
+ if (this.getEdgeFunctionsPages().includes(_constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY)) {
+ await this.runEdgeFunction({
+ req,
+ res,
+ query: query || {},
+ params: {},
+ page: _constants.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,
+ appPaths: null
+ });
+ return null;
+ }
+ }
+ return super.renderErrorToResponseImpl(ctx, err);
+ }
+ async renderError(err, req, res, pathname, query, setHeaders) {
+ return super.renderError(err, this.normalizeReq(req), this.normalizeRes(res), pathname, query, setHeaders);
+ }
+ async renderErrorToHTML(err, req, res, pathname, query) {
+ return super.renderErrorToHTML(err, this.normalizeReq(req), this.normalizeRes(res), pathname, query);
+ }
+ async render404(req, res, parsedUrl, setHeaders) {
+ return super.render404(this.normalizeReq(req), this.normalizeRes(res), parsedUrl, setHeaders);
+ }
+ getMiddlewareManifest() {
+ if (this.minimalMode) {
+ return null;
+ } else {
+ const manifest = require(this.middlewareManifestPath);
+ return manifest;
+ }
+ }
+ /** Returns the middleware routing item if there is one. */ async getMiddleware() {
+ var _manifest_middleware;
+ const manifest = this.getMiddlewareManifest();
+ const middleware = manifest == null ? void 0 : (_manifest_middleware = manifest.middleware) == null ? void 0 : _manifest_middleware['/'];
+ if (!middleware) {
+ const middlewareModule = await this.loadNodeMiddleware();
+ if (middlewareModule) {
+ var _middlewareModule_config;
+ return {
+ match: (0, _middlewareroutematcher.getMiddlewareRouteMatcher)(((_middlewareModule_config = middlewareModule.config) == null ? void 0 : _middlewareModule_config.matchers) || [
+ {
+ regexp: '.*',
+ originalSource: '/:path*'
+ }
+ ]),
+ page: '/'
+ };
+ }
+ return;
+ }
+ return {
+ match: getMiddlewareMatcher(middleware),
+ page: '/'
+ };
+ }
+ getEdgeFunctionsPages() {
+ const manifest = this.getMiddlewareManifest();
+ if (!manifest) {
+ return [];
+ }
+ return Object.keys(manifest.functions);
+ }
+ /**
+ * Get information for the edge function located in the provided page
+ * folder. If the edge function info can't be found it will throw
+ * an error.
+ */ getEdgeFunctionInfo(params) {
+ const manifest = this.getMiddlewareManifest();
+ if (!manifest) {
+ return null;
+ }
+ let foundPage;
+ try {
+ foundPage = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(params.page));
+ } catch (err) {
+ return null;
+ }
+ let pageInfo = params.middleware ? manifest.middleware[foundPage] : manifest.functions[foundPage];
+ if (!pageInfo) {
+ if (!params.middleware) {
+ throw new _utils.PageNotFoundError(foundPage);
+ }
+ return null;
+ }
+ return {
+ name: pageInfo.name,
+ paths: pageInfo.files.map((file)=>(0, _path.join)(this.distDir, file)),
+ wasm: (pageInfo.wasm ?? []).map((binding)=>({
+ ...binding,
+ filePath: (0, _path.join)(this.distDir, binding.filePath)
+ })),
+ assets: pageInfo.assets && pageInfo.assets.map((binding)=>{
+ return {
+ ...binding,
+ filePath: (0, _path.join)(this.distDir, binding.filePath)
+ };
+ }),
+ env: pageInfo.env
+ };
+ }
+ async loadNodeMiddleware() {
+ if (!process.env.NEXT_MINIMAL) {
+ if (!this.nextConfig.experimental.nodeMiddleware) {
+ return;
+ }
+ try {
+ var _functionsConfig_functions;
+ const functionsConfig = this.renderOpts.dev ? {} : require((0, _path.join)(this.distDir, 'server', _constants.FUNCTIONS_CONFIG_MANIFEST));
+ if (this.renderOpts.dev || (functionsConfig == null ? void 0 : (_functionsConfig_functions = functionsConfig.functions) == null ? void 0 : _functionsConfig_functions['/_middleware'])) {
+ // if used with top level await, this will be a promise
+ return require((0, _path.join)(this.distDir, 'server', 'middleware.js'));
+ }
+ } catch (err) {
+ if ((0, _iserror.default)(err) && err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') {
+ throw err;
+ }
+ }
+ }
+ }
+ /**
+ * Checks if a middleware exists. This method is useful for the development
+ * server where we need to check the filesystem. Here we just check the
+ * middleware manifest.
+ */ async hasMiddleware(pathname) {
+ const info = this.getEdgeFunctionInfo({
+ page: pathname,
+ middleware: true
+ });
+ const nodeMiddleware = await this.loadNodeMiddleware();
+ if (!info && nodeMiddleware) {
+ return true;
+ }
+ return Boolean(info && info.paths.length > 0);
+ }
+ /**
+ * A placeholder for a function to be defined in the development server.
+ * It will make sure that the root middleware or an edge function has been compiled
+ * so that we can run it.
+ */ async ensureMiddleware(_url) {}
+ async ensureEdgeFunction(_params) {}
+ /**
+ * This method gets all middleware matchers and execute them when the request
+ * matches. It will make sure that each middleware exists and is compiled and
+ * ready to be invoked. The development server will decorate it to add warns
+ * and errors with rich traces.
+ */ async runMiddleware(params) {
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error('invariant: runMiddleware should not be called in minimal mode'), "__NEXT_ERROR_CODE", {
+ value: "E276",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Middleware is skipped for on-demand revalidate requests
+ if ((0, _apiutils.checkIsOnDemandRevalidate)(params.request, this.renderOpts.previewProps).isOnDemandRevalidate) {
+ return {
+ response: new Response(null, {
+ headers: {
+ 'x-middleware-next': '1'
+ }
+ })
+ };
+ }
+ let url;
+ if (this.nextConfig.skipMiddlewareUrlNormalize) {
+ url = (0, _requestmeta.getRequestMeta)(params.request, 'initURL');
+ } else {
+ // For middleware to "fetch" we must always provide an absolute URL
+ const query = (0, _querystring.urlQueryToSearchParams)(params.parsed.query).toString();
+ const locale = (0, _requestmeta.getRequestMeta)(params.request, 'locale');
+ url = `${(0, _requestmeta.getRequestMeta)(params.request, 'initProtocol')}://${this.fetchHostname || 'localhost'}:${this.port}${locale ? `/${locale}` : ''}${params.parsed.pathname}${query ? `?${query}` : ''}`;
+ }
+ if (!url.startsWith('http')) {
+ throw Object.defineProperty(new Error('To use middleware you must provide a `hostname` and `port` to the Next.js Server'), "__NEXT_ERROR_CODE", {
+ value: "E35",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const page = {};
+ const middleware = await this.getMiddleware();
+ if (!middleware) {
+ return {
+ finished: false
+ };
+ }
+ if (!await this.hasMiddleware(middleware.page)) {
+ return {
+ finished: false
+ };
+ }
+ await this.ensureMiddleware(params.request.url);
+ const middlewareInfo = this.getEdgeFunctionInfo({
+ page: middleware.page,
+ middleware: true
+ });
+ const method = (params.request.method || 'GET').toUpperCase();
+ const requestData = {
+ headers: params.request.headers,
+ method,
+ nextConfig: {
+ basePath: this.nextConfig.basePath,
+ i18n: this.nextConfig.i18n,
+ trailingSlash: this.nextConfig.trailingSlash,
+ experimental: this.nextConfig.experimental
+ },
+ url: url,
+ page,
+ body: method !== 'GET' && method !== 'HEAD' ? (0, _requestmeta.getRequestMeta)(params.request, 'clonableBody') : undefined,
+ signal: (0, _nextrequest.signalFromNodeResponse)(params.response.originalResponse),
+ waitUntil: this.getWaitUntil()
+ };
+ let result;
+ // if no middleware info check for Node.js middleware
+ // this is not in the middleware-manifest as that historically
+ // has only included edge-functions, we need to do a breaking
+ // version bump for that manifest to write this info there if
+ // we decide we want to
+ if (!middlewareInfo) {
+ let middlewareModule;
+ middlewareModule = await this.loadNodeMiddleware();
+ if (!middlewareModule) {
+ throw new _utils.MiddlewareNotFoundError();
+ }
+ const adapterFn = middlewareModule.default || middlewareModule;
+ const hasRequestBody = ![
+ 'HEAD',
+ 'GET'
+ ].includes(params.request.method) && Boolean(requestData.body);
+ try {
+ result = await adapterFn({
+ handler: middlewareModule.middleware || middlewareModule,
+ request: {
+ ...requestData,
+ body: hasRequestBody ? requestData.body.cloneBodyStream() : undefined
+ },
+ page: 'middleware'
+ });
+ } finally{
+ if (hasRequestBody) {
+ requestData.body.finalize();
+ }
+ }
+ } else {
+ const { run } = require('./web/sandbox');
+ result = await run({
+ distDir: this.distDir,
+ name: middlewareInfo.name,
+ paths: middlewareInfo.paths,
+ edgeFunctionEntry: middlewareInfo,
+ request: requestData,
+ useCache: true,
+ onWarning: params.onWarning
+ });
+ }
+ if (!this.renderOpts.dev) {
+ result.waitUntil.catch((error)=>{
+ console.error(`Uncaught: middleware waitUntil errored`, error);
+ });
+ }
+ if (!result) {
+ this.render404(params.request, params.response, params.parsed);
+ return {
+ finished: true
+ };
+ }
+ // Split compound (comma-separated) set-cookie headers
+ if (result.response.headers.has('set-cookie')) {
+ const cookies = result.response.headers.getSetCookie().flatMap((maybeCompoundCookie)=>(0, _utils1.splitCookiesString)(maybeCompoundCookie));
+ // Clear existing header(s)
+ result.response.headers.delete('set-cookie');
+ // Append each cookie individually.
+ for (const cookie of cookies){
+ result.response.headers.append('set-cookie', cookie);
+ }
+ // Add cookies to request meta.
+ (0, _requestmeta.addRequestMeta)(params.request, 'middlewareCookie', cookies);
+ }
+ return result;
+ }
+ getPrerenderManifest() {
+ if (this._cachedPreviewManifest) {
+ return this._cachedPreviewManifest;
+ }
+ this._cachedPreviewManifest = (0, _loadmanifestexternal.loadManifest)((0, _path.join)(this.distDir, _constants.PRERENDER_MANIFEST));
+ return this._cachedPreviewManifest;
+ }
+ getRoutesManifest() {
+ return (0, _tracer.getTracer)().trace(_constants1.NextNodeServerSpan.getRoutesManifest, ()=>(0, _loadmanifestexternal.loadManifest)((0, _path.join)(this.distDir, _constants.ROUTES_MANIFEST)));
+ }
+ attachRequestMeta(req, parsedUrl, isUpgradeReq) {
+ var _req_headers_xforwardedproto;
+ // Injected in base-server.ts
+ const protocol = ((_req_headers_xforwardedproto = req.headers['x-forwarded-proto']) == null ? void 0 : _req_headers_xforwardedproto.includes('https')) ? 'https' : 'http';
+ // When there are hostname and port we build an absolute URL
+ const initUrl = this.fetchHostname && this.port ? `${protocol}://${this.fetchHostname}:${this.port}${req.url}` : this.nextConfig.experimental.trustHostHeader ? `https://${req.headers.host || 'localhost'}${req.url}` : req.url;
+ (0, _requestmeta.addRequestMeta)(req, 'initURL', initUrl);
+ (0, _requestmeta.addRequestMeta)(req, 'initQuery', {
+ ...parsedUrl.query
+ });
+ (0, _requestmeta.addRequestMeta)(req, 'initProtocol', protocol);
+ if (!isUpgradeReq) {
+ (0, _requestmeta.addRequestMeta)(req, 'clonableBody', (0, _bodystreams.getCloneableBody)(req.originalRequest));
+ }
+ }
+ async runEdgeFunction(params) {
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error('Middleware is not supported in minimal mode. Please remove the `NEXT_MINIMAL` environment variable.'), "__NEXT_ERROR_CODE", {
+ value: "E58",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let edgeInfo;
+ const { query, page, match } = params;
+ if (!match) await this.ensureEdgeFunction({
+ page,
+ appPaths: params.appPaths,
+ url: params.req.url
+ });
+ edgeInfo = this.getEdgeFunctionInfo({
+ page,
+ middleware: false
+ });
+ if (!edgeInfo) {
+ return null;
+ }
+ // For edge to "fetch" we must always provide an absolute URL
+ const isNextDataRequest = (0, _requestmeta.getRequestMeta)(params.req, 'isNextDataReq');
+ const initialUrl = new URL((0, _requestmeta.getRequestMeta)(params.req, 'initURL') || '/', 'http://n');
+ const queryString = (0, _querystring.urlQueryToSearchParams)({
+ ...Object.fromEntries(initialUrl.searchParams),
+ ...query,
+ ...params.params
+ }).toString();
+ if (isNextDataRequest) {
+ params.req.headers['x-nextjs-data'] = '1';
+ }
+ initialUrl.search = queryString;
+ const url = initialUrl.toString();
+ if (!url.startsWith('http')) {
+ throw Object.defineProperty(new Error('To use middleware you must provide a `hostname` and `port` to the Next.js Server'), "__NEXT_ERROR_CODE", {
+ value: "E35",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { run } = require('./web/sandbox');
+ const result = await run({
+ distDir: this.distDir,
+ name: edgeInfo.name,
+ paths: edgeInfo.paths,
+ edgeFunctionEntry: edgeInfo,
+ request: {
+ headers: params.req.headers,
+ method: params.req.method,
+ nextConfig: {
+ basePath: this.nextConfig.basePath,
+ i18n: this.nextConfig.i18n,
+ trailingSlash: this.nextConfig.trailingSlash
+ },
+ url,
+ page: {
+ name: params.page,
+ ...params.params && {
+ params: params.params
+ }
+ },
+ body: (0, _requestmeta.getRequestMeta)(params.req, 'clonableBody'),
+ signal: (0, _nextrequest.signalFromNodeResponse)(params.res.originalResponse),
+ waitUntil: this.getWaitUntil()
+ },
+ useCache: true,
+ onError: params.onError,
+ onWarning: params.onWarning,
+ incrementalCache: globalThis.__incrementalCache || (0, _requestmeta.getRequestMeta)(params.req, 'incrementalCache'),
+ serverComponentsHmrCache: (0, _requestmeta.getRequestMeta)(params.req, 'serverComponentsHmrCache')
+ });
+ if (result.fetchMetrics) {
+ params.req.fetchMetrics = result.fetchMetrics;
+ }
+ if (!params.res.statusCode || params.res.statusCode < 400) {
+ params.res.statusCode = result.response.status;
+ params.res.statusMessage = result.response.statusText;
+ }
+ // TODO: (wyattjoh) investigate improving this
+ result.response.headers.forEach((value, key)=>{
+ // The append handling is special cased for `set-cookie`.
+ if (key.toLowerCase() === 'set-cookie') {
+ // TODO: (wyattjoh) replace with native response iteration when we can upgrade undici
+ for (const cookie of (0, _utils1.splitCookiesString)(value)){
+ params.res.appendHeader(key, cookie);
+ }
+ } else {
+ params.res.appendHeader(key, value);
+ }
+ });
+ const { originalResponse } = params.res;
+ if (result.response.body) {
+ await (0, _pipereadable.pipeToNodeResponse)(result.response.body, originalResponse);
+ } else {
+ originalResponse.end();
+ }
+ return result;
+ }
+ get serverDistDir() {
+ if (this._serverDistDir) {
+ return this._serverDistDir;
+ }
+ const serverDistDir = (0, _path.join)(this.distDir, _constants.SERVER_DIRECTORY);
+ this._serverDistDir = serverDistDir;
+ return serverDistDir;
+ }
+ async getFallbackErrorComponents(_url) {
+ // Not implemented for production use cases, this is implemented on the
+ // development server.
+ return null;
+ }
+ async instrumentationOnRequestError(...args) {
+ await super.instrumentationOnRequestError(...args);
+ // For Node.js runtime production logs, in dev it will be overridden by next-dev-server
+ if (!this.renderOpts.dev) {
+ this.logError(args[0]);
+ }
+ }
+ onServerClose(listener) {
+ this.cleanupListeners.add(listener);
+ }
+ async close() {
+ await this.cleanupListeners.runAll();
+ }
+ getInternalWaitUntil() {
+ this.internalWaitUntil ??= this.createInternalWaitUntil();
+ return this.internalWaitUntil;
+ }
+ createInternalWaitUntil() {
+ if (this.minimalMode) {
+ throw Object.defineProperty(new _invarianterror.InvariantError('createInternalWaitUntil should never be called in minimal mode'), "__NEXT_ERROR_CODE", {
+ value: "E540",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const awaiter = new _awaiter.AwaiterOnce({
+ onError: console.error
+ });
+ // TODO(after): warn if the process exits before these are awaited
+ this.onServerClose(()=>awaiter.awaiting());
+ return awaiter.waitUntil;
+ }
+}
+
+//# sourceMappingURL=next-server.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-typescript.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-typescript.js
new file mode 100644
index 0000000000000000000000000000000000000000..c9949554b9e5c0d6083b311c371db2cb0b6e258b
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next-typescript.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "createTSPlugin", {
+ enumerable: true,
+ get: function() {
+ return _typescript.createTSPlugin;
+ }
+});
+const _typescript = require("./typescript");
+
+//# sourceMappingURL=next-typescript.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next.js
new file mode 100644
index 0000000000000000000000000000000000000000..887fbbedbbbf08fe9031c4dffd3274f6418ee3b4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/next.js
@@ -0,0 +1,419 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ NextServer: null,
+ default: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ NextServer: function() {
+ return NextServer;
+ },
+ // exports = module.exports
+ // Support `import next from 'next'`
+ default: function() {
+ return _default;
+ }
+});
+require("./require-hook");
+require("./node-polyfill-crypto");
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
+const _config = /*#__PURE__*/ _interop_require_default(require("./config"));
+const _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
+const _constants = require("../lib/constants");
+const _constants1 = require("../shared/lib/constants");
+const _tracer = require("./lib/trace/tracer");
+const _constants2 = require("./lib/trace/constants");
+const _formaturl = require("../shared/lib/router/utils/format-url");
+const _asynccallbackset = require("./lib/async-callback-set");
+const _routerservercontext = require("./lib/router-utils/router-server-context");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+let ServerImpl;
+const getServerImpl = async ()=>{
+ if (ServerImpl === undefined) {
+ ServerImpl = (await Promise.resolve(require('./next-server'))).default;
+ }
+ return ServerImpl;
+};
+const SYMBOL_LOAD_CONFIG = Symbol('next.load_config');
+class NextServer {
+ constructor(options){
+ this.options = options;
+ }
+ get hostname() {
+ return this.options.hostname;
+ }
+ get port() {
+ return this.options.port;
+ }
+ getRequestHandler() {
+ return async (req, res, parsedUrl)=>{
+ return (0, _tracer.getTracer)().trace(_constants2.NextServerSpan.getRequestHandler, async ()=>{
+ const requestHandler = await this.getServerRequestHandler();
+ return requestHandler(req, res, parsedUrl);
+ });
+ };
+ }
+ getUpgradeHandler() {
+ return async (req, socket, head)=>{
+ const server = await this.getServer();
+ // @ts-expect-error we mark this as protected so it
+ // causes an error here
+ return server.handleUpgrade.apply(server, [
+ req,
+ socket,
+ head
+ ]);
+ };
+ }
+ setAssetPrefix(assetPrefix) {
+ if (this.server) {
+ this.server.setAssetPrefix(assetPrefix);
+ } else {
+ this.preparedAssetPrefix = assetPrefix;
+ }
+ }
+ logError(...args) {
+ if (this.server) {
+ this.server.logError(...args);
+ }
+ }
+ async logErrorWithOriginalStack(err, type) {
+ const server = await this.getServer();
+ // this is only available on dev server
+ if (server.logErrorWithOriginalStack) {
+ return server.logErrorWithOriginalStack(err, type);
+ }
+ }
+ async revalidate(...args) {
+ const server = await this.getServer();
+ return server.revalidate(...args);
+ }
+ async render(...args) {
+ const server = await this.getServer();
+ return server.render(...args);
+ }
+ async renderToHTML(...args) {
+ const server = await this.getServer();
+ return server.renderToHTML(...args);
+ }
+ async renderError(...args) {
+ const server = await this.getServer();
+ return server.renderError(...args);
+ }
+ async renderErrorToHTML(...args) {
+ const server = await this.getServer();
+ return server.renderErrorToHTML(...args);
+ }
+ async render404(...args) {
+ const server = await this.getServer();
+ return server.render404(...args);
+ }
+ async prepare(serverFields) {
+ const server = await this.getServer();
+ if (serverFields) {
+ Object.assign(server, serverFields);
+ }
+ // We shouldn't prepare the server in production,
+ // because this code won't be executed when deployed
+ if (this.options.dev) {
+ await server.prepare();
+ }
+ }
+ async close() {
+ if (this.server) {
+ await this.server.close();
+ }
+ }
+ async createServer(options) {
+ let ServerImplementation;
+ if (options.dev) {
+ ServerImplementation = require('./dev/next-dev-server').default;
+ } else {
+ ServerImplementation = await getServerImpl();
+ }
+ const server = new ServerImplementation(options);
+ return server;
+ }
+ async [SYMBOL_LOAD_CONFIG]() {
+ const dir = (0, _path.resolve)(this.options.dir || '.');
+ const config = await (0, _config.default)(this.options.dev ? _constants1.PHASE_DEVELOPMENT_SERVER : _constants1.PHASE_PRODUCTION_SERVER, dir, {
+ customConfig: this.options.conf,
+ silent: true
+ });
+ // check serialized build config when available
+ if (!this.options.dev) {
+ try {
+ const serializedConfig = require(_path.default.join(dir, config.distDir, _constants1.SERVER_FILES_MANIFEST)).config;
+ config.experimental.isExperimentalCompile = serializedConfig.experimental.isExperimentalCompile;
+ } catch (_) {
+ // if distDir is customized we don't know until we
+ // load the config so fallback to loading the config
+ // from next.config.js
+ }
+ }
+ return config;
+ }
+ async getServer() {
+ if (!this.serverPromise) {
+ this.serverPromise = this[SYMBOL_LOAD_CONFIG]().then(async (conf)=>{
+ if (!this.options.dev) {
+ if (conf.output === 'standalone') {
+ if (!process.env.__NEXT_PRIVATE_STANDALONE_CONFIG) {
+ _log.warn(`"next start" does not work with "output: standalone" configuration. Use "node .next/standalone/server.js" instead.`);
+ }
+ } else if (conf.output === 'export') {
+ throw Object.defineProperty(new Error(`"next start" does not work with "output: export" configuration. Use "npx serve@latest out" instead.`), "__NEXT_ERROR_CODE", {
+ value: "E375",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ this.server = await this.createServer({
+ ...this.options,
+ conf
+ });
+ if (this.preparedAssetPrefix) {
+ this.server.setAssetPrefix(this.preparedAssetPrefix);
+ }
+ return this.server;
+ });
+ }
+ return this.serverPromise;
+ }
+ async getServerRequestHandler() {
+ if (this.reqHandler) return this.reqHandler;
+ // Memoize request handler creation
+ if (!this.reqHandlerPromise) {
+ this.reqHandlerPromise = this.getServer().then((server)=>{
+ this.reqHandler = (0, _tracer.getTracer)().wrap(_constants2.NextServerSpan.getServerRequestHandler, server.getRequestHandler().bind(server));
+ delete this.reqHandlerPromise;
+ return this.reqHandler;
+ });
+ }
+ return this.reqHandlerPromise;
+ }
+}
+/** The wrapper server used for `import next from "next" (in a custom server)` */ class NextCustomServer {
+ constructor(options){
+ this.didWebSocketSetup = false;
+ this.options = options;
+ }
+ getInit() {
+ if (!this.init) {
+ throw Object.defineProperty(new Error('prepare() must be called before performing this operation'), "__NEXT_ERROR_CODE", {
+ value: "E355",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return this.init;
+ }
+ get requestHandler() {
+ return this.getInit().requestHandler;
+ }
+ get upgradeHandler() {
+ return this.getInit().upgradeHandler;
+ }
+ get server() {
+ return this.getInit().server;
+ }
+ get hostname() {
+ return this.options.hostname;
+ }
+ get port() {
+ return this.options.port;
+ }
+ async prepare() {
+ const { getRequestHandlers } = require('./lib/start-server');
+ let onDevServerCleanup;
+ if (this.options.dev) {
+ this.cleanupListeners = new _asynccallbackset.AsyncCallbackSet();
+ onDevServerCleanup = this.cleanupListeners.add.bind(this.cleanupListeners);
+ }
+ const initResult = await getRequestHandlers({
+ dir: this.options.dir,
+ port: this.options.port || 3000,
+ isDev: !!this.options.dev,
+ onDevServerCleanup,
+ hostname: this.options.hostname || 'localhost',
+ minimalMode: this.options.minimalMode,
+ quiet: this.options.quiet
+ });
+ this.init = initResult;
+ }
+ setupWebSocketHandler(customServer, _req) {
+ if (!this.didWebSocketSetup) {
+ var _req_socket;
+ this.didWebSocketSetup = true;
+ customServer = customServer || (_req == null ? void 0 : (_req_socket = _req.socket) == null ? void 0 : _req_socket.server);
+ if (customServer) {
+ customServer.on('upgrade', async (req, socket, head)=>{
+ this.upgradeHandler(req, socket, head);
+ });
+ }
+ }
+ }
+ getRequestHandler() {
+ return async (req, res, parsedUrl)=>{
+ this.setupWebSocketHandler(this.options.httpServer, req);
+ if (parsedUrl) {
+ req.url = (0, _formaturl.formatUrl)(parsedUrl);
+ }
+ return this.requestHandler(req, res);
+ };
+ }
+ async render(...args) {
+ let [req, res, pathname, query, parsedUrl] = args;
+ this.setupWebSocketHandler(this.options.httpServer, req);
+ if (!pathname.startsWith('/')) {
+ console.error(`Cannot render page with path "${pathname}"`);
+ pathname = `/${pathname}`;
+ }
+ pathname = pathname === '/index' ? '/' : pathname;
+ req.url = (0, _formaturl.formatUrl)({
+ ...parsedUrl,
+ pathname,
+ query
+ });
+ await this.requestHandler(req, res);
+ return;
+ }
+ setAssetPrefix(assetPrefix) {
+ var _routerServerGlobal_RouterServerContextSymbol_relativeProjectDir, _routerServerGlobal_RouterServerContextSymbol;
+ this.server.setAssetPrefix(assetPrefix);
+ // update the router-server nextConfig instance as
+ // this is the source of truth for "handler" in serverful
+ const relativeProjectDir = _path.default.relative(process.cwd(), this.options.dir || '');
+ if ((_routerServerGlobal_RouterServerContextSymbol = _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol]) == null ? void 0 : (_routerServerGlobal_RouterServerContextSymbol_relativeProjectDir = _routerServerGlobal_RouterServerContextSymbol[relativeProjectDir]) == null ? void 0 : _routerServerGlobal_RouterServerContextSymbol_relativeProjectDir.nextConfig) {
+ _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol][relativeProjectDir].nextConfig.assetPrefix = assetPrefix;
+ }
+ }
+ getUpgradeHandler() {
+ return this.server.getUpgradeHandler();
+ }
+ logError(...args) {
+ this.server.logError(...args);
+ }
+ logErrorWithOriginalStack(err, type) {
+ return this.server.logErrorWithOriginalStack(err, type);
+ }
+ async revalidate(...args) {
+ return this.server.revalidate(...args);
+ }
+ async renderToHTML(...args) {
+ return this.server.renderToHTML(...args);
+ }
+ async renderError(...args) {
+ return this.server.renderError(...args);
+ }
+ async renderErrorToHTML(...args) {
+ return this.server.renderErrorToHTML(...args);
+ }
+ async render404(...args) {
+ return this.server.render404(...args);
+ }
+ async close() {
+ var _this_init, _this_cleanupListeners;
+ await Promise.allSettled([
+ (_this_init = this.init) == null ? void 0 : _this_init.server.close(),
+ (_this_cleanupListeners = this.cleanupListeners) == null ? void 0 : _this_cleanupListeners.runAll()
+ ]);
+ }
+}
+// This file is used for when users run `require('next')`
+function createServer(options) {
+ if (options && (options.turbo || options.turbopack || process.env.IS_TURBOPACK_TEST)) {
+ process.env.TURBOPACK = '1';
+ }
+ // The package is used as a TypeScript plugin.
+ if (options && 'typescript' in options && 'version' in options.typescript) {
+ const pluginMod = require('./next-typescript');
+ return pluginMod.createTSPlugin(options);
+ }
+ if (options == null) {
+ throw Object.defineProperty(new Error('The server has not been instantiated properly. https://nextjs.org/docs/messages/invalid-server-options'), "__NEXT_ERROR_CODE", {
+ value: "E75",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!('isNextDevCommand' in options) && process.env.NODE_ENV && ![
+ 'production',
+ 'development',
+ 'test'
+ ].includes(process.env.NODE_ENV)) {
+ _log.warn(_constants.NON_STANDARD_NODE_ENV);
+ }
+ if (options.dev && typeof options.dev !== 'boolean') {
+ console.warn("Warning: 'dev' is not a boolean which could introduce unexpected behavior. https://nextjs.org/docs/messages/invalid-server-options");
+ }
+ // When the caller is a custom server (using next()).
+ if (options.customServer !== false) {
+ const dir = (0, _path.resolve)(options.dir || '.');
+ return new NextCustomServer({
+ ...options,
+ dir
+ });
+ }
+ // When the caller is Next.js internals (i.e. render worker, start server, etc)
+ return new NextServer(options);
+}
+// Support commonjs `require('next')`
+module.exports = createServer;
+const _default = createServer;
+
+//# sourceMappingURL=next.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-baseline.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-baseline.js
new file mode 100644
index 0000000000000000000000000000000000000000..57c2d8ef8d36f6c3901f033f1e32d01b60cf70d8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-baseline.js
@@ -0,0 +1,25 @@
+// This file should be imported before any others. It sets up the environment
+// for later imports to work properly.
+// expose AsyncLocalStorage on global for react usage if it isn't already provided by the environment
+"use strict";
+if (typeof globalThis.AsyncLocalStorage !== 'function') {
+ const { AsyncLocalStorage } = require('async_hooks');
+ globalThis.AsyncLocalStorage = AsyncLocalStorage;
+}
+if (typeof globalThis.WebSocket !== 'function') {
+ Object.defineProperty(globalThis, 'WebSocket', {
+ configurable: true,
+ get () {
+ return require('next/dist/compiled/ws').WebSocket;
+ },
+ set (value) {
+ Object.defineProperty(globalThis, 'WebSocket', {
+ configurable: true,
+ writable: true,
+ value
+ });
+ }
+ });
+}
+
+//# sourceMappingURL=node-environment-baseline.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/console-dev.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/console-dev.js
new file mode 100644
index 0000000000000000000000000000000000000000..06b8f2f47568f6b0e71f7cea749e61c0ba5a4e8c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/console-dev.js
@@ -0,0 +1,136 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _picocolors = require("../../lib/picocolors");
+const _workunitasyncstorageexternal = require("../app-render/work-unit-async-storage.external");
+// This function could be used from multiple places, including hook.
+// Skips CSS and object arguments, inlines other in the first argument as a template string
+/**
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ * @source https://github.com/facebook/react/blob/b44a99bf58d69d52b5288d9eadcc6d226d705e11/packages/react-devtools-shared/src/backend/utils/formatConsoleArguments.js#L14
+ */ function formatConsoleArguments(maybeMessage, ...inputArgs) {
+ if (inputArgs.length === 0 || typeof maybeMessage !== 'string') {
+ return [
+ maybeMessage,
+ ...inputArgs
+ ];
+ }
+ const args = inputArgs.slice();
+ let template = '';
+ let argumentsPointer = 0;
+ for(let i = 0; i < maybeMessage.length; ++i){
+ const currentChar = maybeMessage[i];
+ if (currentChar !== '%') {
+ template += currentChar;
+ continue;
+ }
+ const nextChar = maybeMessage[i + 1];
+ ++i;
+ // Only keep CSS and objects, inline other arguments
+ switch(nextChar){
+ case 'c':
+ case 'O':
+ case 'o':
+ {
+ ++argumentsPointer;
+ template += `%${nextChar}`;
+ break;
+ }
+ case 'd':
+ case 'i':
+ {
+ const [arg] = args.splice(argumentsPointer, 1);
+ template += parseInt(arg, 10).toString();
+ break;
+ }
+ case 'f':
+ {
+ const [arg] = args.splice(argumentsPointer, 1);
+ template += parseFloat(arg).toString();
+ break;
+ }
+ case 's':
+ {
+ const [arg] = args.splice(argumentsPointer, 1);
+ template += String(arg);
+ break;
+ }
+ default:
+ template += `%${nextChar}`;
+ }
+ }
+ return [
+ template,
+ ...args
+ ];
+}
+const isColorSupported = (0, _picocolors.dim)('test') !== 'test';
+// TODO: Breaks when complex objects are logged
+// dim("%s") does not work in Chrome
+const ANSI_STYLE_DIMMING_TEMPLATE = isColorSupported ? '\x1b[2;38;2;124;124;124m%s\x1b[0m' : '%s';
+function dimConsoleCall(methodName, args) {
+ switch(methodName){
+ case 'dir':
+ case 'dirxml':
+ case 'groupEnd':
+ case 'table':
+ {
+ // These methods cannot be colorized because they don't take a formatting string.
+ return args;
+ }
+ case 'assert':
+ {
+ // assert takes formatting options as the second argument.
+ return [
+ args[0]
+ ].concat(ANSI_STYLE_DIMMING_TEMPLATE, ...formatConsoleArguments(args[1], ...args.slice(2)));
+ }
+ default:
+ return [
+ ANSI_STYLE_DIMMING_TEMPLATE
+ ].concat(...formatConsoleArguments(args[0], ...args.slice(1)));
+ }
+}
+// Based on https://github.com/facebook/react/blob/28dc0776be2e1370fe217549d32aee2519f0cf05/packages/react-server/src/ReactFlightServer.js#L248
+function patchConsoleMethodDEV(methodName) {
+ const descriptor = Object.getOwnPropertyDescriptor(console, methodName);
+ if (descriptor && (descriptor.configurable || descriptor.writable) && typeof descriptor.value === 'function') {
+ const originalMethod = descriptor.value;
+ const originalName = Object.getOwnPropertyDescriptor(originalMethod, 'name');
+ const wrapperMethod = function(...args) {
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
+ const isPrerenderValidation = workUnitStore !== undefined && (workUnitStore.type === 'prerender-client' || workUnitStore.type === 'prerender');
+ if (isPrerenderValidation) {
+ originalMethod.apply(this, dimConsoleCall(methodName, args));
+ } else {
+ originalMethod.apply(this, args);
+ }
+ };
+ if (originalName) {
+ Object.defineProperty(wrapperMethod, 'name', originalName);
+ }
+ Object.defineProperty(console, methodName, {
+ value: wrapperMethod
+ });
+ }
+}
+patchConsoleMethodDEV('error');
+patchConsoleMethodDEV('assert');
+patchConsoleMethodDEV('debug');
+patchConsoleMethodDEV('dir');
+patchConsoleMethodDEV('dirxml');
+patchConsoleMethodDEV('group');
+patchConsoleMethodDEV('groupCollapsed');
+patchConsoleMethodDEV('groupEnd');
+patchConsoleMethodDEV('info');
+patchConsoleMethodDEV('log');
+patchConsoleMethodDEV('table');
+patchConsoleMethodDEV('trace');
+patchConsoleMethodDEV('warn');
+
+//# sourceMappingURL=console-dev.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/date.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/date.js
new file mode 100644
index 0000000000000000000000000000000000000000..66ef3fccdc5ca0668bd7a8fed6fee315e4c9ad70
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/date.js
@@ -0,0 +1,52 @@
+/**
+ * We extend `Date` during builds and revalidates to ensure that prerenders don't observe the clock as a source of IO
+ * When dynamicIO is enabled. The current time is a form of IO even though it resolves synchronously. When dyanmicIO is
+ * enabled we need to ensure that clock time is excluded from prerenders unless it is cached.
+ *
+ * There is tension here because time is used for both output and introspection. While arbitrary we intend to reserve
+ * `Date` for output use cases and `performance` for introspection use cases. If you want to measure
+ * how long something takes use `performance.timeOrigin` and `performance.now()` rather than `Date.now()` for instance.
+ *
+ * The extensions here never error nor alter the underlying Date objects, strings, and numbers created and thus should be transparent to callers.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _utils = require("./utils");
+function createNow(originalNow) {
+ return ({
+ now: function now() {
+ (0, _utils.io)('`Date.now()`', 'time');
+ return originalNow();
+ }
+ })['now'.slice()].bind(null);
+}
+function createDate(originalConstructor) {
+ const properties = Object.getOwnPropertyDescriptors(originalConstructor);
+ properties.now.value = createNow(originalConstructor.now);
+ const apply = Reflect.apply;
+ const construct = Reflect.construct;
+ const newConstructor = Object.defineProperties(// Ideally this should not minify the name.
+ function Date1() {
+ if (new.target === undefined) {
+ (0, _utils.io)('`Date()`', 'time');
+ return apply(originalConstructor, undefined, arguments);
+ }
+ if (arguments.length === 0) {
+ (0, _utils.io)('`new Date()`', 'time');
+ }
+ return construct(originalConstructor, arguments, new.target);
+ }, properties);
+ Object.defineProperty(originalConstructor.prototype, 'constructor', {
+ value: newConstructor
+ });
+ return newConstructor;
+}
+try {
+ // eslint-disable-next-line no-native-reassign
+ Date = createDate(Date);
+} catch {
+ console.error('Failed to install `Date` class extension. When using `experimental.dynamicIO`, APIs that read the current time will not correctly trigger dynamic behavior.');
+}
+
+//# sourceMappingURL=date.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/error-inspect.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/error-inspect.js
new file mode 100644
index 0000000000000000000000000000000000000000..0ae3287dc02f23b11ba5f65caf7ac99baa303fb0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/error-inspect.js
@@ -0,0 +1,8 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _patcherrorinspect = require("../patch-error-inspect");
+(0, _patcherrorinspect.patchErrorInspectNodeJS)(globalThis.Error);
+
+//# sourceMappingURL=error-inspect.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/node-crypto.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/node-crypto.js
new file mode 100644
index 0000000000000000000000000000000000000000..c76c36637574dde88c45d6545d27ccd536907a80
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/node-crypto.js
@@ -0,0 +1,103 @@
+/**
+ * We extend node:crypto APIs during builds and revalidates to ensure that prerenders don't observe random bytes
+ * When dynamicIO is enabled. Random bytes are a form of IO even if they resolve synchronously. When dyanmicIO is
+ * enabled we need to ensure that random bytes are excluded from prerenders unless they are cached.
+ *
+ *
+ * The extensions here never error nor alter the underlying return values and thus should be transparent to callers.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _utils = require("./utils");
+if (process.env.NEXT_RUNTIME === 'edge') {
+// nothing to patch
+} else {
+ const nodeCrypto = require('node:crypto');
+ // require('node:crypto').getRandomValues is an alias for
+ // crypto.getRandomValues which is extended in web-crypto.tsx
+ // require('node:crypto').randomUUID is not an alias for crypto.randomUUID
+ const randomUUIDExpression = "`require('node:crypto').randomUUID()`";
+ try {
+ const _randomUUID = nodeCrypto.randomUUID;
+ nodeCrypto.randomUUID = function randomUUID() {
+ (0, _utils.io)(randomUUIDExpression, 'random');
+ return _randomUUID.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${randomUUIDExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+ }
+ const randomBytesExpression = "`require('node:crypto').randomBytes(size)`";
+ try {
+ const _randomBytes = nodeCrypto.randomBytes;
+ // @ts-expect-error -- TODO: tell TS the overloads are preserved
+ nodeCrypto.randomBytes = function randomBytes() {
+ if (typeof arguments[1] !== 'function') {
+ // randomBytes is sync if the second arg is undefined
+ (0, _utils.io)(randomBytesExpression, 'random');
+ }
+ return _randomBytes.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${randomBytesExpression} extension. When using \`experimental.dynamicIO\` calling this function without a callback argument will not correctly trigger dynamic behavior.`);
+ }
+ const randomFillSyncExpression = "`require('node:crypto').randomFillSync(...)`";
+ try {
+ const _randomFillSync = nodeCrypto.randomFillSync;
+ // @ts-expect-error -- TODO: tell TS the overloads are preserved
+ nodeCrypto.randomFillSync = function randomFillSync() {
+ (0, _utils.io)(randomFillSyncExpression, 'random');
+ return _randomFillSync.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${randomFillSyncExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+ }
+ const randomIntExpression = "`require('node:crypto').randomInt(min, max)`";
+ try {
+ const _randomInt = nodeCrypto.randomInt;
+ // @ts-expect-error -- TODO: tell TS the overloads are preserved
+ nodeCrypto.randomInt = function randomInt() {
+ if (typeof arguments[2] !== 'function') {
+ // randomInt is sync if the third arg is undefined
+ (0, _utils.io)(randomIntExpression, 'random');
+ }
+ return _randomInt.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${randomBytesExpression} extension. When using \`experimental.dynamicIO\` calling this function without a callback argument will not correctly trigger dynamic behavior.`);
+ }
+ const generatePrimeSyncExpression = "`require('node:crypto').generatePrimeSync(...)`";
+ try {
+ const _generatePrimeSync = nodeCrypto.generatePrimeSync;
+ // @ts-expect-error -- TODO: tell TS the overloads are preserved
+ nodeCrypto.generatePrimeSync = function generatePrimeSync() {
+ (0, _utils.io)(generatePrimeSyncExpression, 'random');
+ return _generatePrimeSync.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${generatePrimeSyncExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+ }
+ const generateKeyPairSyncExpression = "`require('node:crypto').generateKeyPairSync(...)`";
+ try {
+ const _generateKeyPairSync = nodeCrypto.generateKeyPairSync;
+ // @ts-expect-error -- TODO: tell TS the overloads are preserved
+ nodeCrypto.generateKeyPairSync = function generateKeyPairSync() {
+ (0, _utils.io)(generateKeyPairSyncExpression, 'random');
+ return _generateKeyPairSync.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${generateKeyPairSyncExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+ }
+ const generateKeySyncExpression = "`require('node:crypto').generateKeySync(...)`";
+ try {
+ const _generateKeySync = nodeCrypto.generateKeySync;
+ nodeCrypto.generateKeySync = function generateKeySync() {
+ (0, _utils.io)(generateKeySyncExpression, 'random');
+ return _generateKeySync.apply(this, arguments);
+ };
+ } catch {
+ console.error(`Failed to install ${generateKeySyncExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+ }
+}
+
+//# sourceMappingURL=node-crypto.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/random.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/random.js
new file mode 100644
index 0000000000000000000000000000000000000000..c609aaf3fbdd0ed8df69fa371eefab460dc9e357
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/random.js
@@ -0,0 +1,28 @@
+/**
+ * We extend Math.random() during builds and revalidates to ensure that prerenders don't observe randomness
+ * When dynamicIO is enabled. randomness is a form of IO even though it resolves synchronously. When dyanmicIO is
+ * enabled we need to ensure that randomness is excluded from prerenders.
+ *
+ * The extensions here never error nor alter the random generation itself and thus should be transparent to callers.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _utils = require("./utils");
+const expression = '`Math.random()`';
+try {
+ const _random = Math.random;
+ Math.random = (function random() {
+ (0, _utils.io)(expression, 'random');
+ return _random.apply(null, arguments);
+ // We bind here to alter the `toString` printing to match `Math.random`'s native `toString`.
+ // eslint-disable-next-line no-extra-bind
+ }).bind(null);
+ Object.defineProperty(Math.random, 'name', {
+ value: 'random'
+ });
+} catch {
+ console.error(`Failed to install ${expression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+}
+
+//# sourceMappingURL=random.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..bcfccc7370138184011c50eb09ed577a5e12a16d
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/utils.js
@@ -0,0 +1,84 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "io", {
+ enumerable: true,
+ get: function() {
+ return io;
+ }
+});
+const _workasyncstorageexternal = require("../app-render/work-async-storage.external");
+const _workunitasyncstorageexternal = require("../app-render/work-unit-async-storage.external");
+const _dynamicrendering = require("../app-render/dynamic-rendering");
+const _invarianterror = require("../../shared/lib/invariant-error");
+function io(expression, type) {
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
+ if (workUnitStore) {
+ let isClient = false;
+ if (workUnitStore.type === 'prerender' || (isClient = workUnitStore.type === 'prerender-client')) {
+ const prerenderSignal = workUnitStore.controller.signal;
+ if (prerenderSignal.aborted === false) {
+ // If the prerender signal is already aborted we don't need to construct any stacks
+ // because something else actually terminated the prerender.
+ const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
+ if (workStore) {
+ let message;
+ switch(type){
+ case 'time':
+ message = isClient ? `Route "${workStore.route}" used ${expression} inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client` : `Route "${workStore.route}" used ${expression} instead of using \`performance\` or without explicitly calling \`await connection()\` beforehand. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time`;
+ break;
+ case 'random':
+ message = isClient ? `Route "${workStore.route}" used ${expression} inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-random-client` : `Route "${workStore.route}" used ${expression} outside of \`"use cache"\` and without explicitly calling \`await connection()\` beforehand. See more info here: https://nextjs.org/docs/messages/next-prerender-random`;
+ break;
+ case 'crypto':
+ message = isClient ? `Route "${workStore.route}" used ${expression} inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-crypto-client` : `Route "${workStore.route}" used ${expression} outside of \`"use cache"\` and without explicitly calling \`await connection()\` beforehand. See more info here: https://nextjs.org/docs/messages/next-prerender-crypto`;
+ break;
+ default:
+ throw Object.defineProperty(new _invarianterror.InvariantError('Unknown expression type in abortOnSynchronousPlatformIOAccess.'), "__NEXT_ERROR_CODE", {
+ value: "E526",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const errorWithStack = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ if (process.env.NODE_ENV !== 'production' && workUnitStore.captureOwnerStack) {
+ const ownerStack = workUnitStore.captureOwnerStack();
+ if (ownerStack) {
+ // TODO: Instead of stitching the stacks here, we should log the
+ // original error as-is when it occurs (i.e. here), and let
+ // `patchErrorInspect` handle adding the owner stack, instead of
+ // logging it deferred in the `LogSafely` component via
+ // `throwIfDisallowedDynamic`.
+ applyOwnerStack(errorWithStack, ownerStack);
+ }
+ }
+ (0, _dynamicrendering.abortOnSynchronousPlatformIOAccess)(workStore.route, expression, errorWithStack, workUnitStore);
+ }
+ }
+ } else if (workUnitStore.type === 'request' && workUnitStore.prerenderPhase === true) {
+ const requestStore = workUnitStore;
+ (0, _dynamicrendering.trackSynchronousPlatformIOAccessInDev)(requestStore);
+ }
+ }
+}
+function applyOwnerStack(error, ownerStack) {
+ let stack = ownerStack;
+ if (error.stack) {
+ const frames = [];
+ for (const frame of error.stack.split('\n').slice(1)){
+ if (frame.includes('react_stack_bottom_frame')) {
+ break;
+ }
+ frames.push(frame);
+ }
+ stack = '\n' + frames.join('\n') + stack;
+ }
+ error.stack = error.name + ': ' + error.message + stack;
+}
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/web-crypto.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/web-crypto.js
new file mode 100644
index 0000000000000000000000000000000000000000..b9206ff9c36b49ff56c7748ed891ffc2f1f2c189
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment-extensions/web-crypto.js
@@ -0,0 +1,45 @@
+/**
+ * We extend Web Crypto APIs during builds and revalidates to ensure that prerenders don't observe random bytes
+ * When dynamicIO is enabled. Random bytes are a form of IO even if they resolve synchronously. When dyanmicIO is
+ * enabled we need to ensure that random bytes are excluded from prerenders unless they are cached.
+ *
+ *
+ * The extensions here never error nor alter the underlying return values and thus should be transparent to callers.
+ */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+const _utils = require("./utils");
+let webCrypto;
+if (process.env.NEXT_RUNTIME === 'edge') {
+ webCrypto = crypto;
+} else {
+ if (typeof crypto === 'undefined') {
+ // @ts-expect-error -- TODO: Is this actually safe?
+ webCrypto = require('node:crypto').webcrypto;
+ } else {
+ webCrypto = crypto;
+ }
+}
+const getRandomValuesExpression = '`crypto.getRandomValues()`';
+try {
+ const _getRandomValues = webCrypto.getRandomValues;
+ webCrypto.getRandomValues = function getRandomValues() {
+ (0, _utils.io)(getRandomValuesExpression, 'crypto');
+ return _getRandomValues.apply(webCrypto, arguments);
+ };
+} catch {
+ console.error(`Failed to install ${getRandomValuesExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+}
+const randomUUIDExpression = '`crypto.randomUUID()`';
+try {
+ const _randomUUID = webCrypto.randomUUID;
+ webCrypto.randomUUID = function randomUUID() {
+ (0, _utils.io)(randomUUIDExpression, 'crypto');
+ return _randomUUID.apply(webCrypto, arguments);
+ };
+} catch {
+ console.error(`Failed to install ${getRandomValuesExpression} extension. When using \`experimental.dynamicIO\` calling this function will not correctly trigger dynamic behavior.`);
+}
+
+//# sourceMappingURL=web-crypto.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment.js
new file mode 100644
index 0000000000000000000000000000000000000000..3997c23a3b7d0cd51912515ce836321d97966fb1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-environment.js
@@ -0,0 +1,17 @@
+// This file should be imported before any others. It sets up the environment
+// for later imports to work properly.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+require("./node-environment-baseline");
+require("./node-environment-extensions/error-inspect");
+require("./node-environment-extensions/random");
+require("./node-environment-extensions/date");
+require("./node-environment-extensions/web-crypto");
+require("./node-environment-extensions/node-crypto");
+if (process.env.NODE_ENV === 'development') {
+ require('./node-environment-extensions/console-dev');
+}
+
+//# sourceMappingURL=node-environment.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-polyfill-crypto.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-polyfill-crypto.js
new file mode 100644
index 0000000000000000000000000000000000000000..2b8e3f41206f2c78f72ce41a511bfd8a4289a5ca
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/node-polyfill-crypto.js
@@ -0,0 +1,21 @@
+// Polyfill crypto() in the Node.js environment
+"use strict";
+if (!global.crypto) {
+ let webcrypto;
+ Object.defineProperty(global, 'crypto', {
+ enumerable: false,
+ configurable: true,
+ get () {
+ if (!webcrypto) {
+ // @ts-expect-error -- TODO: Is this actually safe?
+ webcrypto = require('node:crypto').webcrypto;
+ }
+ return webcrypto;
+ },
+ set (value) {
+ webcrypto = value;
+ }
+ });
+}
+
+//# sourceMappingURL=node-polyfill-crypto.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c7d142a9516a1a41e102573142ff78aff63488a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js
@@ -0,0 +1,33 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AbsoluteFilenameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return AbsoluteFilenameNormalizer;
+ }
+});
+const _absolutepathtopage = require("../../shared/lib/page-path/absolute-path-to-page");
+class AbsoluteFilenameNormalizer {
+ /**
+ *
+ * @param dir the directory for which the files should be made relative to
+ * @param extensions the extensions the file could have
+ * @param keepIndex when `true` the trailing `/index` is _not_ removed
+ */ constructor(dir, extensions, pagesType){
+ this.dir = dir;
+ this.extensions = extensions;
+ this.pagesType = pagesType;
+ }
+ normalize(filename) {
+ return (0, _absolutepathtopage.absolutePathToPage)(filename, {
+ extensions: this.extensions,
+ keepIndex: false,
+ dir: this.dir,
+ pagesType: this.pagesType
+ });
+ }
+}
+
+//# sourceMappingURL=absolute-filename-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ef12f9d1bdad69757eae6c2fbf6918307c9ecf6
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js
@@ -0,0 +1,54 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AppBundlePathNormalizer: null,
+ DevAppBundlePathNormalizer: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AppBundlePathNormalizer: function() {
+ return AppBundlePathNormalizer;
+ },
+ DevAppBundlePathNormalizer: function() {
+ return DevAppBundlePathNormalizer;
+ }
+});
+const _normalizers = require("../../normalizers");
+const _prefixingnormalizer = require("../../prefixing-normalizer");
+const _normalizepagepath = require("../../../../shared/lib/page-path/normalize-page-path");
+const _underscorenormalizer = require("../../underscore-normalizer");
+class AppBundlePathNormalizer extends _prefixingnormalizer.PrefixingNormalizer {
+ constructor(){
+ super('app');
+ }
+ normalize(page) {
+ return super.normalize((0, _normalizepagepath.normalizePagePath)(page));
+ }
+}
+class DevAppBundlePathNormalizer extends _normalizers.Normalizers {
+ constructor(pageNormalizer, isTurbopack){
+ const normalizers = [
+ // This should normalize the filename to a page.
+ pageNormalizer,
+ // Normalize the app page to a pathname.
+ new AppBundlePathNormalizer()
+ ];
+ // %5F to _ replacement should only happen with Turbopack.
+ if (isTurbopack) {
+ normalizers.unshift(new _underscorenormalizer.UnderscoreNormalizer());
+ }
+ super(normalizers);
+ }
+ normalize(filename) {
+ return super.normalize(filename);
+ }
+}
+
+//# sourceMappingURL=app-bundle-path-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..96853750b4a445907ce5ff8a0ce8b124c3e7b6d1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AppFilenameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return AppFilenameNormalizer;
+ }
+});
+const _constants = require("../../../../shared/lib/constants");
+const _prefixingnormalizer = require("../../prefixing-normalizer");
+class AppFilenameNormalizer extends _prefixingnormalizer.PrefixingNormalizer {
+ constructor(distDir){
+ super(distDir, _constants.SERVER_DIRECTORY);
+ }
+ normalize(manifestFilename) {
+ return super.normalize(manifestFilename);
+ }
+}
+
+//# sourceMappingURL=app-filename-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..88c9abbd8a347587ea381b5b4f86f3acd3edf2d3
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevAppPageNormalizer", {
+ enumerable: true,
+ get: function() {
+ return DevAppPageNormalizer;
+ }
+});
+const _pagetypes = require("../../../../lib/page-types");
+const _absolutefilenamenormalizer = require("../../absolute-filename-normalizer");
+const _normalizers = require("../../normalizers");
+/**
+ * DevAppPageNormalizer is a normalizer that is used to normalize a pathname
+ * to a page in the `app` directory.
+ */ class DevAppPageNormalizerInternal extends _absolutefilenamenormalizer.AbsoluteFilenameNormalizer {
+ constructor(appDir, extensions){
+ super(appDir, extensions, _pagetypes.PAGE_TYPES.APP);
+ }
+}
+class DevAppPageNormalizer extends _normalizers.Normalizers {
+ constructor(appDir, extensions, _isTurbopack){
+ const normalizer = new DevAppPageNormalizerInternal(appDir, extensions);
+ super(// %5F to _ replacement should only happen with Turbopack.
+ // TODO: enable when page matcher `/_` check is moved: https://github.com/vercel/next.js/blob/8eda00bf5999e43e8f0211bd72c981d5ce292e8b/packages/next/src/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.ts#L48
+ // isTurbopack
+ // ? [
+ // // The page should have the `%5F` characters replaced with `_` characters.
+ // new UnderscoreNormalizer(),
+ // normalizer,
+ // ]
+ // : [normalizer]
+ [
+ normalizer
+ ]);
+ }
+}
+
+//# sourceMappingURL=app-page-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..f5b43e8faf2ee30fb01fd7dc5f8e4af75376560e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AppPathnameNormalizer: null,
+ DevAppPathnameNormalizer: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AppPathnameNormalizer: function() {
+ return AppPathnameNormalizer;
+ },
+ DevAppPathnameNormalizer: function() {
+ return DevAppPathnameNormalizer;
+ }
+});
+const _apppaths = require("../../../../shared/lib/router/utils/app-paths");
+const _normalizers = require("../../normalizers");
+const _wrapnormalizerfn = require("../../wrap-normalizer-fn");
+const _underscorenormalizer = require("../../underscore-normalizer");
+class AppPathnameNormalizer extends _normalizers.Normalizers {
+ constructor(){
+ super([
+ // The pathname to match should have the trailing `/page` and other route
+ // group information stripped from it.
+ (0, _wrapnormalizerfn.wrapNormalizerFn)(_apppaths.normalizeAppPath),
+ // The page should have the `%5F` characters replaced with `_` characters.
+ new _underscorenormalizer.UnderscoreNormalizer()
+ ]);
+ }
+ normalize(page) {
+ return super.normalize(page);
+ }
+}
+class DevAppPathnameNormalizer extends _normalizers.Normalizers {
+ constructor(pageNormalizer){
+ super([
+ // This should normalize the filename to a page.
+ pageNormalizer,
+ // Normalize the app page to a pathname.
+ new AppPathnameNormalizer()
+ ]);
+ }
+ normalize(filename) {
+ return super.normalize(filename);
+ }
+}
+
+//# sourceMappingURL=app-pathname-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/index.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..a88cfe1bb47e29e85a1a671a5bacc345931e27f3
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/app/index.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AppNormalizers: null,
+ DevAppNormalizers: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AppNormalizers: function() {
+ return AppNormalizers;
+ },
+ DevAppNormalizers: function() {
+ return DevAppNormalizers;
+ }
+});
+const _appbundlepathnormalizer = require("./app-bundle-path-normalizer");
+const _appfilenamenormalizer = require("./app-filename-normalizer");
+const _apppagenormalizer = require("./app-page-normalizer");
+const _apppathnamenormalizer = require("./app-pathname-normalizer");
+class AppNormalizers {
+ constructor(distDir){
+ this.filename = new _appfilenamenormalizer.AppFilenameNormalizer(distDir);
+ this.pathname = new _apppathnamenormalizer.AppPathnameNormalizer();
+ this.bundlePath = new _appbundlepathnormalizer.AppBundlePathNormalizer();
+ }
+}
+class DevAppNormalizers {
+ constructor(appDir, extensions, isTurbopack){
+ this.page = new _apppagenormalizer.DevAppPageNormalizer(appDir, extensions, isTurbopack);
+ this.pathname = new _apppathnamenormalizer.DevAppPathnameNormalizer(this.page);
+ this.bundlePath = new _appbundlepathnormalizer.DevAppBundlePathNormalizer(this.page, isTurbopack);
+ }
+}
+
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/index.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..28b5a853c4eb57e943bda3c1f3462d1506c5f4be
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/index.js
@@ -0,0 +1,44 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ DevPagesNormalizers: null,
+ PagesNormalizers: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ DevPagesNormalizers: function() {
+ return DevPagesNormalizers;
+ },
+ PagesNormalizers: function() {
+ return PagesNormalizers;
+ }
+});
+const _pagesbundlepathnormalizer = require("./pages-bundle-path-normalizer");
+const _pagesfilenamenormalizer = require("./pages-filename-normalizer");
+const _pagespagenormalizer = require("./pages-page-normalizer");
+const _pagespathnamenormalizer = require("./pages-pathname-normalizer");
+class PagesNormalizers {
+ constructor(distDir){
+ this.filename = new _pagesfilenamenormalizer.PagesFilenameNormalizer(distDir);
+ this.bundlePath = new _pagesbundlepathnormalizer.PagesBundlePathNormalizer();
+ // You'd think that we'd require a `pathname` normalizer here, but for
+ // `/pages` we have to handle i18n routes, which means that we need to
+ // analyze the page path to determine the locale prefix and it's locale.
+ }
+}
+class DevPagesNormalizers {
+ constructor(pagesDir, extensions){
+ this.page = new _pagespagenormalizer.DevPagesPageNormalizer(pagesDir, extensions);
+ this.pathname = new _pagespathnamenormalizer.DevPagesPathnameNormalizer(pagesDir, extensions);
+ this.bundlePath = new _pagesbundlepathnormalizer.DevPagesBundlePathNormalizer(this.page);
+ }
+}
+
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..9ccc043de4419d0fe0d290e326a94254ab5fdee1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ DevPagesBundlePathNormalizer: null,
+ PagesBundlePathNormalizer: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ DevPagesBundlePathNormalizer: function() {
+ return DevPagesBundlePathNormalizer;
+ },
+ PagesBundlePathNormalizer: function() {
+ return PagesBundlePathNormalizer;
+ }
+});
+const _normalizepagepath = require("../../../../shared/lib/page-path/normalize-page-path");
+const _normalizers = require("../../normalizers");
+const _prefixingnormalizer = require("../../prefixing-normalizer");
+const _wrapnormalizerfn = require("../../wrap-normalizer-fn");
+class PagesBundlePathNormalizer extends _normalizers.Normalizers {
+ constructor(){
+ super([
+ // The bundle path should have the trailing `/index` stripped from
+ // it.
+ (0, _wrapnormalizerfn.wrapNormalizerFn)(_normalizepagepath.normalizePagePath),
+ // The page should prefixed with `pages/`.
+ new _prefixingnormalizer.PrefixingNormalizer('pages')
+ ]);
+ }
+ normalize(page) {
+ return super.normalize(page);
+ }
+}
+class DevPagesBundlePathNormalizer extends _normalizers.Normalizers {
+ constructor(pagesNormalizer){
+ super([
+ // This should normalize the filename to a page.
+ pagesNormalizer,
+ // Normalize the app page to a pathname.
+ new PagesBundlePathNormalizer()
+ ]);
+ }
+ normalize(filename) {
+ return super.normalize(filename);
+ }
+}
+
+//# sourceMappingURL=pages-bundle-path-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..eed594d7286093478809fcfc9a71b5ad8d6e872e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PagesFilenameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return PagesFilenameNormalizer;
+ }
+});
+const _constants = require("../../../../shared/lib/constants");
+const _prefixingnormalizer = require("../../prefixing-normalizer");
+class PagesFilenameNormalizer extends _prefixingnormalizer.PrefixingNormalizer {
+ constructor(distDir){
+ super(distDir, _constants.SERVER_DIRECTORY);
+ }
+ normalize(manifestFilename) {
+ return super.normalize(manifestFilename);
+ }
+}
+
+//# sourceMappingURL=pages-filename-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2dd3557003247f88de7fdd9b5dfd6ac3df491ec
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevPagesPageNormalizer", {
+ enumerable: true,
+ get: function() {
+ return DevPagesPageNormalizer;
+ }
+});
+const _pagetypes = require("../../../../lib/page-types");
+const _absolutefilenamenormalizer = require("../../absolute-filename-normalizer");
+class DevPagesPageNormalizer extends _absolutefilenamenormalizer.AbsoluteFilenameNormalizer {
+ constructor(pagesDir, extensions){
+ super(pagesDir, extensions, _pagetypes.PAGE_TYPES.PAGES);
+ }
+}
+
+//# sourceMappingURL=pages-page-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..3c3e79da9881b73f356fa28633aa825eac104fef
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevPagesPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return DevPagesPathnameNormalizer;
+ }
+});
+const _pagetypes = require("../../../../lib/page-types");
+const _absolutefilenamenormalizer = require("../../absolute-filename-normalizer");
+class DevPagesPathnameNormalizer extends _absolutefilenamenormalizer.AbsoluteFilenameNormalizer {
+ constructor(pagesDir, extensions){
+ super(pagesDir, extensions, _pagetypes.PAGE_TYPES.PAGES);
+ }
+}
+
+//# sourceMappingURL=pages-pathname-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/locale-route-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/locale-route-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..8885c7518a34e0c413f2832e5e2d53dffd7d7408
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/locale-route-normalizer.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "LocaleRouteNormalizer", {
+ enumerable: true,
+ get: function() {
+ return LocaleRouteNormalizer;
+ }
+});
+class LocaleRouteNormalizer {
+ constructor(provider){
+ this.provider = provider;
+ }
+ /**
+ * Normalizes the pathname by removing the locale prefix if any.
+ *
+ * @param pathname The pathname to normalize.
+ * @returns The pathname without the locale prefix (if any).
+ */ normalize(pathname) {
+ const match = this.provider.analyze(pathname);
+ return match.pathname;
+ }
+}
+
+//# sourceMappingURL=locale-route-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/normalizers.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/normalizers.js
new file mode 100644
index 0000000000000000000000000000000000000000..d8f52c2781f46f2e63b182e46e9c567e7c0bbe5e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/normalizers.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "Normalizers", {
+ enumerable: true,
+ get: function() {
+ return Normalizers;
+ }
+});
+class Normalizers {
+ constructor(normalizers = []){
+ this.normalizers = normalizers;
+ }
+ push(normalizer) {
+ this.normalizers.push(normalizer);
+ }
+ normalize(pathname) {
+ return this.normalizers.reduce((normalized, normalizer)=>normalizer.normalize(normalized), pathname);
+ }
+}
+
+//# sourceMappingURL=normalizers.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/prefixing-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/prefixing-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..26b7e8b01985d0483e46411b7cf0423bedcea712
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/prefixing-normalizer.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PrefixingNormalizer", {
+ enumerable: true,
+ get: function() {
+ return PrefixingNormalizer;
+ }
+});
+const _path = /*#__PURE__*/ _interop_require_default(require("../../shared/lib/isomorphic/path"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class PrefixingNormalizer {
+ constructor(...prefixes){
+ this.prefix = _path.default.posix.join(...prefixes);
+ }
+ normalize(pathname) {
+ return _path.default.posix.join(this.prefix, pathname);
+ }
+}
+
+//# sourceMappingURL=prefixing-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/base-path.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/base-path.js
new file mode 100644
index 0000000000000000000000000000000000000000..c4dd11636c545643b9686f73ba17320d0aecc229
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/base-path.js
@@ -0,0 +1,25 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "BasePathPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return BasePathPathnameNormalizer;
+ }
+});
+const _prefix = require("./prefix");
+class BasePathPathnameNormalizer extends _prefix.PrefixPathnameNormalizer {
+ constructor(basePath){
+ if (!basePath || basePath === '/') {
+ throw Object.defineProperty(new Error('Invariant: basePath must be set and cannot be "/"'), "__NEXT_ERROR_CODE", {
+ value: "E154",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ super(basePath);
+ }
+}
+
+//# sourceMappingURL=base-path.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/next-data.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/next-data.js
new file mode 100644
index 0000000000000000000000000000000000000000..1cdb45c005e3ce98e8150976a42080a44441a617
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/next-data.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "NextDataPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return NextDataPathnameNormalizer;
+ }
+});
+const _denormalizepagepath = require("../../../shared/lib/page-path/denormalize-page-path");
+const _prefix = require("./prefix");
+const _suffix = require("./suffix");
+class NextDataPathnameNormalizer {
+ constructor(buildID){
+ this.suffix = new _suffix.SuffixPathnameNormalizer('.json');
+ if (!buildID) {
+ throw Object.defineProperty(new Error('Invariant: buildID is required'), "__NEXT_ERROR_CODE", {
+ value: "E200",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ this.prefix = new _prefix.PrefixPathnameNormalizer(`/_next/data/${buildID}`);
+ }
+ match(pathname) {
+ return this.prefix.match(pathname) && this.suffix.match(pathname);
+ }
+ normalize(pathname, matched) {
+ // If we're not matched and we don't match, we don't need to normalize.
+ if (!matched && !this.match(pathname)) return pathname;
+ pathname = this.prefix.normalize(pathname, true);
+ pathname = this.suffix.normalize(pathname, true);
+ return (0, _denormalizepagepath.denormalizePagePath)(pathname);
+ }
+}
+
+//# sourceMappingURL=next-data.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefetch-rsc.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefetch-rsc.js
new file mode 100644
index 0000000000000000000000000000000000000000..99109fc0436114212722cbfc08d6975c593e9ad2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefetch-rsc.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PrefetchRSCPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return PrefetchRSCPathnameNormalizer;
+ }
+});
+const _constants = require("../../../lib/constants");
+const _suffix = require("./suffix");
+class PrefetchRSCPathnameNormalizer extends _suffix.SuffixPathnameNormalizer {
+ constructor(){
+ super(_constants.RSC_PREFETCH_SUFFIX);
+ }
+ match(pathname) {
+ if (pathname === '/__index' + _constants.RSC_PREFETCH_SUFFIX) {
+ return true;
+ }
+ return super.match(pathname);
+ }
+ normalize(pathname, matched) {
+ if (pathname === '/__index' + _constants.RSC_PREFETCH_SUFFIX) {
+ return '/';
+ }
+ return super.normalize(pathname, matched);
+ }
+}
+
+//# sourceMappingURL=prefetch-rsc.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefix.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefix.js
new file mode 100644
index 0000000000000000000000000000000000000000..481c766d3b25ec84bb04782ddae6ceb9fd47965a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/prefix.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PrefixPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return PrefixPathnameNormalizer;
+ }
+});
+class PrefixPathnameNormalizer {
+ constructor(prefix){
+ this.prefix = prefix;
+ if (prefix.endsWith('/')) {
+ throw Object.defineProperty(new Error(`PrefixPathnameNormalizer: prefix "${prefix}" should not end with a slash`), "__NEXT_ERROR_CODE", {
+ value: "E219",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ match(pathname) {
+ // If the pathname doesn't start with the prefix, we don't match.
+ if (pathname !== this.prefix && !pathname.startsWith(this.prefix + '/')) {
+ return false;
+ }
+ return true;
+ }
+ normalize(pathname, matched) {
+ // If we're not matched and we don't match, we don't need to normalize.
+ if (!matched && !this.match(pathname)) return pathname;
+ if (pathname.length === this.prefix.length) {
+ return '/';
+ }
+ return pathname.substring(this.prefix.length);
+ }
+}
+
+//# sourceMappingURL=prefix.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/rsc.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/rsc.js
new file mode 100644
index 0000000000000000000000000000000000000000..f9eefc692a66f75a11f123102f3e2bae9df4c8fb
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/rsc.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "RSCPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return RSCPathnameNormalizer;
+ }
+});
+const _constants = require("../../../lib/constants");
+const _suffix = require("./suffix");
+class RSCPathnameNormalizer extends _suffix.SuffixPathnameNormalizer {
+ constructor(){
+ super(_constants.RSC_SUFFIX);
+ }
+}
+
+//# sourceMappingURL=rsc.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js
new file mode 100644
index 0000000000000000000000000000000000000000..0f6ca58312e56b5d93dc159231d37cf8134ec25a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "SegmentPrefixRSCPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return SegmentPrefixRSCPathnameNormalizer;
+ }
+});
+const _constants = require("../../../lib/constants");
+const PATTERN = new RegExp(`^(/.*)${_constants.RSC_SEGMENTS_DIR_SUFFIX}(/.*)${_constants.RSC_SEGMENT_SUFFIX}$`);
+class SegmentPrefixRSCPathnameNormalizer {
+ match(pathname) {
+ return PATTERN.test(pathname);
+ }
+ extract(pathname) {
+ const match = pathname.match(PATTERN);
+ if (!match) return null;
+ return {
+ originalPathname: match[1],
+ segmentPath: match[2]
+ };
+ }
+ normalize(pathname) {
+ const match = this.extract(pathname);
+ if (!match) return pathname;
+ return match.originalPathname;
+ }
+}
+
+//# sourceMappingURL=segment-prefix-rsc.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/suffix.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/suffix.js
new file mode 100644
index 0000000000000000000000000000000000000000..5cd6daccf85cab77f2314c4ac078856e745d100b
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/request/suffix.js
@@ -0,0 +1,27 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "SuffixPathnameNormalizer", {
+ enumerable: true,
+ get: function() {
+ return SuffixPathnameNormalizer;
+ }
+});
+class SuffixPathnameNormalizer {
+ constructor(suffix){
+ this.suffix = suffix;
+ }
+ match(pathname) {
+ // If the pathname doesn't end in the suffix, we don't match.
+ if (!pathname.endsWith(this.suffix)) return false;
+ return true;
+ }
+ normalize(pathname, matched) {
+ // If we're not matched and we don't match, we don't need to normalize.
+ if (!matched && !this.match(pathname)) return pathname;
+ return pathname.substring(0, pathname.length - this.suffix.length);
+ }
+}
+
+//# sourceMappingURL=suffix.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/underscore-normalizer.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/underscore-normalizer.js
new file mode 100644
index 0000000000000000000000000000000000000000..d7997687b84279119e4e594074bec7f90bdb13c7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/underscore-normalizer.js
@@ -0,0 +1,17 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "UnderscoreNormalizer", {
+ enumerable: true,
+ get: function() {
+ return UnderscoreNormalizer;
+ }
+});
+class UnderscoreNormalizer {
+ normalize(pathname) {
+ return pathname.replace(/%5F/g, '_');
+ }
+}
+
+//# sourceMappingURL=underscore-normalizer.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js
new file mode 100644
index 0000000000000000000000000000000000000000..262af718f8b60b6329850672fb8131543c912da9
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js
@@ -0,0 +1,17 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "wrapNormalizerFn", {
+ enumerable: true,
+ get: function() {
+ return wrapNormalizerFn;
+ }
+});
+function wrapNormalizerFn(fn) {
+ return {
+ normalize: fn
+ };
+}
+
+//# sourceMappingURL=wrap-normalizer-fn.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/optimize-amp.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/optimize-amp.js
new file mode 100644
index 0000000000000000000000000000000000000000..4c60cc9b41b8439d8fa90a7a081c4086085c5648
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/optimize-amp.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return optimize;
+ }
+});
+async function optimize(html, config) {
+ let AmpOptimizer;
+ try {
+ AmpOptimizer = require('next/dist/compiled/@ampproject/toolbox-optimizer');
+ } catch (_) {
+ return html;
+ }
+ const optimizer = AmpOptimizer.create(config);
+ return optimizer.transformHtml(html, config);
+}
+
+//# sourceMappingURL=optimize-amp.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/patch-error-inspect.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/patch-error-inspect.js
new file mode 100644
index 0000000000000000000000000000000000000000..b19d900360f4299c92040f92727bf3161f833e76
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/patch-error-inspect.js
@@ -0,0 +1,419 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ patchErrorInspectEdgeLite: null,
+ patchErrorInspectNodeJS: null,
+ setBundlerFindSourceMapImplementation: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ patchErrorInspectEdgeLite: function() {
+ return patchErrorInspectEdgeLite;
+ },
+ patchErrorInspectNodeJS: function() {
+ return patchErrorInspectNodeJS;
+ },
+ setBundlerFindSourceMapImplementation: function() {
+ return setBundlerFindSourceMapImplementation;
+ }
+});
+const _module = require("module");
+const _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
+const _url = /*#__PURE__*/ _interop_require_wildcard(require("url"));
+const _sourcemap = require("next/dist/compiled/source-map");
+const _sourcemaps = require("./lib/source-maps");
+const _parsestack = require("./lib/parse-stack");
+const _shared = require("../next-devtools/server/shared");
+const _workunitasyncstorageexternal = require("./app-render/work-unit-async-storage.external");
+const _picocolors = require("../lib/picocolors");
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+// Find a source map using the bundler's API.
+// This is only a fallback for when Node.js fails to due to bugs e.g. https://github.com/nodejs/node/issues/52102
+// TODO: Remove once all supported Node.js versions are fixed.
+// TODO(veil): Set from Webpack as well
+let bundlerFindSourceMapPayload = ()=>undefined;
+function setBundlerFindSourceMapImplementation(findSourceMapImplementation) {
+ bundlerFindSourceMapPayload = findSourceMapImplementation;
+}
+function frameToString(frame) {
+ let sourceLocation = frame.lineNumber !== null ? `:${frame.lineNumber}` : '';
+ if (frame.column !== null && sourceLocation !== '') {
+ sourceLocation += `:${frame.column}`;
+ }
+ let fileLocation;
+ if (frame.file !== null && frame.file.startsWith('file://') && URL.canParse(frame.file)) {
+ // If not relative to CWD, the path is ambiguous to IDEs and clicking will prompt to select the file first.
+ // In a multi-app repo, this leads to potentially larger file names but will make clicking snappy.
+ // There's no tradeoff for the cases where `dir` in `next dev [dir]` is omitted
+ // since relative to cwd is both the shortest and snappiest.
+ fileLocation = _path.relative(process.cwd(), _url.fileURLToPath(frame.file));
+ } else if (frame.file !== null && frame.file.startsWith('/')) {
+ fileLocation = _path.relative(process.cwd(), frame.file);
+ } else {
+ fileLocation = frame.file;
+ }
+ return frame.methodName ? ` at ${frame.methodName} (${fileLocation}${sourceLocation})` : ` at ${fileLocation}${sourceLocation}`;
+}
+function computeErrorName(error) {
+ // TODO: Node.js seems to use a different algorithm
+ // class ReadonlyRequestCookiesError extends Error {}` would read `ReadonlyRequestCookiesError: [...]`
+ // in the stack i.e. seems like under certain conditions it favors the constructor name.
+ return error.name || 'Error';
+}
+function prepareUnsourcemappedStackTrace(error, structuredStackTrace) {
+ const name = computeErrorName(error);
+ const message = error.message || '';
+ let stack = name + ': ' + message;
+ for(let i = 0; i < structuredStackTrace.length; i++){
+ stack += '\n at ' + structuredStackTrace[i].toString();
+ }
+ return stack;
+}
+function shouldIgnoreListGeneratedFrame(file) {
+ return file.startsWith('node:') || file.includes('node_modules');
+}
+function shouldIgnoreListOriginalFrame(file) {
+ return file.includes('node_modules');
+}
+function createUnsourcemappedFrame(frame) {
+ return {
+ stack: {
+ arguments: frame.arguments,
+ column: frame.column,
+ file: frame.file,
+ lineNumber: frame.lineNumber,
+ methodName: frame.methodName,
+ ignored: shouldIgnoreListGeneratedFrame(frame.file)
+ },
+ code: null
+ };
+}
+function ignoreListAnonymousStackFramesIfSandwiched(sourceMappedFrames) {
+ return (0, _sourcemaps.ignoreListAnonymousStackFramesIfSandwiched)(sourceMappedFrames, (frame)=>frame.stack.file === '', (frame)=>frame.stack.ignored, (frame)=>frame.stack.methodName, (frame)=>{
+ frame.stack.ignored = true;
+ });
+}
+/**
+ * @param frame
+ * @param sourceMapCache
+ * @returns The original frame if not sourcemapped.
+ */ function getSourcemappedFrameIfPossible(frame, sourceMapCache, inspectOptions) {
+ var _frame_methodName_replace, _frame_methodName;
+ const sourceMapCacheEntry = sourceMapCache.get(frame.file);
+ let sourceMapConsumer;
+ let sourceMapPayload;
+ if (sourceMapCacheEntry === undefined) {
+ let sourceURL = frame.file;
+ // e.g. "/APP/.next/server/chunks/ssr/[root-of-the-server]__2934a0._.js"
+ // will be keyed by Node.js as "file:///APP/.next/server/chunks/ssr/[root-of-the-server]__2934a0._.js".
+ // This is likely caused by `callsite.toString()` in `Error.prepareStackTrace converting file URLs to paths.
+ if (sourceURL.startsWith('/')) {
+ sourceURL = _url.pathToFileURL(frame.file).toString();
+ }
+ let maybeSourceMapPayload;
+ try {
+ const sourceMap = (0, _module.findSourceMap)(sourceURL);
+ maybeSourceMapPayload = sourceMap == null ? void 0 : sourceMap.payload;
+ } catch (cause) {
+ // We should not log an actual error instance here because that will re-enter
+ // this codepath during error inspection and could lead to infinite recursion.
+ console.error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to find the original code. Cause: ${cause}`);
+ // If loading fails once, it'll fail every time.
+ // So set the cache to avoid duplicate errors.
+ sourceMapCache.set(frame.file, null);
+ // Don't even fall back to the bundler because it might be not as strict
+ // with regards to parsing and then we fail later once we consume the
+ // source map payload.
+ // This essentially avoids a redundant error where we fail here and then
+ // later on consumption because the bundler just handed back an invalid
+ // source map.
+ return createUnsourcemappedFrame(frame);
+ }
+ if (maybeSourceMapPayload === undefined) {
+ maybeSourceMapPayload = bundlerFindSourceMapPayload(sourceURL);
+ }
+ if (maybeSourceMapPayload === undefined) {
+ return createUnsourcemappedFrame(frame);
+ }
+ sourceMapPayload = maybeSourceMapPayload;
+ try {
+ sourceMapConsumer = new _sourcemap.SourceMapConsumer(// @ts-expect-error -- Module.SourceMap['version'] is number but SyncSourceMapConsumer wants a string
+ sourceMapPayload);
+ } catch (cause) {
+ // We should not log an actual error instance here because that will re-enter
+ // this codepath during error inspection and could lead to infinite recursion.
+ console.error(`${sourceURL}: Invalid source map. Only conformant source maps can be used to find the original code. Cause: ${cause}`);
+ // If creating the consumer fails once, it'll fail every time.
+ // So set the cache to avoid duplicate errors.
+ sourceMapCache.set(frame.file, null);
+ return createUnsourcemappedFrame(frame);
+ }
+ sourceMapCache.set(frame.file, {
+ map: sourceMapConsumer,
+ payload: sourceMapPayload
+ });
+ } else if (sourceMapCacheEntry === null) {
+ // We failed earlier getting the payload or consumer.
+ // Just return an unsourcemapped frame.
+ // Errors will already be logged.
+ return createUnsourcemappedFrame(frame);
+ } else {
+ sourceMapConsumer = sourceMapCacheEntry.map;
+ sourceMapPayload = sourceMapCacheEntry.payload;
+ }
+ const sourcePosition = sourceMapConsumer.originalPositionFor({
+ column: frame.column ?? 0,
+ line: frame.lineNumber ?? 1
+ });
+ const applicableSourceMap = (0, _sourcemaps.findApplicableSourceMapPayload)(frame.lineNumber ?? 0, frame.column ?? 0, sourceMapPayload);
+ let ignored = applicableSourceMap !== undefined && (0, _sourcemaps.sourceMapIgnoreListsEverything)(applicableSourceMap);
+ if (sourcePosition.source === null) {
+ return {
+ stack: {
+ arguments: frame.arguments,
+ column: frame.column,
+ file: frame.file,
+ lineNumber: frame.lineNumber,
+ methodName: frame.methodName,
+ ignored: ignored || shouldIgnoreListGeneratedFrame(frame.file)
+ },
+ code: null
+ };
+ }
+ // TODO(veil): Upstream a method to sourcemap consumer that immediately says if a frame is ignored or not.
+ if (applicableSourceMap === undefined) {
+ console.error('No applicable source map found in sections for frame', frame);
+ } else if (!ignored && shouldIgnoreListOriginalFrame(sourcePosition.source)) {
+ // Externals may be libraries that don't ship ignoreLists.
+ // This is really taking control away from libraries.
+ // They should still ship `ignoreList` so that attached debuggers ignore-list their frames.
+ // TODO: Maybe only ignore library sourcemaps if `ignoreList` is absent?
+ // Though keep in mind that Turbopack omits empty `ignoreList`.
+ // So if we establish this convention, we should communicate it to the ecosystem.
+ ignored = true;
+ } else if (!ignored) {
+ var _applicableSourceMap_ignoreList;
+ // TODO: O(n^2). Consider moving `ignoreList` into a Set
+ const sourceIndex = applicableSourceMap.sources.indexOf(sourcePosition.source);
+ ignored = ((_applicableSourceMap_ignoreList = applicableSourceMap.ignoreList) == null ? void 0 : _applicableSourceMap_ignoreList.includes(sourceIndex)) ?? false;
+ }
+ const originalFrame = {
+ // We ignore the sourcemapped name since it won't be the correct name.
+ // The callsite will point to the column of the variable name instead of the
+ // name of the enclosing function.
+ // TODO(NDX-531): Spy on prepareStackTrace to get the enclosing line number for method name mapping.
+ methodName: (_frame_methodName = frame.methodName) == null ? void 0 : (_frame_methodName_replace = _frame_methodName.replace('__WEBPACK_DEFAULT_EXPORT__', 'default')) == null ? void 0 : _frame_methodName_replace.replace('__webpack_exports__.', ''),
+ column: sourcePosition.column,
+ file: sourcePosition.source,
+ lineNumber: sourcePosition.line,
+ // TODO: c&p from async createOriginalStackFrame but why not frame.arguments?
+ arguments: [],
+ ignored
+ };
+ /** undefined = not yet computed*/ let codeFrame;
+ return Object.defineProperty({
+ stack: originalFrame,
+ code: null
+ }, 'code', {
+ get: ()=>{
+ if (codeFrame === undefined) {
+ const sourceContent = sourceMapConsumer.sourceContentFor(sourcePosition.source, /* returnNullOnMissing */ true) ?? null;
+ codeFrame = (0, _shared.getOriginalCodeFrame)(originalFrame, sourceContent, inspectOptions.colors);
+ }
+ return codeFrame;
+ }
+ });
+}
+function parseAndSourceMap(error, inspectOptions) {
+ // TODO(veil): Expose as CLI arg or config option. Useful for local debugging.
+ const showIgnoreListed = false;
+ // We overwrote Error.prepareStackTrace earlier so error.stack is not sourcemapped.
+ let unparsedStack = String(error.stack);
+ // We could just read it from `error.stack`.
+ // This works around cases where a 3rd party `Error.prepareStackTrace` implementation
+ // doesn't implement the name computation correctly.
+ const errorName = computeErrorName(error);
+ let idx = unparsedStack.indexOf('react_stack_bottom_frame');
+ if (idx !== -1) {
+ idx = unparsedStack.lastIndexOf('\n', idx);
+ } else {
+ idx = unparsedStack.indexOf('react-stack-bottom-frame');
+ if (idx !== -1) {
+ idx = unparsedStack.lastIndexOf('\n', idx);
+ }
+ }
+ if (idx !== -1 && !showIgnoreListed) {
+ // Cut off everything after the bottom frame since it'll be React internals.
+ unparsedStack = unparsedStack.slice(0, idx);
+ }
+ const unsourcemappedStack = (0, _parsestack.parseStack)(unparsedStack);
+ const sourceMapCache = new Map();
+ const sourceMappedFrames = [];
+ let sourceFrame = null;
+ for (const frame of unsourcemappedStack){
+ if (frame.file === null) {
+ sourceMappedFrames.push({
+ code: null,
+ stack: {
+ arguments: frame.arguments,
+ column: frame.column,
+ file: frame.file,
+ lineNumber: frame.lineNumber,
+ methodName: frame.methodName,
+ ignored: false
+ }
+ });
+ } else {
+ const sourcemappedFrame = getSourcemappedFrameIfPossible(// We narrowed this earlier by bailing if `frame.file` is null.
+ frame, sourceMapCache, inspectOptions);
+ sourceMappedFrames.push(sourcemappedFrame);
+ // We can determine the sourceframe here.
+ // anonymous frames won't have a sourceframe so we don't need to scan
+ // all stacks again to check if they are sandwiched between ignored frames.
+ if (sourceFrame === null && // TODO: Is this the right choice?
+ !sourcemappedFrame.stack.ignored && sourcemappedFrame.code !== null) {
+ sourceFrame = sourcemappedFrame.code;
+ }
+ }
+ }
+ ignoreListAnonymousStackFramesIfSandwiched(sourceMappedFrames);
+ let sourceMappedStack = '';
+ for(let i = 0; i < sourceMappedFrames.length; i++){
+ const frame = sourceMappedFrames[i];
+ if (!frame.stack.ignored) {
+ sourceMappedStack += '\n' + frameToString(frame.stack);
+ } else if (showIgnoreListed) {
+ sourceMappedStack += '\n' + (0, _picocolors.dim)(frameToString(frame.stack));
+ }
+ }
+ return errorName + ': ' + error.message + sourceMappedStack + (sourceFrame !== null ? '\n' + sourceFrame : '');
+}
+function sourceMapError(error, inspectOptions) {
+ // Create a new Error object with the source mapping applied and then use native
+ // Node.js formatting on the result.
+ const newError = error.cause !== undefined ? Object.defineProperty(new Error(error.message, {
+ cause: error.cause
+ }), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ }) : Object.defineProperty(new Error(error.message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ // TODO: Ensure `class MyError extends Error {}` prints `MyError` as the name
+ newError.stack = parseAndSourceMap(error, inspectOptions);
+ for(const key in error){
+ if (!Object.prototype.hasOwnProperty.call(newError, key)) {
+ // @ts-expect-error -- We're copying all enumerable properties.
+ // So they definitely exist on `this` and obviously have no type on `newError` (yet)
+ newError[key] = error[key];
+ }
+ }
+ return newError;
+}
+function patchErrorInspectNodeJS(errorConstructor) {
+ const inspectSymbol = Symbol.for('nodejs.util.inspect.custom');
+ errorConstructor.prepareStackTrace = prepareUnsourcemappedStackTrace;
+ // @ts-expect-error -- TODO upstream types
+ // eslint-disable-next-line no-extend-native -- We're not extending but overriding.
+ errorConstructor.prototype[inspectSymbol] = function(depth, inspectOptions, inspect) {
+ // avoid false-positive dynamic i/o warnings e.g. due to usage of `Math.random` in `source-map`.
+ return _workunitasyncstorageexternal.workUnitAsyncStorage.exit(()=>{
+ const newError = sourceMapError(this, inspectOptions);
+ const originalCustomInspect = newError[inspectSymbol];
+ // Prevent infinite recursion.
+ // { customInspect: false } would result in `error.cause` not using our inspect.
+ Object.defineProperty(newError, inspectSymbol, {
+ value: undefined,
+ enumerable: false,
+ writable: true
+ });
+ try {
+ return inspect(newError, {
+ ...inspectOptions,
+ depth: (inspectOptions.depth ?? // Default in Node.js
+ 2) - depth
+ });
+ } finally{
+ ;
+ newError[inspectSymbol] = originalCustomInspect;
+ }
+ });
+ };
+}
+function patchErrorInspectEdgeLite(errorConstructor) {
+ const inspectSymbol = Symbol.for('edge-runtime.inspect.custom');
+ errorConstructor.prepareStackTrace = prepareUnsourcemappedStackTrace;
+ // @ts-expect-error -- TODO upstream types
+ // eslint-disable-next-line no-extend-native -- We're not extending but overriding.
+ errorConstructor.prototype[inspectSymbol] = function({ format }) {
+ // avoid false-positive dynamic i/o warnings e.g. due to usage of `Math.random` in `source-map`.
+ return _workunitasyncstorageexternal.workUnitAsyncStorage.exit(()=>{
+ const newError = sourceMapError(this, {});
+ const originalCustomInspect = newError[inspectSymbol];
+ // Prevent infinite recursion.
+ Object.defineProperty(newError, inspectSymbol, {
+ value: undefined,
+ enumerable: false,
+ writable: true
+ });
+ try {
+ return format(newError);
+ } finally{
+ ;
+ newError[inspectSymbol] = originalCustomInspect;
+ }
+ });
+ };
+}
+
+//# sourceMappingURL=patch-error-inspect.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/pipe-readable.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/pipe-readable.js
new file mode 100644
index 0000000000000000000000000000000000000000..ad95ae2785bb2fe098ea01eeda4e5249465064af
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/pipe-readable.js
@@ -0,0 +1,140 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isAbortError: null,
+ pipeToNodeResponse: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isAbortError: function() {
+ return isAbortError;
+ },
+ pipeToNodeResponse: function() {
+ return pipeToNodeResponse;
+ }
+});
+const _nextrequest = require("./web/spec-extension/adapters/next-request");
+const _detachedpromise = require("../lib/detached-promise");
+const _tracer = require("./lib/trace/tracer");
+const _constants = require("./lib/trace/constants");
+const _clientcomponentrendererlogger = require("./client-component-renderer-logger");
+function isAbortError(e) {
+ return (e == null ? void 0 : e.name) === 'AbortError' || (e == null ? void 0 : e.name) === _nextrequest.ResponseAbortedName;
+}
+function createWriterFromResponse(res, waitUntilForEnd) {
+ let started = false;
+ // Create a promise that will resolve once the response has drained. See
+ // https://nodejs.org/api/stream.html#stream_event_drain
+ let drained = new _detachedpromise.DetachedPromise();
+ function onDrain() {
+ drained.resolve();
+ }
+ res.on('drain', onDrain);
+ // If the finish event fires, it means we shouldn't block and wait for the
+ // drain event.
+ res.once('close', ()=>{
+ res.off('drain', onDrain);
+ drained.resolve();
+ });
+ // Create a promise that will resolve once the response has finished. See
+ // https://nodejs.org/api/http.html#event-finish_1
+ const finished = new _detachedpromise.DetachedPromise();
+ res.once('finish', ()=>{
+ finished.resolve();
+ });
+ // Create a writable stream that will write to the response.
+ return new WritableStream({
+ write: async (chunk)=>{
+ // You'd think we'd want to use `start` instead of placing this in `write`
+ // but this ensures that we don't actually flush the headers until we've
+ // started writing chunks.
+ if (!started) {
+ started = true;
+ if ('performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX) {
+ const metrics = (0, _clientcomponentrendererlogger.getClientComponentLoaderMetrics)();
+ if (metrics) {
+ performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`, {
+ start: metrics.clientComponentLoadStart,
+ end: metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes
+ });
+ }
+ }
+ res.flushHeaders();
+ (0, _tracer.getTracer)().trace(_constants.NextNodeServerSpan.startResponse, {
+ spanName: 'start response'
+ }, ()=>undefined);
+ }
+ try {
+ const ok = res.write(chunk);
+ // Added by the `compression` middleware, this is a function that will
+ // flush the partially-compressed response to the client.
+ if ('flush' in res && typeof res.flush === 'function') {
+ res.flush();
+ }
+ // If the write returns false, it means there's some backpressure, so
+ // wait until it's streamed before continuing.
+ if (!ok) {
+ await drained.promise;
+ // Reset the drained promise so that we can wait for the next drain event.
+ drained = new _detachedpromise.DetachedPromise();
+ }
+ } catch (err) {
+ res.end();
+ throw Object.defineProperty(new Error('failed to write chunk to response', {
+ cause: err
+ }), "__NEXT_ERROR_CODE", {
+ value: "E321",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ },
+ abort: (err)=>{
+ if (res.writableFinished) return;
+ res.destroy(err);
+ },
+ close: async ()=>{
+ // if a waitUntil promise was passed, wait for it to resolve before
+ // ending the response.
+ if (waitUntilForEnd) {
+ await waitUntilForEnd;
+ }
+ if (res.writableFinished) return;
+ res.end();
+ return finished.promise;
+ }
+ });
+}
+async function pipeToNodeResponse(readable, res, waitUntilForEnd) {
+ try {
+ // If the response has already errored, then just return now.
+ const { errored, destroyed } = res;
+ if (errored || destroyed) return;
+ // Create a new AbortController so that we can abort the readable if the
+ // client disconnects.
+ const controller = (0, _nextrequest.createAbortController)(res);
+ const writer = createWriterFromResponse(res, waitUntilForEnd);
+ await readable.pipeTo(writer, {
+ signal: controller.signal
+ });
+ } catch (err) {
+ // If this isn't related to an abort error, re-throw it.
+ if (isAbortError(err)) return;
+ throw Object.defineProperty(new Error('failed to pipe response', {
+ cause: err
+ }), "__NEXT_ERROR_CODE", {
+ value: "E180",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+
+//# sourceMappingURL=pipe-readable.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/post-process.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/post-process.js
new file mode 100644
index 0000000000000000000000000000000000000000..e260e685dbc0dfcc1dfa188df36ebd840656a104
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/post-process.js
@@ -0,0 +1,50 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "postProcessHTML", {
+ enumerable: true,
+ get: function() {
+ return postProcessHTML;
+ }
+});
+const _nonnullable = require("../lib/non-nullable");
+async function postProcessHTML(pathname, content, renderOpts, { inAmpMode, hybridAmp }) {
+ const postProcessors = [
+ process.env.NEXT_RUNTIME !== 'edge' && inAmpMode && !process.env.TURBOPACK ? async (html)=>{
+ const optimizeAmp = require('./optimize-amp').default;
+ html = await optimizeAmp(html, renderOpts.ampOptimizerConfig);
+ if (!renderOpts.ampSkipValidation && renderOpts.ampValidator) {
+ await renderOpts.ampValidator(html, pathname);
+ }
+ return html;
+ } : null,
+ process.env.NEXT_RUNTIME !== 'edge' && renderOpts.optimizeCss ? async (html)=>{
+ // eslint-disable-next-line import/no-extraneous-dependencies
+ const Critters = require('critters');
+ // @ts-expect-error -- interopRequireDefault
+ const cssOptimizer = new Critters({
+ ssrMode: true,
+ reduceInlineStyles: false,
+ path: renderOpts.distDir,
+ publicPath: `${renderOpts.assetPrefix}/_next/`,
+ preload: 'media',
+ fonts: false,
+ logLevel: process.env.CRITTERS_LOG_LEVEL || (process.env.NODE_ENV === 'production' ? 'warn' : 'info'),
+ ...renderOpts.optimizeCss
+ });
+ return await cssOptimizer.process(html);
+ } : null,
+ inAmpMode || hybridAmp ? (html)=>{
+ return html.replace(/&=1/g, '&=1');
+ } : null
+ ].filter(_nonnullable.nonNullable);
+ for (const postProcessor of postProcessors){
+ if (postProcessor) {
+ content = await postProcessor(content);
+ }
+ }
+ return content;
+}
+
+//# sourceMappingURL=post-process.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render-result.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render-result.js
new file mode 100644
index 0000000000000000000000000000000000000000..32724c13c7e59710fc279732e8e8e09aac94c4fc
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render-result.js
@@ -0,0 +1,194 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return RenderResult;
+ }
+});
+const _nodewebstreamshelper = require("./stream-utils/node-web-streams-helper");
+const _pipereadable = require("./pipe-readable");
+class RenderResult {
+ /**
+ * Creates a new RenderResult instance from a static response.
+ *
+ * @param value the static response value
+ * @returns a new RenderResult instance
+ */ static fromStatic(value) {
+ return new RenderResult(value, {
+ metadata: {}
+ });
+ }
+ constructor(response, { contentType, waitUntil, metadata }){
+ this.response = response;
+ this.contentType = contentType;
+ this.metadata = metadata;
+ this.waitUntil = waitUntil;
+ }
+ assignMetadata(metadata) {
+ Object.assign(this.metadata, metadata);
+ }
+ /**
+ * Returns true if the response is null. It can be null if the response was
+ * not found or was already sent.
+ */ get isNull() {
+ return this.response === null;
+ }
+ /**
+ * Returns false if the response is a string. It can be a string if the page
+ * was prerendered. If it's not, then it was generated dynamically.
+ */ get isDynamic() {
+ return typeof this.response !== 'string';
+ }
+ toUnchunkedBuffer(stream = false) {
+ if (this.response === null) {
+ throw Object.defineProperty(new Error('Invariant: null responses cannot be unchunked'), "__NEXT_ERROR_CODE", {
+ value: "E274",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof this.response !== 'string') {
+ if (!stream) {
+ throw Object.defineProperty(new Error('Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
+ value: "E81",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return (0, _nodewebstreamshelper.streamToBuffer)(this.readable);
+ }
+ return Buffer.from(this.response);
+ }
+ toUnchunkedString(stream = false) {
+ if (this.response === null) {
+ throw Object.defineProperty(new Error('Invariant: null responses cannot be unchunked'), "__NEXT_ERROR_CODE", {
+ value: "E274",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof this.response !== 'string') {
+ if (!stream) {
+ throw Object.defineProperty(new Error('Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
+ value: "E81",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return (0, _nodewebstreamshelper.streamToString)(this.readable);
+ }
+ return this.response;
+ }
+ /**
+ * Returns the response if it is a stream, or throws an error if it is a
+ * string.
+ */ get readable() {
+ if (this.response === null) {
+ throw Object.defineProperty(new Error('Invariant: null responses cannot be streamed'), "__NEXT_ERROR_CODE", {
+ value: "E14",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof this.response === 'string') {
+ throw Object.defineProperty(new Error('Invariant: static responses cannot be streamed'), "__NEXT_ERROR_CODE", {
+ value: "E151",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (Buffer.isBuffer(this.response)) {
+ return (0, _nodewebstreamshelper.streamFromBuffer)(this.response);
+ }
+ // If the response is an array of streams, then chain them together.
+ if (Array.isArray(this.response)) {
+ return (0, _nodewebstreamshelper.chainStreams)(...this.response);
+ }
+ return this.response;
+ }
+ /**
+ * Chains a new stream to the response. This will convert the response to an
+ * array of streams if it is not already one and will add the new stream to
+ * the end. When this response is piped, all of the streams will be piped
+ * one after the other.
+ *
+ * @param readable The new stream to chain
+ */ chain(readable) {
+ if (this.response === null) {
+ throw Object.defineProperty(new Error('Invariant: response is null. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
+ value: "E258",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // If the response is not an array of streams already, make it one.
+ let responses;
+ if (typeof this.response === 'string') {
+ responses = [
+ (0, _nodewebstreamshelper.streamFromString)(this.response)
+ ];
+ } else if (Array.isArray(this.response)) {
+ responses = this.response;
+ } else if (Buffer.isBuffer(this.response)) {
+ responses = [
+ (0, _nodewebstreamshelper.streamFromBuffer)(this.response)
+ ];
+ } else {
+ responses = [
+ this.response
+ ];
+ }
+ // Add the new stream to the array.
+ responses.push(readable);
+ // Update the response.
+ this.response = responses;
+ }
+ /**
+ * Pipes the response to a writable stream. This will close/cancel the
+ * writable stream if an error is encountered. If this doesn't throw, then
+ * the writable stream will be closed or aborted.
+ *
+ * @param writable Writable stream to pipe the response to
+ */ async pipeTo(writable) {
+ try {
+ await this.readable.pipeTo(writable, {
+ // We want to close the writable stream ourselves so that we can wait
+ // for the waitUntil promise to resolve before closing it. If an error
+ // is encountered, we'll abort the writable stream if we swallowed the
+ // error.
+ preventClose: true
+ });
+ // If there is a waitUntil promise, wait for it to resolve before
+ // closing the writable stream.
+ if (this.waitUntil) await this.waitUntil;
+ // Close the writable stream.
+ await writable.close();
+ } catch (err) {
+ // If this is an abort error, we should abort the writable stream (as we
+ // took ownership of it when we started piping). We don't need to re-throw
+ // because we handled the error.
+ if ((0, _pipereadable.isAbortError)(err)) {
+ // Abort the writable stream if an error is encountered.
+ await writable.abort(err);
+ return;
+ }
+ // We're not aborting the writer here as when this method throws it's not
+ // clear as to how so the caller should assume it's their responsibility
+ // to clean up the writer.
+ throw err;
+ }
+ }
+ /**
+ * Pipes the response to a node response. This will close/cancel the node
+ * response if an error is encountered.
+ *
+ * @param res
+ */ async pipeToNodeResponse(res) {
+ await (0, _pipereadable.pipeToNodeResponse)(this.readable, res, this.waitUntil);
+ }
+}
+
+//# sourceMappingURL=render-result.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render.js
new file mode 100644
index 0000000000000000000000000000000000000000..4a82853256a40813dacf8406d546acd189fe5109
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/render.js
@@ -0,0 +1,1167 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ errorToJSON: null,
+ renderToHTML: null,
+ renderToHTMLImpl: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ errorToJSON: function() {
+ return errorToJSON;
+ },
+ renderToHTML: function() {
+ return renderToHTML;
+ },
+ renderToHTMLImpl: function() {
+ return renderToHTMLImpl;
+ }
+});
+const _jsxruntime = require("react/jsx-runtime");
+const _apiutils = require("./api-utils");
+const _getcookieparser = require("./api-utils/get-cookie-parser");
+const _react = /*#__PURE__*/ _interop_require_default(require("react"));
+const _ReactDOMServerPages = /*#__PURE__*/ _interop_require_default(require("next/dist/server/ReactDOMServerPages"));
+const _styledjsx = require("styled-jsx");
+const _constants = require("../lib/constants");
+const _constants1 = require("../shared/lib/constants");
+const _isserializableprops = require("../lib/is-serializable-props");
+const _ampmode = require("../shared/lib/amp-mode");
+const _ampcontextsharedruntime = require("../shared/lib/amp-context.shared-runtime");
+const _head = require("../shared/lib/head");
+const _headmanagercontextsharedruntime = require("../shared/lib/head-manager-context.shared-runtime");
+const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default(require("../shared/lib/loadable.shared-runtime"));
+const _loadablecontextsharedruntime = require("../shared/lib/loadable-context.shared-runtime");
+const _routercontextsharedruntime = require("../shared/lib/router-context.shared-runtime");
+const _isdynamic = require("../shared/lib/router/utils/is-dynamic");
+const _utils = require("../shared/lib/utils");
+const _htmlcontextsharedruntime = require("../shared/lib/html-context.shared-runtime");
+const _normalizepagepath = require("../shared/lib/page-path/normalize-page-path");
+const _denormalizepagepath = require("../shared/lib/page-path/denormalize-page-path");
+const _requestmeta = require("./request-meta");
+const _redirectstatus = require("../lib/redirect-status");
+const _renderresult = /*#__PURE__*/ _interop_require_default(require("./render-result"));
+const _iserror = /*#__PURE__*/ _interop_require_default(require("../lib/is-error"));
+const _nodewebstreamshelper = require("./stream-utils/node-web-streams-helper");
+const _imageconfigcontextsharedruntime = require("../shared/lib/image-config-context.shared-runtime");
+const _stripansi = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/strip-ansi"));
+const _internalutils = require("./internal-utils");
+const _adapters = require("../shared/lib/router/adapters");
+const _approutercontextsharedruntime = require("../shared/lib/app-router-context.shared-runtime");
+const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-context.shared-runtime");
+const _tracer = require("./lib/trace/tracer");
+const _constants2 = require("./lib/trace/constants");
+const _reflect = require("./web/spec-extension/adapters/reflect");
+const _cachecontrol = require("./lib/cache-control");
+const _errorsource = require("../shared/lib/error-source");
+const _getscriptnoncefromheader = require("./app-render/get-script-nonce-from-header");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+let tryGetPreviewData;
+let warn;
+let postProcessHTML;
+const DOCTYPE = '';
+if (process.env.NEXT_RUNTIME !== 'edge') {
+ tryGetPreviewData = require('./api-utils/node/try-get-preview-data').tryGetPreviewData;
+ warn = require('../build/output/log').warn;
+ postProcessHTML = require('./post-process').postProcessHTML;
+} else {
+ warn = console.warn.bind(console);
+ postProcessHTML = async (_pathname, html)=>html;
+}
+function noRouter() {
+ const message = 'No router instance found. you should only use "next/router" inside the client side of your app. https://nextjs.org/docs/messages/no-router-instance';
+ throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+}
+async function renderToString(element) {
+ const renderStream = await _ReactDOMServerPages.default.renderToReadableStream(element);
+ await renderStream.allReady;
+ return (0, _nodewebstreamshelper.streamToString)(renderStream);
+}
+class ServerRouter {
+ constructor(pathname, query, as, { isFallback }, isReady, basePath, locale, locales, defaultLocale, domainLocales, isPreview, isLocaleDomain){
+ this.route = pathname.replace(/\/$/, '') || '/';
+ this.pathname = pathname;
+ this.query = query;
+ this.asPath = as;
+ this.isFallback = isFallback;
+ this.basePath = basePath;
+ this.locale = locale;
+ this.locales = locales;
+ this.defaultLocale = defaultLocale;
+ this.isReady = isReady;
+ this.domainLocales = domainLocales;
+ this.isPreview = !!isPreview;
+ this.isLocaleDomain = !!isLocaleDomain;
+ }
+ push() {
+ noRouter();
+ }
+ replace() {
+ noRouter();
+ }
+ reload() {
+ noRouter();
+ }
+ back() {
+ noRouter();
+ }
+ forward() {
+ noRouter();
+ }
+ prefetch() {
+ noRouter();
+ }
+ beforePopState() {
+ noRouter();
+ }
+}
+function enhanceComponents(options, App, Component) {
+ // For backwards compatibility
+ if (typeof options === 'function') {
+ return {
+ App,
+ Component: options(Component)
+ };
+ }
+ return {
+ App: options.enhanceApp ? options.enhanceApp(App) : App,
+ Component: options.enhanceComponent ? options.enhanceComponent(Component) : Component
+ };
+}
+function renderPageTree(App, Component, props) {
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
+ Component: Component,
+ ...props
+ });
+}
+const invalidKeysMsg = (methodName, invalidKeys)=>{
+ const docsPathname = `invalid-${methodName.toLocaleLowerCase()}-value`;
+ return `Additional keys were returned from \`${methodName}\`. Properties intended for your component must be nested under the \`props\` key, e.g.:` + `\n\n\treturn { props: { title: 'My Title', content: '...' } }` + `\n\nKeys that need to be moved: ${invalidKeys.join(', ')}.` + `\nRead more: https://nextjs.org/docs/messages/${docsPathname}`;
+};
+function checkRedirectValues(redirect, req, method) {
+ const { destination, permanent, statusCode, basePath } = redirect;
+ let errors = [];
+ const hasStatusCode = typeof statusCode !== 'undefined';
+ const hasPermanent = typeof permanent !== 'undefined';
+ if (hasPermanent && hasStatusCode) {
+ errors.push(`\`permanent\` and \`statusCode\` can not both be provided`);
+ } else if (hasPermanent && typeof permanent !== 'boolean') {
+ errors.push(`\`permanent\` must be \`true\` or \`false\``);
+ } else if (hasStatusCode && !_redirectstatus.allowedStatusCodes.has(statusCode)) {
+ errors.push(`\`statusCode\` must undefined or one of ${[
+ ..._redirectstatus.allowedStatusCodes
+ ].join(', ')}`);
+ }
+ const destinationType = typeof destination;
+ if (destinationType !== 'string') {
+ errors.push(`\`destination\` should be string but received ${destinationType}`);
+ }
+ const basePathType = typeof basePath;
+ if (basePathType !== 'undefined' && basePathType !== 'boolean') {
+ errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`);
+ }
+ if (errors.length > 0) {
+ throw Object.defineProperty(new Error(`Invalid redirect object returned from ${method} for ${req.url}\n` + errors.join(' and ') + '\n' + `See more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp`), "__NEXT_ERROR_CODE", {
+ value: "E185",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+function errorToJSON(err) {
+ let source = 'server';
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ source = (0, _errorsource.getErrorSource)(err) || 'server';
+ }
+ return {
+ name: err.name,
+ source,
+ message: (0, _stripansi.default)(err.message),
+ stack: err.stack,
+ digest: err.digest
+ };
+}
+function serializeError(dev, err) {
+ if (dev) {
+ return errorToJSON(err);
+ }
+ return {
+ name: 'Internal Server Error.',
+ message: '500 - Internal Server Error.',
+ statusCode: 500
+ };
+}
+async function renderToHTMLImpl(req, res, pathname, query, renderOpts, extra, sharedContext, renderContext) {
+ // Adds support for reading `cookies` in `getServerSideProps` when SSR.
+ (0, _apiutils.setLazyProp)({
+ req: req
+ }, 'cookies', (0, _getcookieparser.getCookieParser)(req.headers));
+ const metadata = {};
+ metadata.assetQueryString = renderOpts.dev && renderOpts.assetQueryString || '';
+ if (renderOpts.dev && !metadata.assetQueryString) {
+ const userAgent = (req.headers['user-agent'] || '').toLowerCase();
+ if (userAgent.includes('safari') && !userAgent.includes('chrome')) {
+ // In dev we invalidate the cache by appending a timestamp to the resource URL.
+ // This is a workaround to fix https://github.com/vercel/next.js/issues/5860
+ // TODO: remove this workaround when https://bugs.webkit.org/show_bug.cgi?id=187726 is fixed.
+ // Note: The workaround breaks breakpoints on reload since the script url always changes,
+ // so we only apply it to Safari.
+ metadata.assetQueryString = `?ts=${Date.now()}`;
+ }
+ }
+ // if deploymentId is provided we append it to all asset requests
+ if (sharedContext.deploymentId) {
+ metadata.assetQueryString += `${metadata.assetQueryString ? '&' : '?'}dpl=${sharedContext.deploymentId}`;
+ }
+ // don't modify original query object
+ query = Object.assign({}, query);
+ const { err, dev = false, ampPath = '', pageConfig = {}, buildManifest, reactLoadableManifest, ErrorDebug, getStaticProps, getStaticPaths, getServerSideProps, isNextDataRequest, params, previewProps, basePath, images, runtime: globalRuntime, isExperimentalCompile, expireTime } = renderOpts;
+ const { App } = extra;
+ const assetQueryString = metadata.assetQueryString;
+ let Document = extra.Document;
+ let Component = renderOpts.Component;
+ const OriginComponent = Component;
+ const isFallback = renderContext.isFallback ?? false;
+ const notFoundSrcPage = renderContext.developmentNotFoundSourcePage;
+ // next internal queries should be stripped out
+ (0, _internalutils.stripInternalQueries)(query);
+ const isSSG = !!getStaticProps;
+ const isBuildTimeSSG = isSSG && renderOpts.nextExport;
+ const defaultAppGetInitialProps = App.getInitialProps === App.origGetInitialProps;
+ const hasPageGetInitialProps = !!(Component == null ? void 0 : Component.getInitialProps);
+ const hasPageScripts = Component == null ? void 0 : Component.unstable_scriptLoader;
+ const pageIsDynamic = (0, _isdynamic.isDynamicRoute)(pathname);
+ const defaultErrorGetInitialProps = pathname === '/_error' && Component.getInitialProps === Component.origGetInitialProps;
+ if (renderOpts.nextExport && hasPageGetInitialProps && !defaultErrorGetInitialProps) {
+ warn(`Detected getInitialProps on page '${pathname}'` + ` while running export. It's recommended to use getStaticProps` + ` which has a more correct behavior for static exporting.` + `\nRead more: https://nextjs.org/docs/messages/get-initial-props-export`);
+ }
+ let isAutoExport = !hasPageGetInitialProps && defaultAppGetInitialProps && !isSSG && !getServerSideProps;
+ // if we are running from experimental compile and the page
+ // would normally be automatically statically optimized
+ // ensure we set cache header so it's not rendered on-demand
+ // every request
+ if (isAutoExport && !dev && isExperimentalCompile) {
+ res.setHeader('Cache-Control', (0, _cachecontrol.getCacheControlHeader)({
+ revalidate: false,
+ expire: expireTime
+ }));
+ isAutoExport = false;
+ }
+ if (hasPageGetInitialProps && isSSG) {
+ throw Object.defineProperty(new Error(_constants.SSG_GET_INITIAL_PROPS_CONFLICT + ` ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E262",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (hasPageGetInitialProps && getServerSideProps) {
+ throw Object.defineProperty(new Error(_constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT + ` ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E262",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (getServerSideProps && isSSG) {
+ throw Object.defineProperty(new Error(_constants.SERVER_PROPS_SSG_CONFLICT + ` ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E262",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (getServerSideProps && renderOpts.nextConfigOutput === 'export') {
+ throw Object.defineProperty(new Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'), "__NEXT_ERROR_CODE", {
+ value: "E369",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (getStaticPaths && !pageIsDynamic) {
+ throw Object.defineProperty(new Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.` + `\nRead more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`), "__NEXT_ERROR_CODE", {
+ value: "E187",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!!getStaticPaths && !isSSG) {
+ throw Object.defineProperty(new Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`), "__NEXT_ERROR_CODE", {
+ value: "E447",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (isSSG && pageIsDynamic && !getStaticPaths) {
+ throw Object.defineProperty(new Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.` + `\nRead more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`), "__NEXT_ERROR_CODE", {
+ value: "E255",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let asPath = renderOpts.resolvedAsPath || req.url;
+ if (dev) {
+ const { isValidElementType } = require('next/dist/compiled/react-is');
+ if (!isValidElementType(Component)) {
+ throw Object.defineProperty(new Error(`The default export is not a React Component in page: "${pathname}"`), "__NEXT_ERROR_CODE", {
+ value: "E286",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!isValidElementType(App)) {
+ throw Object.defineProperty(new Error(`The default export is not a React Component in page: "/_app"`), "__NEXT_ERROR_CODE", {
+ value: "E464",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (!isValidElementType(Document)) {
+ throw Object.defineProperty(new Error(`The default export is not a React Component in page: "/_document"`), "__NEXT_ERROR_CODE", {
+ value: "E511",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (isAutoExport || isFallback) {
+ // remove query values except ones that will be set during export
+ query = {
+ ...query.amp ? {
+ amp: query.amp
+ } : {}
+ };
+ asPath = `${pathname}${// ensure trailing slash is present for non-dynamic auto-export pages
+ req.url.endsWith('/') && pathname !== '/' && !pageIsDynamic ? '/' : ''}`;
+ req.url = pathname;
+ }
+ if (pathname === '/404' && (hasPageGetInitialProps || getServerSideProps)) {
+ throw Object.defineProperty(new Error(`\`pages/404\` ${_constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`), "__NEXT_ERROR_CODE", {
+ value: "E134",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (_constants1.STATIC_STATUS_PAGES.includes(pathname) && (hasPageGetInitialProps || getServerSideProps)) {
+ throw Object.defineProperty(new Error(`\`pages${pathname}\` ${_constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`), "__NEXT_ERROR_CODE", {
+ value: "E125",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (renderOpts == null ? void 0 : renderOpts.setIsrStatus) {
+ renderOpts.setIsrStatus(asPath, isSSG || isAutoExport ? true : null);
+ }
+ }
+ for (const methodName of [
+ 'getStaticProps',
+ 'getServerSideProps',
+ 'getStaticPaths'
+ ]){
+ if (Component == null ? void 0 : Component[methodName]) {
+ throw Object.defineProperty(new Error(`page ${pathname} ${methodName} ${_constants.GSSP_COMPONENT_MEMBER_ERROR}`), "__NEXT_ERROR_CODE", {
+ value: "E417",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ await _loadablesharedruntime.default.preloadAll() // Make sure all dynamic imports are loaded
+ ;
+ let isPreview = undefined;
+ let previewData;
+ if ((isSSG || getServerSideProps) && !isFallback && process.env.NEXT_RUNTIME !== 'edge' && previewProps) {
+ // Reads of this are cached on the `req` object, so this should resolve
+ // instantly. There's no need to pass this data down from a previous
+ // invoke.
+ previewData = tryGetPreviewData(req, res, previewProps, !!renderOpts.multiZoneDraftMode);
+ isPreview = previewData !== false;
+ }
+ // url will always be set
+ const routerIsReady = !!(getServerSideProps || hasPageGetInitialProps || !defaultAppGetInitialProps && !isSSG || isExperimentalCompile);
+ const router = new ServerRouter(pathname, query, asPath, {
+ isFallback: isFallback
+ }, routerIsReady, basePath, renderOpts.locale, renderOpts.locales, renderOpts.defaultLocale, renderOpts.domainLocales, isPreview, (0, _requestmeta.getRequestMeta)(req, 'isLocaleDomain'));
+ const appRouter = (0, _adapters.adaptForAppRouterInstance)(router);
+ let scriptLoader = {};
+ const jsxStyleRegistry = (0, _styledjsx.createStyleRegistry)();
+ const ampState = {
+ ampFirst: pageConfig.amp === true,
+ hasQuery: Boolean(query.amp),
+ hybrid: pageConfig.amp === 'hybrid'
+ };
+ // Disable AMP under the web environment
+ const inAmpMode = process.env.NEXT_RUNTIME !== 'edge' && (0, _ampmode.isInAmpMode)(ampState);
+ let head = (0, _head.defaultHead)(inAmpMode);
+ const reactLoadableModules = [];
+ let initialScripts = {};
+ if (hasPageScripts) {
+ initialScripts.beforeInteractive = [].concat(hasPageScripts()).filter((script)=>script.props.strategy === 'beforeInteractive').map((script)=>script.props);
+ }
+ const csp = req.headers['content-security-policy'] || req.headers['content-security-policy-report-only'];
+ const nonce = typeof csp === 'string' ? (0, _getscriptnoncefromheader.getScriptNonceFromHeader)(csp) : undefined;
+ const AppContainer = ({ children })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {
+ value: appRouter,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {
+ value: (0, _adapters.adaptForSearchParams)(router),
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_adapters.PathnameContextProviderAdapter, {
+ router: router,
+ isAutoExport: isAutoExport,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {
+ value: (0, _adapters.adaptForPathParams)(router),
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_routercontextsharedruntime.RouterContext.Provider, {
+ value: router,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ampcontextsharedruntime.AmpStateContext.Provider, {
+ value: ampState,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, {
+ value: {
+ updateHead: (state)=>{
+ head = state;
+ },
+ updateScripts: (scripts)=>{
+ scriptLoader = scripts;
+ },
+ scripts: initialScripts,
+ mountedInstances: new Set(),
+ nonce
+ },
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_loadablecontextsharedruntime.LoadableContext.Provider, {
+ value: (moduleName)=>reactLoadableModules.push(moduleName),
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_styledjsx.StyleRegistry, {
+ registry: jsxStyleRegistry,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_imageconfigcontextsharedruntime.ImageConfigContext.Provider, {
+ value: images,
+ children: children
+ })
+ })
+ })
+ })
+ })
+ })
+ })
+ })
+ })
+ });
+ // The `useId` API uses the path indexes to generate an ID for each node.
+ // To guarantee the match of hydration, we need to ensure that the structure
+ // of wrapper nodes is isomorphic in server and client.
+ // TODO: With `enhanceApp` and `enhanceComponents` options, this approach may
+ // not be useful.
+ // https://github.com/facebook/react/pull/22644
+ const Noop = ()=>null;
+ const AppContainerWithIsomorphicFiberStructure = ({ children })=>{
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
+ children: [
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Noop, {}),
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(AppContainer, {
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
+ children: [
+ children,
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Noop, {})
+ ]
+ })
+ })
+ ]
+ });
+ };
+ const ctx = {
+ err,
+ req: isAutoExport ? undefined : req,
+ res: isAutoExport ? undefined : res,
+ pathname,
+ query,
+ asPath,
+ locale: renderOpts.locale,
+ locales: renderOpts.locales,
+ defaultLocale: renderOpts.defaultLocale,
+ AppTree: (props)=>{
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(AppContainerWithIsomorphicFiberStructure, {
+ children: renderPageTree(App, OriginComponent, {
+ ...props,
+ router
+ })
+ });
+ },
+ defaultGetInitialProps: async (docCtx, options = {})=>{
+ const enhanceApp = (AppComp)=>{
+ return (props)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(AppComp, {
+ ...props
+ });
+ };
+ const { html, head: renderPageHead } = await docCtx.renderPage({
+ enhanceApp
+ });
+ const styles = jsxStyleRegistry.styles({
+ nonce: options.nonce || nonce
+ });
+ jsxStyleRegistry.flush();
+ return {
+ html,
+ head: renderPageHead,
+ styles
+ };
+ }
+ };
+ let props;
+ const nextExport = !isSSG && (renderOpts.nextExport || dev && (isAutoExport || isFallback));
+ const styledJsxInsertedHTML = ()=>{
+ const styles = jsxStyleRegistry.styles();
+ jsxStyleRegistry.flush();
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
+ children: styles
+ });
+ };
+ props = await (0, _utils.loadGetInitialProps)(App, {
+ AppTree: ctx.AppTree,
+ Component,
+ router,
+ ctx
+ });
+ if ((isSSG || getServerSideProps) && isPreview) {
+ props.__N_PREVIEW = true;
+ }
+ if (isSSG) {
+ props[_constants1.STATIC_PROPS_ID] = true;
+ }
+ if (isSSG && !isFallback) {
+ let data;
+ try {
+ data = await (0, _tracer.getTracer)().trace(_constants2.RenderSpan.getStaticProps, {
+ spanName: `getStaticProps ${pathname}`,
+ attributes: {
+ 'next.route': pathname
+ }
+ }, ()=>getStaticProps({
+ ...pageIsDynamic ? {
+ params
+ } : undefined,
+ ...isPreview ? {
+ draftMode: true,
+ preview: true,
+ previewData: previewData
+ } : undefined,
+ locales: [
+ ...renderOpts.locales ?? []
+ ],
+ locale: renderOpts.locale,
+ defaultLocale: renderOpts.defaultLocale,
+ revalidateReason: renderOpts.isOnDemandRevalidate ? 'on-demand' : isBuildTimeSSG ? 'build' : 'stale'
+ }));
+ } catch (staticPropsError) {
+ // remove not found error code to prevent triggering legacy
+ // 404 rendering
+ if (staticPropsError && staticPropsError.code === 'ENOENT') {
+ delete staticPropsError.code;
+ }
+ throw staticPropsError;
+ }
+ if (data == null) {
+ throw Object.defineProperty(new Error(_constants.GSP_NO_RETURNED_VALUE), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const invalidKeys = Object.keys(data).filter((key)=>key !== 'revalidate' && key !== 'props' && key !== 'redirect' && key !== 'notFound');
+ if (invalidKeys.includes('unstable_revalidate')) {
+ throw Object.defineProperty(new Error(_constants.UNSTABLE_REVALIDATE_RENAME_ERROR), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (invalidKeys.length) {
+ throw Object.defineProperty(new Error(invalidKeysMsg('getStaticProps', invalidKeys)), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (process.env.NODE_ENV !== 'production') {
+ if (typeof data.notFound !== 'undefined' && typeof data.redirect !== 'undefined') {
+ throw Object.defineProperty(new Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG ? 'getStaticProps' : 'getServerSideProps'} at the same time. Page: ${pathname}\nSee more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`), "__NEXT_ERROR_CODE", {
+ value: "E454",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ if ('notFound' in data && data.notFound) {
+ if (pathname === '/404') {
+ throw Object.defineProperty(new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`), "__NEXT_ERROR_CODE", {
+ value: "E121",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ metadata.isNotFound = true;
+ }
+ if ('redirect' in data && data.redirect && typeof data.redirect === 'object') {
+ checkRedirectValues(data.redirect, req, 'getStaticProps');
+ if (isBuildTimeSSG) {
+ throw Object.defineProperty(new Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})\n` + `See more info here: https://nextjs.org/docs/messages/gsp-redirect-during-prerender`), "__NEXT_ERROR_CODE", {
+ value: "E497",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ ;
+ data.props = {
+ __N_REDIRECT: data.redirect.destination,
+ __N_REDIRECT_STATUS: (0, _redirectstatus.getRedirectStatus)(data.redirect)
+ };
+ if (typeof data.redirect.basePath !== 'undefined') {
+ ;
+ data.props.__N_REDIRECT_BASE_PATH = data.redirect.basePath;
+ }
+ metadata.isRedirect = true;
+ }
+ if ((dev || isBuildTimeSSG) && !metadata.isNotFound && !(0, _isserializableprops.isSerializableProps)(pathname, 'getStaticProps', data.props)) {
+ // this fn should throw an error instead of ever returning `false`
+ throw Object.defineProperty(new Error('invariant: getStaticProps did not return valid props. Please report this.'), "__NEXT_ERROR_CODE", {
+ value: "E129",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ let revalidate;
+ if ('revalidate' in data) {
+ if (data.revalidate && renderOpts.nextConfigOutput === 'export') {
+ throw Object.defineProperty(new Error('ISR cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'), "__NEXT_ERROR_CODE", {
+ value: "E201",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (typeof data.revalidate === 'number') {
+ if (!Number.isInteger(data.revalidate)) {
+ throw Object.defineProperty(new Error(`A page's revalidate option must be seconds expressed as a natural number for ${req.url}. Mixed numbers, such as '${data.revalidate}', cannot be used.` + `\nTry changing the value to '${Math.ceil(data.revalidate)}' or using \`Math.ceil()\` if you're computing the value.`), "__NEXT_ERROR_CODE", {
+ value: "E438",
+ enumerable: false,
+ configurable: true
+ });
+ } else if (data.revalidate <= 0) {
+ throw Object.defineProperty(new Error(`A page's revalidate option can not be less than or equal to zero for ${req.url}. A revalidate option of zero means to revalidate after _every_ request, and implies stale data cannot be tolerated.` + `\n\nTo never revalidate, you can set revalidate to \`false\` (only ran once at build-time).` + `\nTo revalidate as soon as possible, you can set the value to \`1\`.`), "__NEXT_ERROR_CODE", {
+ value: "E311",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ if (data.revalidate > 31536000) {
+ // if it's greater than a year for some reason error
+ console.warn(`Warning: A page's revalidate option was set to more than a year for ${req.url}. This may have been done in error.` + `\nTo only run getStaticProps at build-time and not revalidate at runtime, you can set \`revalidate\` to \`false\`!`);
+ }
+ revalidate = data.revalidate;
+ }
+ } else if (data.revalidate === true) {
+ // When enabled, revalidate after 1 second. This value is optimal for
+ // the most up-to-date page possible, but without a 1-to-1
+ // request-refresh ratio.
+ revalidate = 1;
+ } else if (data.revalidate === false || typeof data.revalidate === 'undefined') {
+ // By default, we never revalidate.
+ revalidate = false;
+ } else {
+ throw Object.defineProperty(new Error(`A page's revalidate option must be seconds expressed as a natural number. Mixed numbers and strings cannot be used. Received '${JSON.stringify(data.revalidate)}' for ${req.url}`), "__NEXT_ERROR_CODE", {
+ value: "E161",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ } else {
+ // By default, we never revalidate.
+ revalidate = false;
+ }
+ props.pageProps = Object.assign({}, props.pageProps, 'props' in data ? data.props : undefined);
+ // pass up cache control and props for export
+ metadata.cacheControl = {
+ revalidate,
+ expire: undefined
+ };
+ metadata.pageData = props;
+ // this must come after revalidate is added to renderResultMeta
+ if (metadata.isNotFound) {
+ return new _renderresult.default(null, {
+ metadata
+ });
+ }
+ }
+ if (getServerSideProps) {
+ props[_constants1.SERVER_PROPS_ID] = true;
+ }
+ if (getServerSideProps && !isFallback) {
+ let data;
+ let canAccessRes = true;
+ let resOrProxy = res;
+ let deferredContent = false;
+ if (process.env.NODE_ENV !== 'production') {
+ resOrProxy = new Proxy(res, {
+ get: function(obj, prop) {
+ if (!canAccessRes) {
+ const message = `You should not access 'res' after getServerSideProps resolves.` + `\nRead more: https://nextjs.org/docs/messages/gssp-no-mutating-res`;
+ if (deferredContent) {
+ throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ warn(message);
+ }
+ }
+ if (typeof prop === 'symbol') {
+ return _reflect.ReflectAdapter.get(obj, prop, res);
+ }
+ return _reflect.ReflectAdapter.get(obj, prop, res);
+ }
+ });
+ }
+ try {
+ data = await (0, _tracer.getTracer)().trace(_constants2.RenderSpan.getServerSideProps, {
+ spanName: `getServerSideProps ${pathname}`,
+ attributes: {
+ 'next.route': pathname
+ }
+ }, async ()=>getServerSideProps({
+ req: req,
+ res: resOrProxy,
+ query,
+ resolvedUrl: renderOpts.resolvedUrl,
+ ...pageIsDynamic ? {
+ params
+ } : undefined,
+ ...previewData !== false ? {
+ draftMode: true,
+ preview: true,
+ previewData: previewData
+ } : undefined,
+ // We create a copy here to avoid having the types of
+ // `getServerSideProps` change. This ensures that users can't
+ // mutate this array and have it poison the reference.
+ locales: [
+ ...renderOpts.locales ?? []
+ ],
+ locale: renderOpts.locale,
+ defaultLocale: renderOpts.defaultLocale
+ }));
+ canAccessRes = false;
+ metadata.cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } catch (serverSidePropsError) {
+ // remove not found error code to prevent triggering legacy
+ // 404 rendering
+ if ((0, _iserror.default)(serverSidePropsError) && serverSidePropsError.code === 'ENOENT') {
+ delete serverSidePropsError.code;
+ }
+ throw serverSidePropsError;
+ }
+ if (data == null) {
+ throw Object.defineProperty(new Error(_constants.GSSP_NO_RETURNED_VALUE), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (data.props instanceof Promise) {
+ deferredContent = true;
+ }
+ const invalidKeys = Object.keys(data).filter((key)=>key !== 'props' && key !== 'redirect' && key !== 'notFound');
+ if (data.unstable_notFound) {
+ throw Object.defineProperty(new Error(`unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E516",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (data.unstable_redirect) {
+ throw Object.defineProperty(new Error(`unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname}`), "__NEXT_ERROR_CODE", {
+ value: "E284",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if (invalidKeys.length) {
+ throw Object.defineProperty(new Error(invalidKeysMsg('getServerSideProps', invalidKeys)), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if ('notFound' in data && data.notFound) {
+ if (pathname === '/404') {
+ throw Object.defineProperty(new Error(`The /404 page can not return notFound in "getStaticProps", please remove it to continue!`), "__NEXT_ERROR_CODE", {
+ value: "E121",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ metadata.isNotFound = true;
+ return new _renderresult.default(null, {
+ metadata
+ });
+ }
+ if ('redirect' in data && typeof data.redirect === 'object') {
+ checkRedirectValues(data.redirect, req, 'getServerSideProps');
+ data.props = {
+ __N_REDIRECT: data.redirect.destination,
+ __N_REDIRECT_STATUS: (0, _redirectstatus.getRedirectStatus)(data.redirect)
+ };
+ if (typeof data.redirect.basePath !== 'undefined') {
+ ;
+ data.props.__N_REDIRECT_BASE_PATH = data.redirect.basePath;
+ }
+ metadata.isRedirect = true;
+ }
+ if (deferredContent) {
+ ;
+ data.props = await data.props;
+ }
+ if ((dev || isBuildTimeSSG) && !(0, _isserializableprops.isSerializableProps)(pathname, 'getServerSideProps', data.props)) {
+ // this fn should throw an error instead of ever returning `false`
+ throw Object.defineProperty(new Error('invariant: getServerSideProps did not return valid props. Please report this.'), "__NEXT_ERROR_CODE", {
+ value: "E31",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ props.pageProps = Object.assign({}, props.pageProps, data.props);
+ metadata.pageData = props;
+ }
+ if (!isSSG && // we only show this warning for legacy pages
+ !getServerSideProps && process.env.NODE_ENV !== 'production' && Object.keys((props == null ? void 0 : props.pageProps) || {}).includes('url')) {
+ console.warn(`The prop \`url\` is a reserved prop in Next.js for legacy reasons and will be overridden on page ${pathname}\n` + `See more info here: https://nextjs.org/docs/messages/reserved-page-prop`);
+ }
+ // Avoid rendering page un-necessarily for getServerSideProps data request
+ // and getServerSideProps/getStaticProps redirects
+ if (isNextDataRequest && !isSSG || metadata.isRedirect) {
+ return new _renderresult.default(JSON.stringify(props), {
+ metadata
+ });
+ }
+ // We don't call getStaticProps or getServerSideProps while generating
+ // the fallback so make sure to set pageProps to an empty object
+ if (isFallback) {
+ props.pageProps = {};
+ }
+ // the response might be finished on the getInitialProps call
+ if ((0, _utils.isResSent)(res) && !isSSG) return new _renderresult.default(null, {
+ metadata
+ });
+ // we preload the buildManifest for auto-export dynamic pages
+ // to speed up hydrating query values
+ let filteredBuildManifest = buildManifest;
+ if (isAutoExport && pageIsDynamic) {
+ const page = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(pathname));
+ // This code would be much cleaner using `immer` and directly pushing into
+ // the result from `getPageFiles`, we could maybe consider that in the
+ // future.
+ if (page in filteredBuildManifest.pages) {
+ filteredBuildManifest = {
+ ...filteredBuildManifest,
+ pages: {
+ ...filteredBuildManifest.pages,
+ [page]: [
+ ...filteredBuildManifest.pages[page],
+ ...filteredBuildManifest.lowPriorityFiles.filter((f)=>f.includes('_buildManifest'))
+ ]
+ },
+ lowPriorityFiles: filteredBuildManifest.lowPriorityFiles.filter((f)=>!f.includes('_buildManifest'))
+ };
+ }
+ }
+ const Body = ({ children })=>{
+ return inAmpMode ? children : /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
+ id: "__next",
+ children: children
+ });
+ };
+ const renderDocument = async ()=>{
+ // For `Document`, there are two cases that we don't support:
+ // 1. Using `Document.getInitialProps` in the Edge runtime.
+ // 2. Using the class component `Document` with concurrent features.
+ const BuiltinFunctionalDocument = Document[_constants1.NEXT_BUILTIN_DOCUMENT];
+ if (process.env.NEXT_RUNTIME === 'edge' && Document.getInitialProps) {
+ // In the Edge runtime, `Document.getInitialProps` isn't supported.
+ // We throw an error here if it's customized.
+ if (BuiltinFunctionalDocument) {
+ Document = BuiltinFunctionalDocument;
+ } else {
+ throw Object.defineProperty(new Error('`getInitialProps` in Document component is not supported with the Edge Runtime.'), "__NEXT_ERROR_CODE", {
+ value: "E386",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ async function loadDocumentInitialProps(renderShell) {
+ const renderPage = async (options = {})=>{
+ if (ctx.err && ErrorDebug) {
+ // Always start rendering the shell even if there's an error.
+ if (renderShell) {
+ renderShell(App, Component);
+ }
+ const html = await renderToString(/*#__PURE__*/ (0, _jsxruntime.jsx)(Body, {
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorDebug, {})
+ }));
+ return {
+ html,
+ head
+ };
+ }
+ if (dev && (props.router || props.Component)) {
+ throw Object.defineProperty(new Error(`'router' and 'Component' can not be returned in getInitialProps from _app.js https://nextjs.org/docs/messages/cant-override-next-props`), "__NEXT_ERROR_CODE", {
+ value: "E230",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { App: EnhancedApp, Component: EnhancedComponent } = enhanceComponents(options, App, Component);
+ const stream = await renderShell(EnhancedApp, EnhancedComponent);
+ await stream.allReady;
+ const html = await (0, _nodewebstreamshelper.streamToString)(stream);
+ return {
+ html,
+ head
+ };
+ };
+ const documentCtx = {
+ ...ctx,
+ renderPage
+ };
+ const docProps = await (0, _utils.loadGetInitialProps)(Document, documentCtx);
+ // the response might be finished on the getInitialProps call
+ if ((0, _utils.isResSent)(res) && !isSSG) return null;
+ if (!docProps || typeof docProps.html !== 'string') {
+ const message = `"${(0, _utils.getDisplayName)(Document)}.getInitialProps()" should resolve to an object with a "html" prop set with a valid html string`;
+ throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return {
+ docProps,
+ documentCtx
+ };
+ }
+ const renderContent = (_App, _Component)=>{
+ const EnhancedApp = _App || App;
+ const EnhancedComponent = _Component || Component;
+ return ctx.err && ErrorDebug ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Body, {
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorDebug, {})
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(Body, {
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(AppContainerWithIsomorphicFiberStructure, {
+ children: renderPageTree(EnhancedApp, EnhancedComponent, {
+ ...props,
+ router
+ })
+ })
+ });
+ };
+ // Always using react concurrent rendering mode with required react version 18.x
+ const renderShell = async (EnhancedApp, EnhancedComponent)=>{
+ const content = renderContent(EnhancedApp, EnhancedComponent);
+ return await (0, _nodewebstreamshelper.renderToInitialFizzStream)({
+ ReactDOMServer: _ReactDOMServerPages.default,
+ element: content
+ });
+ };
+ const hasDocumentGetInitialProps = process.env.NEXT_RUNTIME !== 'edge' && !!Document.getInitialProps;
+ // If it has getInitialProps, we will render the shell in `renderPage`.
+ // Otherwise we do it right now.
+ let documentInitialPropsRes;
+ const [rawStyledJsxInsertedHTML, content] = await Promise.all([
+ renderToString(styledJsxInsertedHTML()),
+ (async ()=>{
+ if (hasDocumentGetInitialProps) {
+ documentInitialPropsRes = await loadDocumentInitialProps(renderShell);
+ if (documentInitialPropsRes === null) return null;
+ const { docProps } = documentInitialPropsRes;
+ return docProps.html;
+ } else {
+ documentInitialPropsRes = {};
+ const stream = await renderShell(App, Component);
+ await stream.allReady;
+ return (0, _nodewebstreamshelper.streamToString)(stream);
+ }
+ })()
+ ]);
+ if (content === null) {
+ return null;
+ }
+ const contentHTML = rawStyledJsxInsertedHTML + content;
+ // @ts-ignore: documentInitialPropsRes is set
+ const { docProps } = documentInitialPropsRes || {};
+ const documentElement = (htmlProps)=>{
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ return Document();
+ } else {
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(Document, {
+ ...htmlProps,
+ ...docProps
+ });
+ }
+ };
+ let styles;
+ if (hasDocumentGetInitialProps) {
+ styles = docProps.styles;
+ head = docProps.head;
+ } else {
+ styles = jsxStyleRegistry.styles();
+ jsxStyleRegistry.flush();
+ }
+ return {
+ contentHTML,
+ documentElement,
+ head,
+ headTags: [],
+ styles
+ };
+ };
+ (0, _tracer.getTracer)().setRootSpanAttribute('next.route', renderOpts.page);
+ const documentResult = await (0, _tracer.getTracer)().trace(_constants2.RenderSpan.renderDocument, {
+ spanName: `render route (pages) ${renderOpts.page}`,
+ attributes: {
+ 'next.route': renderOpts.page
+ }
+ }, async ()=>renderDocument());
+ if (!documentResult) {
+ return new _renderresult.default(null, {
+ metadata
+ });
+ }
+ const dynamicImportsIds = new Set();
+ const dynamicImports = new Set();
+ for (const mod of reactLoadableModules){
+ const manifestItem = reactLoadableManifest[mod];
+ if (manifestItem) {
+ dynamicImportsIds.add(manifestItem.id);
+ manifestItem.files.forEach((item)=>{
+ dynamicImports.add(item);
+ });
+ }
+ }
+ const hybridAmp = ampState.hybrid;
+ const docComponentsRendered = {};
+ const { assetPrefix, defaultLocale, disableOptimizedLoading, domainLocales, locale, locales, runtimeConfig } = renderOpts;
+ const htmlProps = {
+ __NEXT_DATA__: {
+ props,
+ page: pathname,
+ query,
+ buildId: sharedContext.buildId,
+ assetPrefix: assetPrefix === '' ? undefined : assetPrefix,
+ runtimeConfig,
+ nextExport: nextExport === true ? true : undefined,
+ autoExport: isAutoExport === true ? true : undefined,
+ isFallback,
+ isExperimentalCompile,
+ dynamicIds: dynamicImportsIds.size === 0 ? undefined : Array.from(dynamicImportsIds),
+ err: renderOpts.err ? serializeError(dev, renderOpts.err) : undefined,
+ gsp: !!getStaticProps ? true : undefined,
+ gssp: !!getServerSideProps ? true : undefined,
+ customServer: sharedContext.customServer,
+ gip: hasPageGetInitialProps ? true : undefined,
+ appGip: !defaultAppGetInitialProps ? true : undefined,
+ locale,
+ locales,
+ defaultLocale,
+ domainLocales,
+ isPreview: isPreview === true ? true : undefined,
+ notFoundSrcPage: notFoundSrcPage && dev ? notFoundSrcPage : undefined
+ },
+ nonce,
+ strictNextHead: renderOpts.strictNextHead,
+ buildManifest: filteredBuildManifest,
+ docComponentsRendered,
+ dangerousAsPath: router.asPath,
+ canonicalBase: !renderOpts.ampPath && (0, _requestmeta.getRequestMeta)(req, 'didStripLocale') ? `${renderOpts.canonicalBase || ''}/${renderOpts.locale}` : renderOpts.canonicalBase,
+ ampPath,
+ inAmpMode,
+ isDevelopment: !!dev,
+ hybridAmp,
+ dynamicImports: Array.from(dynamicImports),
+ dynamicCssManifest: new Set(renderOpts.dynamicCssManifest || []),
+ assetPrefix,
+ // Only enabled in production as development mode has features relying on HMR (style injection for example)
+ unstable_runtimeJS: process.env.NODE_ENV === 'production' ? pageConfig.unstable_runtimeJS : undefined,
+ unstable_JsPreload: pageConfig.unstable_JsPreload,
+ assetQueryString,
+ scriptLoader,
+ locale,
+ disableOptimizedLoading,
+ head: documentResult.head,
+ headTags: documentResult.headTags,
+ styles: documentResult.styles,
+ crossOrigin: renderOpts.crossOrigin,
+ optimizeCss: renderOpts.optimizeCss,
+ nextConfigOutput: renderOpts.nextConfigOutput,
+ nextScriptWorkers: renderOpts.nextScriptWorkers,
+ runtime: globalRuntime,
+ largePageDataBytes: renderOpts.largePageDataBytes,
+ nextFontManifest: renderOpts.nextFontManifest,
+ experimentalClientTraceMetadata: renderOpts.experimental.clientTraceMetadata
+ };
+ const document = /*#__PURE__*/ (0, _jsxruntime.jsx)(_ampcontextsharedruntime.AmpStateContext.Provider, {
+ value: ampState,
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_htmlcontextsharedruntime.HtmlContext.Provider, {
+ value: htmlProps,
+ children: documentResult.documentElement(htmlProps)
+ })
+ });
+ const documentHTML = await (0, _tracer.getTracer)().trace(_constants2.RenderSpan.renderToString, async ()=>renderToString(document));
+ if (process.env.NODE_ENV !== 'production') {
+ const nonRenderedComponents = [];
+ const expectedDocComponents = [
+ 'Main',
+ 'Head',
+ 'NextScript',
+ 'Html'
+ ];
+ for (const comp of expectedDocComponents){
+ if (!docComponentsRendered[comp]) {
+ nonRenderedComponents.push(comp);
+ }
+ }
+ if (nonRenderedComponents.length) {
+ const missingComponentList = nonRenderedComponents.map((e)=>`<${e} />`).join(', ');
+ const plural = nonRenderedComponents.length !== 1 ? 's' : '';
+ console.warn(`Your custom Document (pages/_document) did not render all the required subcomponent${plural}.\n` + `Missing component${plural}: ${missingComponentList}\n` + 'Read how to fix here: https://nextjs.org/docs/messages/missing-document-component');
+ }
+ }
+ const [renderTargetPrefix, renderTargetSuffix] = documentHTML.split('', 2);
+ let prefix = '';
+ if (!documentHTML.startsWith(DOCTYPE)) {
+ prefix += DOCTYPE;
+ }
+ prefix += renderTargetPrefix;
+ if (inAmpMode) {
+ prefix += '';
+ }
+ const content = prefix + documentResult.contentHTML + renderTargetSuffix;
+ const optimizedHtml = await postProcessHTML(pathname, content, renderOpts, {
+ inAmpMode,
+ hybridAmp
+ });
+ return new _renderresult.default(optimizedHtml, {
+ metadata
+ });
+}
+const renderToHTML = (req, res, pathname, query, renderOpts, sharedContext, renderContext)=>{
+ return renderToHTMLImpl(req, res, pathname, query, renderOpts, renderOpts, sharedContext, renderContext);
+};
+
+//# sourceMappingURL=render.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request-meta.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request-meta.js
new file mode 100644
index 0000000000000000000000000000000000000000..49cb80c5158d860f8e815293791096d0c1839818
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request-meta.js
@@ -0,0 +1,55 @@
+/* eslint-disable no-redeclare */ "use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ NEXT_REQUEST_META: null,
+ addRequestMeta: null,
+ getRequestMeta: null,
+ removeRequestMeta: null,
+ setRequestMeta: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ NEXT_REQUEST_META: function() {
+ return NEXT_REQUEST_META;
+ },
+ addRequestMeta: function() {
+ return addRequestMeta;
+ },
+ getRequestMeta: function() {
+ return getRequestMeta;
+ },
+ removeRequestMeta: function() {
+ return removeRequestMeta;
+ },
+ setRequestMeta: function() {
+ return setRequestMeta;
+ }
+});
+const NEXT_REQUEST_META = Symbol.for('NextInternalRequestMeta');
+function getRequestMeta(req, key) {
+ const meta = req[NEXT_REQUEST_META] || {};
+ return typeof key === 'string' ? meta[key] : meta;
+}
+function setRequestMeta(req, meta) {
+ req[NEXT_REQUEST_META] = meta;
+ return meta;
+}
+function addRequestMeta(request, key, value) {
+ const meta = getRequestMeta(request);
+ meta[key] = value;
+ return setRequestMeta(request, meta);
+}
+function removeRequestMeta(request, key) {
+ const meta = getRequestMeta(request);
+ delete meta[key];
+ return setRequestMeta(request, meta);
+}
+
+//# sourceMappingURL=request-meta.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request/fallback-params.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request/fallback-params.js
new file mode 100644
index 0000000000000000000000000000000000000000..9c6b48135a69674c1fccf54c64b47446153740a9
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/request/fallback-params.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "getFallbackRouteParams", {
+ enumerable: true,
+ get: function() {
+ return getFallbackRouteParams;
+ }
+});
+const _routematcher = require("../../shared/lib/router/utils/route-matcher");
+const _routeregex = require("../../shared/lib/router/utils/route-regex");
+function getParamKeys(page) {
+ const pattern = (0, _routeregex.getRouteRegex)(page);
+ const matcher = (0, _routematcher.getRouteMatcher)(pattern);
+ // Get the default list of allowed params.
+ return Object.keys(matcher(page));
+}
+function getFallbackRouteParams(pageOrKeys) {
+ let keys;
+ if (typeof pageOrKeys === 'string') {
+ keys = getParamKeys(pageOrKeys);
+ } else {
+ keys = pageOrKeys;
+ }
+ // If there are no keys, we can return early.
+ if (keys.length === 0) return null;
+ const params = new Map();
+ // As we're creating unique keys for each of the dynamic route params, we only
+ // need to generate a unique ID once per request because each of the keys will
+ // be also be unique.
+ const uniqueID = Math.random().toString(16).slice(2);
+ for (const key of keys){
+ params.set(key, `%%drp:${key}:${uniqueID}%%`);
+ }
+ return params;
+}
+
+//# sourceMappingURL=fallback-params.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require-hook.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require-hook.js
new file mode 100644
index 0000000000000000000000000000000000000000..3abd0d9c2687dd5b530632b0eb790c2c4df7276f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require-hook.js
@@ -0,0 +1,71 @@
+// Synchronously inject a require hook for webpack and webpack/. It's required to use the internal ncc webpack version.
+// This is needed for userland plugins to attach to the same webpack instance as Next.js'.
+// Individually compiled modules are as defined for the compilation in bundles/webpack/packages/*.
+// This module will only be loaded once per process.
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ addHookAliases: null,
+ defaultOverrides: null,
+ hookPropertyMap: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ addHookAliases: function() {
+ return addHookAliases;
+ },
+ defaultOverrides: function() {
+ return defaultOverrides;
+ },
+ hookPropertyMap: function() {
+ return hookPropertyMap;
+ }
+});
+const path = require('path');
+const mod = require('module');
+const originalRequire = mod.prototype.require;
+const resolveFilename = // @ts-expect-error
+mod._resolveFilename;
+let resolve = process.env.NEXT_MINIMAL ? __non_webpack_require__.resolve : require.resolve;
+const hookPropertyMap = new Map();
+const defaultOverrides = {
+ 'styled-jsx': path.dirname(resolve('styled-jsx/package.json')),
+ 'styled-jsx/style': resolve('styled-jsx/style'),
+ 'styled-jsx/style.js': resolve('styled-jsx/style')
+};
+const toResolveMap = (map)=>Object.entries(map).map(([key, value])=>[
+ key,
+ resolve(value)
+ ]);
+function addHookAliases(aliases = []) {
+ for (const [key, value] of aliases){
+ hookPropertyMap.set(key, value);
+ }
+}
+addHookAliases(toResolveMap(defaultOverrides));
+// @ts-expect-error
+mod._resolveFilename = (function(originalResolveFilename, requestMap, request, parent, isMain, options) {
+ const hookResolved = requestMap.get(request);
+ if (hookResolved) request = hookResolved;
+ return originalResolveFilename.call(mod, request, parent, isMain, options);
+// We use `bind` here to avoid referencing outside variables to create potential memory leaks.
+}).bind(null, resolveFilename, hookPropertyMap);
+// @ts-expect-error
+// This is a hack to make sure that if a user requires a Next.js module that wasn't bundled
+// that needs to point to the rendering runtime version, it will point to the correct one.
+// This can happen on `pages` when a user requires a dependency that uses next/image for example.
+mod.prototype.require = function(request) {
+ if (request.endsWith('.shared-runtime')) {
+ return originalRequire.call(this, `next/dist/server/route-modules/pages/vendored/contexts/${path.basename(request, '.shared-runtime')}`);
+ }
+ return originalRequire.call(this, request);
+};
+
+//# sourceMappingURL=require-hook.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require.js
new file mode 100644
index 0000000000000000000000000000000000000000..16e4c30e8106aa30eb42bcb51ec3f54ea78a5510
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/require.js
@@ -0,0 +1,103 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getMaybePagePath: null,
+ getPagePath: null,
+ requirePage: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getMaybePagePath: function() {
+ return getMaybePagePath;
+ },
+ getPagePath: function() {
+ return getPagePath;
+ },
+ requirePage: function() {
+ return requirePage;
+ }
+});
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _constants = require("../shared/lib/constants");
+const _normalizelocalepath = require("../shared/lib/i18n/normalize-locale-path");
+const _normalizepagepath = require("../shared/lib/page-path/normalize-page-path");
+const _denormalizepagepath = require("../shared/lib/page-path/denormalize-page-path");
+const _utils = require("../shared/lib/utils");
+const _lrucache = require("../server/lib/lru-cache");
+const _loadmanifestexternal = require("./load-manifest.external");
+const _fs = require("fs");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const isDev = process.env.NODE_ENV === 'development';
+const pagePathCache = !isDev ? new _lrucache.LRUCache(1000) : null;
+function getMaybePagePath(page, distDir, locales, isAppPath) {
+ const cacheKey = `${page}:${distDir}:${locales}:${isAppPath}`;
+ let pagePath = pagePathCache == null ? void 0 : pagePathCache.get(cacheKey);
+ // If we have a cached path, we can return it directly.
+ if (pagePath) return pagePath;
+ const serverBuildPath = _path.default.join(distDir, _constants.SERVER_DIRECTORY);
+ let appPathsManifest;
+ if (isAppPath) {
+ appPathsManifest = (0, _loadmanifestexternal.loadManifest)(_path.default.join(serverBuildPath, _constants.APP_PATHS_MANIFEST), !isDev);
+ }
+ const pagesManifest = (0, _loadmanifestexternal.loadManifest)(_path.default.join(serverBuildPath, _constants.PAGES_MANIFEST), !isDev);
+ try {
+ page = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(page));
+ } catch (err) {
+ console.error(err);
+ throw new _utils.PageNotFoundError(page);
+ }
+ const checkManifest = (manifest)=>{
+ let curPath = manifest[page];
+ if (!manifest[curPath] && locales) {
+ const manifestNoLocales = {};
+ for (const key of Object.keys(manifest)){
+ manifestNoLocales[(0, _normalizelocalepath.normalizeLocalePath)(key, locales).pathname] = pagesManifest[key];
+ }
+ curPath = manifestNoLocales[page];
+ }
+ return curPath;
+ };
+ if (appPathsManifest) {
+ pagePath = checkManifest(appPathsManifest);
+ }
+ if (!pagePath) {
+ pagePath = checkManifest(pagesManifest);
+ }
+ if (!pagePath) {
+ pagePathCache == null ? void 0 : pagePathCache.set(cacheKey, null);
+ return null;
+ }
+ pagePath = _path.default.join(serverBuildPath, pagePath);
+ pagePathCache == null ? void 0 : pagePathCache.set(cacheKey, pagePath);
+ return pagePath;
+}
+function getPagePath(page, distDir, locales, isAppPath) {
+ const pagePath = getMaybePagePath(page, distDir, locales, isAppPath);
+ if (!pagePath) {
+ throw new _utils.PageNotFoundError(page);
+ }
+ return pagePath;
+}
+async function requirePage(page, distDir, isAppPath) {
+ const pagePath = getPagePath(page, distDir, undefined, isAppPath);
+ if (pagePath.endsWith('.html')) {
+ return _fs.promises.readFile(pagePath, 'utf8').catch((err)=>{
+ throw new _utils.MissingStaticPage(page, err.message);
+ });
+ }
+ const mod = process.env.NEXT_MINIMAL ? __non_webpack_require__(pagePath) : require(pagePath);
+ return mod;
+}
+
+//# sourceMappingURL=require.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/index.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..323a60d8114016de4511fd4bf16f65e726155971
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/index.js
@@ -0,0 +1,163 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return ResponseCache;
+ }
+});
+0 && __export(require("./types"));
+const _batcher = require("../../lib/batcher");
+const _scheduler = require("../../lib/scheduler");
+const _utils = require("./utils");
+_export_star(require("./types"), exports);
+function _export_star(from, to) {
+ Object.keys(from).forEach(function(k) {
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
+ Object.defineProperty(to, k, {
+ enumerable: true,
+ get: function() {
+ return from[k];
+ }
+ });
+ }
+ });
+ return from;
+}
+class ResponseCache {
+ constructor(minimal_mode){
+ this.batcher = _batcher.Batcher.create({
+ // Ensure on-demand revalidate doesn't block normal requests, it should be
+ // safe to run an on-demand revalidate for the same key as a normal request.
+ cacheKeyFn: ({ key, isOnDemandRevalidate })=>`${key}-${isOnDemandRevalidate ? '1' : '0'}`,
+ // We wait to do any async work until after we've added our promise to
+ // `pendingResponses` to ensure that any any other calls will reuse the
+ // same promise until we've fully finished our work.
+ schedulerFn: _scheduler.scheduleOnNextTick
+ });
+ this.minimal_mode = minimal_mode;
+ }
+ async get(key, responseGenerator, context) {
+ // If there is no key for the cache, we can't possibly look this up in the
+ // cache so just return the result of the response generator.
+ if (!key) {
+ return responseGenerator({
+ hasResolved: false,
+ previousCacheEntry: null
+ });
+ }
+ const { incrementalCache, isOnDemandRevalidate = false, isFallback = false, isRoutePPREnabled = false, waitUntil } = context;
+ const response = await this.batcher.batch({
+ key,
+ isOnDemandRevalidate
+ }, (cacheKey, resolve)=>{
+ const prom = (async ()=>{
+ var _this_previousCacheItem;
+ // We keep the previous cache entry around to leverage when the
+ // incremental cache is disabled in minimal mode.
+ if (this.minimal_mode && ((_this_previousCacheItem = this.previousCacheItem) == null ? void 0 : _this_previousCacheItem.key) === cacheKey && this.previousCacheItem.expiresAt > Date.now()) {
+ return this.previousCacheItem.entry;
+ }
+ // Coerce the kindHint into a given kind for the incremental cache.
+ const kind = (0, _utils.routeKindToIncrementalCacheKind)(context.routeKind);
+ let resolved = false;
+ let cachedResponse = null;
+ try {
+ cachedResponse = !this.minimal_mode ? await incrementalCache.get(key, {
+ kind,
+ isRoutePPREnabled: context.isRoutePPREnabled,
+ isFallback
+ }) : null;
+ if (cachedResponse && !isOnDemandRevalidate) {
+ resolve(cachedResponse);
+ resolved = true;
+ if (!cachedResponse.isStale || context.isPrefetch) {
+ // The cached value is still valid, so we don't need
+ // to update it yet.
+ return null;
+ }
+ }
+ const cacheEntry = await responseGenerator({
+ hasResolved: resolved,
+ previousCacheEntry: cachedResponse,
+ isRevalidating: true
+ });
+ // If the cache entry couldn't be generated, we don't want to cache
+ // the result.
+ if (!cacheEntry) {
+ // Unset the previous cache item if it was set.
+ if (this.minimal_mode) this.previousCacheItem = undefined;
+ return null;
+ }
+ const resolveValue = await (0, _utils.fromResponseCacheEntry)({
+ ...cacheEntry,
+ isMiss: !cachedResponse
+ });
+ if (!resolveValue) {
+ // Unset the previous cache item if it was set.
+ if (this.minimal_mode) this.previousCacheItem = undefined;
+ return null;
+ }
+ // For on-demand revalidate wait to resolve until cache is set.
+ // Otherwise resolve now.
+ if (!isOnDemandRevalidate && !resolved) {
+ resolve(resolveValue);
+ resolved = true;
+ }
+ // We want to persist the result only if it has a cache control value
+ // defined.
+ if (resolveValue.cacheControl) {
+ if (this.minimal_mode) {
+ this.previousCacheItem = {
+ key: cacheKey,
+ entry: resolveValue,
+ expiresAt: Date.now() + 1000
+ };
+ } else {
+ await incrementalCache.set(key, resolveValue.value, {
+ cacheControl: resolveValue.cacheControl,
+ isRoutePPREnabled,
+ isFallback
+ });
+ }
+ }
+ return resolveValue;
+ } catch (err) {
+ // When a path is erroring we automatically re-set the existing cache
+ // with new revalidate and expire times to prevent non-stop retrying.
+ if (cachedResponse == null ? void 0 : cachedResponse.cacheControl) {
+ const newRevalidate = Math.min(Math.max(cachedResponse.cacheControl.revalidate || 3, 3), 30);
+ const newExpire = cachedResponse.cacheControl.expire === undefined ? undefined : Math.max(newRevalidate + 3, cachedResponse.cacheControl.expire);
+ await incrementalCache.set(key, cachedResponse.value, {
+ cacheControl: {
+ revalidate: newRevalidate,
+ expire: newExpire
+ },
+ isRoutePPREnabled,
+ isFallback
+ });
+ }
+ // While revalidating in the background we can't reject as we already
+ // resolved the cache entry so log the error here.
+ if (resolved) {
+ console.error(err);
+ return null;
+ }
+ // We haven't resolved yet, so let's throw to indicate an error.
+ throw err;
+ }
+ })();
+ // we need to ensure background revalidates are
+ // passed to waitUntil
+ if (waitUntil) {
+ waitUntil(prom);
+ }
+ return prom;
+ });
+ return (0, _utils.toResponseCacheEntry)(response);
+ }
+}
+
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/types.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/types.js
new file mode 100644
index 0000000000000000000000000000000000000000..774f550323dce7c78ce95c64e4e0cf9103b1b41a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/types.js
@@ -0,0 +1,41 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ CachedRouteKind: null,
+ IncrementalCacheKind: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ CachedRouteKind: function() {
+ return CachedRouteKind;
+ },
+ IncrementalCacheKind: function() {
+ return IncrementalCacheKind;
+ }
+});
+var CachedRouteKind = /*#__PURE__*/ function(CachedRouteKind) {
+ CachedRouteKind["APP_PAGE"] = "APP_PAGE";
+ CachedRouteKind["APP_ROUTE"] = "APP_ROUTE";
+ CachedRouteKind["PAGES"] = "PAGES";
+ CachedRouteKind["FETCH"] = "FETCH";
+ CachedRouteKind["REDIRECT"] = "REDIRECT";
+ CachedRouteKind["IMAGE"] = "IMAGE";
+ return CachedRouteKind;
+}({});
+var IncrementalCacheKind = /*#__PURE__*/ function(IncrementalCacheKind) {
+ IncrementalCacheKind["APP_PAGE"] = "APP_PAGE";
+ IncrementalCacheKind["APP_ROUTE"] = "APP_ROUTE";
+ IncrementalCacheKind["PAGES"] = "PAGES";
+ IncrementalCacheKind["FETCH"] = "FETCH";
+ IncrementalCacheKind["IMAGE"] = "IMAGE";
+ return IncrementalCacheKind;
+}({});
+
+//# sourceMappingURL=types.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..153e1e59e54ebf8efc7ffd236a989d37778c5046
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/response-cache/utils.js
@@ -0,0 +1,99 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ fromResponseCacheEntry: null,
+ routeKindToIncrementalCacheKind: null,
+ toResponseCacheEntry: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ fromResponseCacheEntry: function() {
+ return fromResponseCacheEntry;
+ },
+ routeKindToIncrementalCacheKind: function() {
+ return routeKindToIncrementalCacheKind;
+ },
+ toResponseCacheEntry: function() {
+ return toResponseCacheEntry;
+ }
+});
+const _types = require("./types");
+const _renderresult = /*#__PURE__*/ _interop_require_default(require("../render-result"));
+const _routekind = require("../route-kind");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+async function fromResponseCacheEntry(cacheEntry) {
+ var _cacheEntry_value, _cacheEntry_value1;
+ return {
+ ...cacheEntry,
+ value: ((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) === _types.CachedRouteKind.PAGES ? {
+ kind: _types.CachedRouteKind.PAGES,
+ html: await cacheEntry.value.html.toUnchunkedString(true),
+ pageData: cacheEntry.value.pageData,
+ headers: cacheEntry.value.headers,
+ status: cacheEntry.value.status
+ } : ((_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind) === _types.CachedRouteKind.APP_PAGE ? {
+ kind: _types.CachedRouteKind.APP_PAGE,
+ html: await cacheEntry.value.html.toUnchunkedString(true),
+ postponed: cacheEntry.value.postponed,
+ rscData: cacheEntry.value.rscData,
+ headers: cacheEntry.value.headers,
+ status: cacheEntry.value.status,
+ segmentData: cacheEntry.value.segmentData
+ } : cacheEntry.value
+ };
+}
+async function toResponseCacheEntry(response) {
+ var _response_value, _response_value1;
+ if (!response) return null;
+ return {
+ isMiss: response.isMiss,
+ isStale: response.isStale,
+ cacheControl: response.cacheControl,
+ value: ((_response_value = response.value) == null ? void 0 : _response_value.kind) === _types.CachedRouteKind.PAGES ? {
+ kind: _types.CachedRouteKind.PAGES,
+ html: _renderresult.default.fromStatic(response.value.html),
+ pageData: response.value.pageData,
+ headers: response.value.headers,
+ status: response.value.status
+ } : ((_response_value1 = response.value) == null ? void 0 : _response_value1.kind) === _types.CachedRouteKind.APP_PAGE ? {
+ kind: _types.CachedRouteKind.APP_PAGE,
+ html: _renderresult.default.fromStatic(response.value.html),
+ rscData: response.value.rscData,
+ headers: response.value.headers,
+ status: response.value.status,
+ postponed: response.value.postponed,
+ segmentData: response.value.segmentData
+ } : response.value
+ };
+}
+function routeKindToIncrementalCacheKind(routeKind) {
+ switch(routeKind){
+ case _routekind.RouteKind.PAGES:
+ return _types.IncrementalCacheKind.PAGES;
+ case _routekind.RouteKind.APP_PAGE:
+ return _types.IncrementalCacheKind.APP_PAGE;
+ case _routekind.RouteKind.IMAGE:
+ return _types.IncrementalCacheKind.IMAGE;
+ case _routekind.RouteKind.APP_ROUTE:
+ return _types.IncrementalCacheKind.APP_ROUTE;
+ default:
+ throw Object.defineProperty(new Error(`Unexpected route kind ${routeKind}`), "__NEXT_ERROR_CODE", {
+ value: "E64",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+
+//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/cache-store.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/cache-store.js
new file mode 100644
index 0000000000000000000000000000000000000000..97164f8c86531099c1050744296be3b097d0e2d8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/cache-store.js
@@ -0,0 +1,78 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ parseUseCacheCacheStore: null,
+ serializeUseCacheCacheStore: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ parseUseCacheCacheStore: function() {
+ return parseUseCacheCacheStore;
+ },
+ serializeUseCacheCacheStore: function() {
+ return serializeUseCacheCacheStore;
+ }
+});
+const _encryptionutils = require("../app-render/encryption-utils");
+function parseUseCacheCacheStore(entries) {
+ const store = new Map();
+ for (const [key, { value, tags, stale, timestamp, expire, revalidate }] of entries){
+ store.set(key, Promise.resolve({
+ // Create a ReadableStream from the Uint8Array
+ value: new ReadableStream({
+ start (controller) {
+ // Enqueue the Uint8Array to the stream
+ controller.enqueue((0, _encryptionutils.stringToUint8Array)(atob(value)));
+ // Close the stream
+ controller.close();
+ }
+ }),
+ tags,
+ stale,
+ timestamp,
+ expire,
+ revalidate
+ }));
+ }
+ return store;
+}
+async function serializeUseCacheCacheStore(entries) {
+ return Promise.all(Array.from(entries).map(([key, value])=>{
+ return value.then(async (entry)=>{
+ const [left, right] = entry.value.tee();
+ entry.value = right;
+ let binaryString = '';
+ // We want to encode the value as a string, but we aren't sure if the
+ // value is a a stream of UTF-8 bytes or not, so let's just encode it
+ // as a string using base64.
+ for await (const chunk of left){
+ binaryString += (0, _encryptionutils.arrayBufferToString)(chunk);
+ }
+ return [
+ key,
+ {
+ // Encode the value as a base64 string.
+ value: btoa(binaryString),
+ tags: entry.tags,
+ stale: entry.stale,
+ timestamp: entry.timestamp,
+ expire: entry.expire,
+ revalidate: entry.revalidate
+ }
+ ];
+ }).catch(()=>{
+ // Any failed cache writes should be ignored as to not discard the
+ // entire cache.
+ return null;
+ });
+ }));
+}
+
+//# sourceMappingURL=cache-store.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js
new file mode 100644
index 0000000000000000000000000000000000000000..889f9aefbbea76537dc265d668964279c293f183
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js
@@ -0,0 +1,96 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ createPrerenderResumeDataCache: null,
+ createRenderResumeDataCache: null,
+ stringifyResumeDataCache: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ createPrerenderResumeDataCache: function() {
+ return createPrerenderResumeDataCache;
+ },
+ createRenderResumeDataCache: function() {
+ return createRenderResumeDataCache;
+ },
+ stringifyResumeDataCache: function() {
+ return stringifyResumeDataCache;
+ }
+});
+const _invarianterror = require("../../shared/lib/invariant-error");
+const _cachestore = require("./cache-store");
+async function stringifyResumeDataCache(resumeDataCache) {
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ throw Object.defineProperty(new _invarianterror.InvariantError('`stringifyResumeDataCache` should not be called in edge runtime.'), "__NEXT_ERROR_CODE", {
+ value: "E602",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ if (resumeDataCache.fetch.size === 0 && resumeDataCache.cache.size === 0) {
+ return 'null';
+ }
+ const json = {
+ store: {
+ fetch: Object.fromEntries(Array.from(resumeDataCache.fetch.entries())),
+ cache: Object.fromEntries((await (0, _cachestore.serializeUseCacheCacheStore)(resumeDataCache.cache.entries())).filter((entry)=>entry !== null)),
+ encryptedBoundArgs: Object.fromEntries(Array.from(resumeDataCache.encryptedBoundArgs.entries()))
+ }
+ };
+ // Compress the JSON string using zlib. As the data we already want to
+ // decompress is in memory, we use the synchronous deflateSync function.
+ const { deflateSync } = require('node:zlib');
+ return deflateSync(JSON.stringify(json)).toString('base64');
+ }
+}
+function createPrerenderResumeDataCache() {
+ return {
+ cache: new Map(),
+ fetch: new Map(),
+ encryptedBoundArgs: new Map(),
+ decryptedBoundArgs: new Map()
+ };
+}
+function createRenderResumeDataCache(resumeDataCacheOrPersistedCache) {
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ throw Object.defineProperty(new _invarianterror.InvariantError('`createRenderResumeDataCache` should not be called in edge runtime.'), "__NEXT_ERROR_CODE", {
+ value: "E556",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ if (typeof resumeDataCacheOrPersistedCache !== 'string') {
+ // If the cache is already a prerender or render cache, we can return it
+ // directly. For the former, we're just performing a type change.
+ return resumeDataCacheOrPersistedCache;
+ }
+ if (resumeDataCacheOrPersistedCache === 'null') {
+ return {
+ cache: new Map(),
+ fetch: new Map(),
+ encryptedBoundArgs: new Map(),
+ decryptedBoundArgs: new Map()
+ };
+ }
+ // This should be a compressed string. Let's decompress it using zlib.
+ // As the data we already want to decompress is in memory, we use the
+ // synchronous inflateSync function.
+ const { inflateSync } = require('node:zlib');
+ const json = JSON.parse(inflateSync(Buffer.from(resumeDataCacheOrPersistedCache, 'base64')).toString('utf-8'));
+ return {
+ cache: (0, _cachestore.parseUseCacheCacheStore)(Object.entries(json.store.cache)),
+ fetch: new Map(Object.entries(json.store.fetch)),
+ encryptedBoundArgs: new Map(Object.entries(json.store.encryptedBoundArgs)),
+ decryptedBoundArgs: new Map()
+ };
+ }
+}
+
+//# sourceMappingURL=resume-data-cache.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/revalidation-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/revalidation-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..c7d273486254473ceb459a8814005fb4e5b1df70
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/revalidation-utils.js
@@ -0,0 +1,88 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ executeRevalidates: null,
+ withExecuteRevalidates: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ executeRevalidates: function() {
+ return executeRevalidates;
+ },
+ withExecuteRevalidates: function() {
+ return withExecuteRevalidates;
+ }
+});
+const _handlers = require("./use-cache/handlers");
+async function withExecuteRevalidates(store, callback) {
+ if (!store) {
+ return callback();
+ }
+ // If we executed any revalidates during the request, then we don't want to execute them again.
+ // save the state so we can check if anything changed after we're done running callbacks.
+ const savedRevalidationState = cloneRevalidationState(store);
+ try {
+ return await callback();
+ } finally{
+ // Check if we have any new revalidates, and if so, wait until they are all resolved.
+ const newRevalidates = diffRevalidationState(savedRevalidationState, cloneRevalidationState(store));
+ await executeRevalidates(store, newRevalidates);
+ }
+}
+function cloneRevalidationState(store) {
+ return {
+ pendingRevalidatedTags: store.pendingRevalidatedTags ? [
+ ...store.pendingRevalidatedTags
+ ] : [],
+ pendingRevalidates: {
+ ...store.pendingRevalidates
+ },
+ pendingRevalidateWrites: store.pendingRevalidateWrites ? [
+ ...store.pendingRevalidateWrites
+ ] : []
+ };
+}
+function diffRevalidationState(prev, curr) {
+ const prevTags = new Set(prev.pendingRevalidatedTags);
+ const prevRevalidateWrites = new Set(prev.pendingRevalidateWrites);
+ return {
+ pendingRevalidatedTags: curr.pendingRevalidatedTags.filter((tag)=>!prevTags.has(tag)),
+ pendingRevalidates: Object.fromEntries(Object.entries(curr.pendingRevalidates).filter(([key])=>!(key in prev.pendingRevalidates))),
+ pendingRevalidateWrites: curr.pendingRevalidateWrites.filter((promise)=>!prevRevalidateWrites.has(promise))
+ };
+}
+async function revalidateTags(tags, incrementalCache) {
+ if (tags.length === 0) {
+ return;
+ }
+ const promises = [];
+ if (incrementalCache) {
+ promises.push(incrementalCache.revalidateTag(tags));
+ }
+ const handlers = (0, _handlers.getCacheHandlers)();
+ if (handlers) {
+ for (const handler of handlers){
+ promises.push(handler.expireTags(...tags));
+ }
+ }
+ await Promise.all(promises);
+}
+async function executeRevalidates(workStore, state) {
+ const pendingRevalidatedTags = (state == null ? void 0 : state.pendingRevalidatedTags) ?? workStore.pendingRevalidatedTags ?? [];
+ const pendingRevalidates = (state == null ? void 0 : state.pendingRevalidates) ?? workStore.pendingRevalidates ?? {};
+ const pendingRevalidateWrites = (state == null ? void 0 : state.pendingRevalidateWrites) ?? workStore.pendingRevalidateWrites ?? [];
+ return Promise.all([
+ revalidateTags(pendingRevalidatedTags, workStore.incrementalCache),
+ ...Object.values(pendingRevalidates),
+ ...pendingRevalidateWrites
+ ]);
+}
+
+//# sourceMappingURL=revalidation-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-definitions/app-page-route-definition.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-definitions/app-page-route-definition.js
new file mode 100644
index 0000000000000000000000000000000000000000..90fee8f0d00032694f947926aa0e013ab9918d83
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-definitions/app-page-route-definition.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "isAppPageRouteDefinition", {
+ enumerable: true,
+ get: function() {
+ return isAppPageRouteDefinition;
+ }
+});
+const _routekind = require("../route-kind");
+function isAppPageRouteDefinition(definition) {
+ return definition.kind === _routekind.RouteKind.APP_PAGE;
+}
+
+//# sourceMappingURL=app-page-route-definition.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-kind.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-kind.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a352c27ba380db216d0a286a5bce684b8875a33
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-kind.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "RouteKind", {
+ enumerable: true,
+ get: function() {
+ return RouteKind;
+ }
+});
+var RouteKind = /*#__PURE__*/ function(RouteKind) {
+ /**
+ * `PAGES` represents all the React pages that are under `pages/`.
+ */ RouteKind["PAGES"] = "PAGES";
+ /**
+ * `PAGES_API` represents all the API routes under `pages/api/`.
+ */ RouteKind["PAGES_API"] = "PAGES_API";
+ /**
+ * `APP_PAGE` represents all the React pages that are under `app/` with the
+ * filename of `page.{j,t}s{,x}`.
+ */ RouteKind["APP_PAGE"] = "APP_PAGE";
+ /**
+ * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the
+ * filename of `route.{j,t}s{,x}`.
+ */ RouteKind["APP_ROUTE"] = "APP_ROUTE";
+ /**
+ * `IMAGE` represents all the images that are generated by `next/image`.
+ */ RouteKind["IMAGE"] = "IMAGE";
+ return RouteKind;
+}({});
+
+//# sourceMappingURL=route-kind.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js
new file mode 100644
index 0000000000000000000000000000000000000000..92b5a2338199ad6b2e445b1d20878247fb2bfa8e
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js
@@ -0,0 +1,239 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DefaultRouteMatcherManager", {
+ enumerable: true,
+ get: function() {
+ return DefaultRouteMatcherManager;
+ }
+});
+const _utils = require("../../shared/lib/router/utils");
+const _localeroutematcher = require("../route-matchers/locale-route-matcher");
+const _ensureleadingslash = require("../../shared/lib/page-path/ensure-leading-slash");
+const _detachedpromise = require("../../lib/detached-promise");
+class DefaultRouteMatcherManager {
+ /**
+ * When this value changes, it indicates that a change has been introduced
+ * that requires recompilation.
+ */ get compilationID() {
+ return this.providers.length;
+ }
+ async waitTillReady() {
+ if (this.waitTillReadyPromise) {
+ await this.waitTillReadyPromise;
+ delete this.waitTillReadyPromise;
+ }
+ }
+ async reload() {
+ const { promise, resolve, reject } = new _detachedpromise.DetachedPromise();
+ this.waitTillReadyPromise = promise;
+ // Grab the compilation ID for this run, we'll verify it at the end to
+ // ensure that if any routes were added before reloading is finished that
+ // we error out.
+ const compilationID = this.compilationID;
+ try {
+ // Collect all the matchers from each provider.
+ const matchers = [];
+ // Get all the providers matchers.
+ const providersMatchers = await Promise.all(this.providers.map((provider)=>provider.matchers()));
+ // Use this to detect duplicate pathnames.
+ const all = new Map();
+ const duplicates = {};
+ for (const providerMatchers of providersMatchers){
+ for (const matcher of providerMatchers){
+ // Reset duplicated matches when reloading from pages conflicting state.
+ if (matcher.duplicated) delete matcher.duplicated;
+ // Test to see if the matcher being added is a duplicate.
+ const duplicate = all.get(matcher.definition.pathname);
+ if (duplicate) {
+ // This looks a little weird, but essentially if the pathname
+ // already exists in the duplicates map, then we got that array
+ // reference. Otherwise, we create a new array with the original
+ // duplicate first. Then we push the new matcher into the duplicate
+ // array, and reset it to the duplicates object (which may be a
+ // no-op if the pathname already existed in the duplicates object).
+ // Then we set the array of duplicates on both the original
+ // duplicate object and the new one, so we can keep them in sync.
+ // If a new duplicate is found, and it matches an existing pathname,
+ // the retrieval of the `other` will actually return the array
+ // reference used by all other duplicates. This is why ReadonlyArray
+ // is so important! Array's are always references!
+ const others = duplicates[matcher.definition.pathname] ?? [
+ duplicate
+ ];
+ others.push(matcher);
+ duplicates[matcher.definition.pathname] = others;
+ // Add duplicated details to each route.
+ duplicate.duplicated = others;
+ matcher.duplicated = others;
+ // TODO: see if we should error for duplicates in production?
+ }
+ matchers.push(matcher);
+ // Add the matcher's pathname to the set.
+ all.set(matcher.definition.pathname, matcher);
+ }
+ }
+ // Update the duplicate matchers. This is used in the development manager
+ // to warn about duplicates.
+ this.matchers.duplicates = duplicates;
+ // If the cache is the same as what we just parsed, we can exit now. We
+ // can tell by using the `===` which compares object identity, which for
+ // the manifest matchers, will return the same matcher each time.
+ if (this.previousMatchers.length === matchers.length && this.previousMatchers.every((cachedMatcher, index)=>cachedMatcher === matchers[index])) {
+ return;
+ }
+ this.previousMatchers = matchers;
+ // For matchers that are for static routes, filter them now.
+ this.matchers.static = matchers.filter((matcher)=>!matcher.isDynamic);
+ // For matchers that are for dynamic routes, filter them and sort them now.
+ const dynamic = matchers.filter((matcher)=>matcher.isDynamic);
+ // As `getSortedRoutes` only takes an array of strings, we need to create
+ // a map of the pathnames (used for sorting) and the matchers. When we
+ // have locales, there may be multiple matches for the same pathname. To
+ // handle this, we keep a map of all the indexes (in `reference`) and
+ // merge them in later.
+ const reference = new Map();
+ const pathnames = new Array();
+ for(let index = 0; index < dynamic.length; index++){
+ // Grab the pathname from the definition.
+ const pathname = dynamic[index].definition.pathname;
+ // Grab the index in the dynamic array, push it into the reference.
+ const indexes = reference.get(pathname) ?? [];
+ indexes.push(index);
+ // If this is the first one set it. If it isn't, we don't need to
+ // because pushing above on the array will mutate the array already
+ // stored there because array's are always a reference!
+ if (indexes.length === 1) reference.set(pathname, indexes);
+ else continue;
+ pathnames.push(pathname);
+ }
+ // Sort the array of pathnames.
+ const sorted = (0, _utils.getSortedRoutes)(pathnames);
+ // For each of the sorted pathnames, iterate over them, grabbing the list
+ // of indexes and merging them back into the new `sortedDynamicMatchers`
+ // array. The order of the same matching pathname doesn't matter because
+ // they will have other matching characteristics (like the locale) that
+ // is considered.
+ const sortedDynamicMatchers = [];
+ for (const pathname of sorted){
+ const indexes = reference.get(pathname);
+ if (!Array.isArray(indexes)) {
+ throw Object.defineProperty(new Error('Invariant: expected to find identity in indexes map'), "__NEXT_ERROR_CODE", {
+ value: "E271",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const dynamicMatches = indexes.map((index)=>dynamic[index]);
+ sortedDynamicMatchers.push(...dynamicMatches);
+ }
+ this.matchers.dynamic = sortedDynamicMatchers;
+ // This means that there was a new matcher pushed while we were waiting
+ if (this.compilationID !== compilationID) {
+ throw Object.defineProperty(new Error('Invariant: expected compilation to finish before new matchers were added, possible missing await'), "__NEXT_ERROR_CODE", {
+ value: "E242",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ } catch (err) {
+ reject(err);
+ } finally{
+ // The compilation ID matched, so mark the complication as finished.
+ this.lastCompilationID = compilationID;
+ resolve();
+ }
+ }
+ push(provider) {
+ this.providers.push(provider);
+ }
+ async test(pathname, options) {
+ // See if there's a match for the pathname...
+ const match = await this.match(pathname, options);
+ // This default implementation only needs to check to see if there _was_ a
+ // match. The development matcher actually changes it's behavior by not
+ // recompiling the routes.
+ return match !== null;
+ }
+ async match(pathname, options) {
+ // "Iterate" over the match options. Once we found a single match, exit with
+ // it, otherwise return null below. If no match is found, the inner block
+ // won't be called.
+ for await (const match of this.matchAll(pathname, options)){
+ return match;
+ }
+ return null;
+ }
+ /**
+ * This is a point for other managers to override to inject other checking
+ * behavior like duplicate route checking on a per-request basis.
+ *
+ * @param pathname the pathname to validate against
+ * @param matcher the matcher to validate/test with
+ * @returns the match if found
+ */ validate(pathname, matcher, options) {
+ var _options_i18n;
+ if (matcher instanceof _localeroutematcher.LocaleRouteMatcher) {
+ return matcher.match(pathname, options);
+ }
+ // If the locale was inferred from the default locale, then it will have
+ // already added a locale to the pathname. We need to remove it before
+ // matching because this matcher is not locale aware.
+ if ((_options_i18n = options.i18n) == null ? void 0 : _options_i18n.inferredFromDefault) {
+ return matcher.match(options.i18n.pathname);
+ }
+ return matcher.match(pathname);
+ }
+ async *matchAll(pathname, options) {
+ // Guard against the matcher manager from being run before it needs to be
+ // recompiled. This was preferred to re-running the compilation here because
+ // it should be re-ran only when it changes. If a match is attempted before
+ // this is done, it indicates that there is a case where a provider is added
+ // before it was recompiled (an error). We also don't want to affect request
+ // times.
+ if (this.lastCompilationID !== this.compilationID) {
+ throw Object.defineProperty(new Error('Invariant: expected routes to have been loaded before match'), "__NEXT_ERROR_CODE", {
+ value: "E235",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // Ensure that path matching is done with a leading slash.
+ pathname = (0, _ensureleadingslash.ensureLeadingSlash)(pathname);
+ // If this pathname doesn't look like a dynamic route, and this pathname is
+ // listed in the normalized list of routes, then return it. This ensures
+ // that when a route like `/user/[id]` is encountered, it doesn't just match
+ // with the list of normalized routes.
+ if (!(0, _utils.isDynamicRoute)(pathname)) {
+ for (const matcher of this.matchers.static){
+ const match = this.validate(pathname, matcher, options);
+ if (!match) continue;
+ yield match;
+ }
+ }
+ // If we should skip handling dynamic routes, exit now.
+ if (options == null ? void 0 : options.skipDynamic) return null;
+ // Loop over the dynamic matchers, yielding each match.
+ for (const matcher of this.matchers.dynamic){
+ const match = this.validate(pathname, matcher, options);
+ if (!match) continue;
+ yield match;
+ }
+ // We tried direct matching against the pathname and against all the dynamic
+ // paths, so there was no match.
+ return null;
+ }
+ constructor(){
+ this.providers = [];
+ this.matchers = {
+ static: [],
+ dynamic: [],
+ duplicates: {}
+ };
+ this.lastCompilationID = this.compilationID;
+ this.previousMatchers = [];
+ }
+}
+
+//# sourceMappingURL=default-route-matcher-manager.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js
new file mode 100644
index 0000000000000000000000000000000000000000..b3f5186642cc38638ea9d9511a1a269010863ea5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js
@@ -0,0 +1,123 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevRouteMatcherManager", {
+ enumerable: true,
+ get: function() {
+ return DevRouteMatcherManager;
+ }
+});
+const _routekind = require("../route-kind");
+const _defaultroutematchermanager = require("./default-route-matcher-manager");
+const _path = /*#__PURE__*/ _interop_require_default(require("../../shared/lib/isomorphic/path"));
+const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
+const _picocolors = require("../../lib/picocolors");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+class DevRouteMatcherManager extends _defaultroutematchermanager.DefaultRouteMatcherManager {
+ constructor(production, ensurer, dir){
+ super(), this.production = production, this.ensurer = ensurer, this.dir = dir;
+ }
+ async test(pathname, options) {
+ // Try to find a match within the developer routes.
+ const match = await super.match(pathname, options);
+ // Return if the match wasn't null. Unlike the implementation of `match`
+ // which uses `matchAll` here, this does not call `ensure` on the match
+ // found via the development matches.
+ return match !== null;
+ }
+ validate(pathname, matcher, options) {
+ const match = super.validate(pathname, matcher, options);
+ // If a match was found, check to see if there were any conflicting app or
+ // pages files.
+ // TODO: maybe expand this to _any_ duplicated routes instead?
+ if (match && matcher.duplicated && matcher.duplicated.some((duplicate)=>duplicate.definition.kind === _routekind.RouteKind.APP_PAGE || duplicate.definition.kind === _routekind.RouteKind.APP_ROUTE) && matcher.duplicated.some((duplicate)=>duplicate.definition.kind === _routekind.RouteKind.PAGES || duplicate.definition.kind === _routekind.RouteKind.PAGES_API)) {
+ return null;
+ }
+ return match;
+ }
+ async *matchAll(pathname, options) {
+ // Compile the development routes.
+ // TODO: we may want to only run this during testing, users won't be fast enough to require this many dir scans
+ await super.reload();
+ // Iterate over the development matches to see if one of them match the
+ // request path.
+ for await (const development of super.matchAll(pathname, options)){
+ // We're here, which means that we haven't seen this match yet, so we
+ // should try to ensure it and recompile the production matcher.
+ await this.ensurer.ensure(development, pathname);
+ await this.production.reload();
+ // Iterate over the production matches again, this time we should be able
+ // to match it against the production matcher unless there's an error.
+ for await (const production of this.production.matchAll(pathname, options)){
+ yield production;
+ }
+ }
+ // We tried direct matching against the pathname and against all the dynamic
+ // paths, so there was no match.
+ return null;
+ }
+ async reload() {
+ // Compile the production routes again.
+ await this.production.reload();
+ // Compile the development routes.
+ await super.reload();
+ // Check for and warn of any duplicates.
+ for (const [pathname, matchers] of Object.entries(this.matchers.duplicates)){
+ // We only want to warn about matchers resolving to the same path if their
+ // identities are different.
+ const identity = matchers[0].identity;
+ if (matchers.slice(1).some((matcher)=>matcher.identity !== identity)) {
+ continue;
+ }
+ _log.warn(`Duplicate page detected. ${matchers.map((matcher)=>(0, _picocolors.cyan)(_path.default.relative(this.dir, matcher.definition.filename))).join(' and ')} resolve to ${(0, _picocolors.cyan)(pathname)}`);
+ }
+ }
+}
+
+//# sourceMappingURL=dev-route-matcher-manager.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..3b8a6ab6e464540793f61dcd728c0aea73842a92
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AppPageRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return AppPageRouteMatcherProvider;
+ }
+});
+const _isapppageroute = require("../../lib/is-app-page-route");
+const _constants = require("../../shared/lib/constants");
+const _app = require("../normalizers/built/app");
+const _routekind = require("../route-kind");
+const _apppageroutematcher = require("../route-matchers/app-page-route-matcher");
+const _manifestroutematcherprovider = require("./manifest-route-matcher-provider");
+class AppPageRouteMatcherProvider extends _manifestroutematcherprovider.ManifestRouteMatcherProvider {
+ constructor(distDir, manifestLoader){
+ super(_constants.APP_PATHS_MANIFEST, manifestLoader);
+ this.normalizers = new _app.AppNormalizers(distDir);
+ }
+ async transform(manifest) {
+ // This matcher only matches app pages.
+ const pages = Object.keys(manifest).filter((page)=>(0, _isapppageroute.isAppPageRoute)(page));
+ // Collect all the app paths for each page. This could include any parallel
+ // routes.
+ const allAppPaths = {};
+ for (const page of pages){
+ const pathname = this.normalizers.pathname.normalize(page);
+ if (pathname in allAppPaths) allAppPaths[pathname].push(page);
+ else allAppPaths[pathname] = [
+ page
+ ];
+ }
+ // Format the routes.
+ const matchers = [];
+ for (const [pathname, appPaths] of Object.entries(allAppPaths)){
+ // TODO-APP: (wyattjoh) this is a hack right now, should be more deterministic
+ const page = appPaths[0];
+ const filename = this.normalizers.filename.normalize(manifest[page]);
+ const bundlePath = this.normalizers.bundlePath.normalize(page);
+ matchers.push(new _apppageroutematcher.AppPageRouteMatcher({
+ kind: _routekind.RouteKind.APP_PAGE,
+ pathname,
+ page,
+ bundlePath,
+ filename,
+ appPaths
+ }));
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=app-page-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..3900ecc4fc543b6df1e5b0a7e3994c93a243c7f2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AppRouteRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return AppRouteRouteMatcherProvider;
+ }
+});
+const _isapprouteroute = require("../../lib/is-app-route-route");
+const _constants = require("../../shared/lib/constants");
+const _routekind = require("../route-kind");
+const _approuteroutematcher = require("../route-matchers/app-route-route-matcher");
+const _manifestroutematcherprovider = require("./manifest-route-matcher-provider");
+const _app = require("../normalizers/built/app");
+class AppRouteRouteMatcherProvider extends _manifestroutematcherprovider.ManifestRouteMatcherProvider {
+ constructor(distDir, manifestLoader){
+ super(_constants.APP_PATHS_MANIFEST, manifestLoader);
+ this.normalizers = new _app.AppNormalizers(distDir);
+ }
+ async transform(manifest) {
+ // This matcher only matches app routes.
+ const pages = Object.keys(manifest).filter((page)=>(0, _isapprouteroute.isAppRouteRoute)(page));
+ // Format the routes.
+ const matchers = [];
+ for (const page of pages){
+ const filename = this.normalizers.filename.normalize(manifest[page]);
+ const pathname = this.normalizers.pathname.normalize(page);
+ const bundlePath = this.normalizers.bundlePath.normalize(page);
+ matchers.push(new _approuteroutematcher.AppRouteRouteMatcher({
+ kind: _routekind.RouteKind.APP_ROUTE,
+ pathname,
+ page,
+ bundlePath,
+ filename
+ }));
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=app-route-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..d431379353efc11f541edbb08f3af591fdaa3126
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js
@@ -0,0 +1,90 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevAppPageRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return DevAppPageRouteMatcherProvider;
+ }
+});
+const _apppageroutematcher = require("../../route-matchers/app-page-route-matcher");
+const _routekind = require("../../route-kind");
+const _filecacheroutematcherprovider = require("./file-cache-route-matcher-provider");
+const _app = require("../../normalizers/built/app");
+const _normalizecatchallroutes = require("../../../build/normalize-catchall-routes");
+class DevAppPageRouteMatcherProvider extends _filecacheroutematcherprovider.FileCacheRouteMatcherProvider {
+ constructor(appDir, extensions, reader, isTurbopack){
+ super(appDir, reader);
+ this.normalizers = new _app.DevAppNormalizers(appDir, extensions, isTurbopack);
+ // Match any page file that ends with `/page.${extension}` or `/default.${extension}` under the app
+ // directory.
+ this.expression = new RegExp(`[/\\\\](page|default)\\.(?:${extensions.join('|')})$`);
+ this.isTurbopack = isTurbopack;
+ }
+ async transform(files) {
+ // Collect all the app paths for each page. This could include any parallel
+ // routes.
+ const cache = new Map();
+ const routeFilenames = new Array();
+ let appPaths = {};
+ for (const filename of files){
+ // If the file isn't a match for this matcher, then skip it.
+ if (!this.expression.test(filename)) continue;
+ let page = this.normalizers.page.normalize(filename);
+ // Validate that this is not an ignored page.
+ if (page.includes('/_')) continue;
+ // Turbopack uses the correct page name with the underscore normalized.
+ // TODO: Move implementation to packages/next/src/server/normalizers/built/app/app-page-normalizer.ts.
+ // The `includes('/_')` check above needs to be moved for that to work as otherwise `%5Fsegmentname`
+ // will result in `_segmentname` which hits that includes check and be skipped.
+ if (this.isTurbopack) {
+ page = page.replace(/%5F/g, '_');
+ }
+ // This is a valid file that we want to create a matcher for.
+ routeFilenames.push(filename);
+ const pathname = this.normalizers.pathname.normalize(filename);
+ const bundlePath = this.normalizers.bundlePath.normalize(filename);
+ // Save the normalization results.
+ cache.set(filename, {
+ page,
+ pathname,
+ bundlePath
+ });
+ if (pathname in appPaths) appPaths[pathname].push(page);
+ else appPaths[pathname] = [
+ page
+ ];
+ }
+ (0, _normalizecatchallroutes.normalizeCatchAllRoutes)(appPaths);
+ // Make sure to sort parallel routes to make the result deterministic.
+ appPaths = Object.fromEntries(Object.entries(appPaths).map(([k, v])=>[
+ k,
+ v.sort()
+ ]));
+ const matchers = [];
+ for (const filename of routeFilenames){
+ // Grab the cached values (and the appPaths).
+ const cached = cache.get(filename);
+ if (!cached) {
+ throw Object.defineProperty(new Error('Invariant: expected filename to exist in cache'), "__NEXT_ERROR_CODE", {
+ value: "E190",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { pathname, page, bundlePath } = cached;
+ matchers.push(new _apppageroutematcher.AppPageRouteMatcher({
+ kind: _routekind.RouteKind.APP_PAGE,
+ pathname,
+ page,
+ bundlePath,
+ filename,
+ appPaths: appPaths[pathname]
+ }));
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=dev-app-page-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..4a5a3c565f2d050ca14ae7524953c01c187e61f8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js
@@ -0,0 +1,108 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevAppRouteRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return DevAppRouteRouteMatcherProvider;
+ }
+});
+const _approuteroutematcher = require("../../route-matchers/app-route-route-matcher");
+const _routekind = require("../../route-kind");
+const _filecacheroutematcherprovider = require("./file-cache-route-matcher-provider");
+const _isapprouteroute = require("../../../lib/is-app-route-route");
+const _app = require("../../normalizers/built/app");
+const _ismetadataroute = require("../../../lib/metadata/is-metadata-route");
+const _getmetadataroute = require("../../../lib/metadata/get-metadata-route");
+const _path = /*#__PURE__*/ _interop_require_default(require("../../../shared/lib/isomorphic/path"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class DevAppRouteRouteMatcherProvider extends _filecacheroutematcherprovider.FileCacheRouteMatcherProvider {
+ constructor(appDir, extensions, reader, isTurbopack){
+ super(appDir, reader);
+ this.appDir = appDir;
+ this.isTurbopack = isTurbopack;
+ this.normalizers = new _app.DevAppNormalizers(appDir, extensions, isTurbopack);
+ }
+ async transform(files) {
+ const matchers = [];
+ for (const filename of files){
+ let page = this.normalizers.page.normalize(filename);
+ // If the file isn't a match for this matcher, then skip it.
+ if (!(0, _isapprouteroute.isAppRouteRoute)(page)) continue;
+ // Validate that this is not an ignored page.
+ if (page.includes('/_')) continue;
+ // Turbopack uses the correct page name with the underscore normalized.
+ // TODO: Move implementation to packages/next/src/server/normalizers/built/app/app-page-normalizer.ts.
+ // The `includes('/_')` check above needs to be moved for that to work as otherwise `%5Fsegmentname`
+ // will result in `_segmentname` which hits that includes check and be skipped.
+ if (this.isTurbopack) {
+ page = page.replace(/%5F/g, '_');
+ }
+ const pathname = this.normalizers.pathname.normalize(filename);
+ const bundlePath = this.normalizers.bundlePath.normalize(filename);
+ const ext = _path.default.extname(filename).slice(1);
+ const isEntryMetadataRouteFile = (0, _ismetadataroute.isMetadataRouteFile)(filename.replace(this.appDir, ''), [
+ ext
+ ], true);
+ if (isEntryMetadataRouteFile && !(0, _ismetadataroute.isStaticMetadataRoute)(page)) {
+ // Matching dynamic metadata routes.
+ // Add 2 possibilities for both single and multiple routes:
+ {
+ // single:
+ // /sitemap.ts -> /sitemap.xml/route
+ // /icon.ts -> /icon/route
+ // We'll map the filename before normalization:
+ // sitemap.ts -> sitemap.xml/route.ts
+ // icon.ts -> icon/route.ts
+ const metadataPage = (0, _getmetadataroute.normalizeMetadataPageToRoute)(page, false);
+ const metadataPathname = (0, _getmetadataroute.normalizeMetadataPageToRoute)(pathname, false);
+ const metadataBundlePath = (0, _getmetadataroute.normalizeMetadataPageToRoute)(bundlePath, false);
+ const matcher = new _approuteroutematcher.AppRouteRouteMatcher({
+ kind: _routekind.RouteKind.APP_ROUTE,
+ page: metadataPage,
+ pathname: metadataPathname,
+ bundlePath: metadataBundlePath,
+ filename
+ });
+ matchers.push(matcher);
+ }
+ {
+ // multiple:
+ // /sitemap.ts -> /sitemap/[__metadata_id__]/route
+ // /icon.ts -> /icon/[__metadata_id__]/route
+ // We'll map the filename before normalization:
+ // sitemap.ts -> sitemap.xml/[__metadata_id__].ts
+ // icon.ts -> icon/[__metadata_id__].ts
+ const metadataPage = (0, _getmetadataroute.normalizeMetadataPageToRoute)(page, true);
+ const metadataPathname = (0, _getmetadataroute.normalizeMetadataPageToRoute)(pathname, true);
+ const metadataBundlePath = (0, _getmetadataroute.normalizeMetadataPageToRoute)(bundlePath, true);
+ const matcher = new _approuteroutematcher.AppRouteRouteMatcher({
+ kind: _routekind.RouteKind.APP_ROUTE,
+ page: metadataPage,
+ pathname: metadataPathname,
+ bundlePath: metadataBundlePath,
+ filename
+ });
+ matchers.push(matcher);
+ }
+ } else {
+ // Normal app routes and static metadata routes.
+ matchers.push(new _approuteroutematcher.AppRouteRouteMatcher({
+ kind: _routekind.RouteKind.APP_ROUTE,
+ page,
+ pathname,
+ bundlePath,
+ filename
+ }));
+ }
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=dev-app-route-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c204a39b0f2421d27b2c39b68d5f781894109cb
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js
@@ -0,0 +1,77 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevPagesAPIRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return DevPagesAPIRouteMatcherProvider;
+ }
+});
+const _pagesapiroutematcher = require("../../route-matchers/pages-api-route-matcher");
+const _routekind = require("../../route-kind");
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _filecacheroutematcherprovider = require("./file-cache-route-matcher-provider");
+const _pages = require("../../normalizers/built/pages");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class DevPagesAPIRouteMatcherProvider extends _filecacheroutematcherprovider.FileCacheRouteMatcherProvider {
+ constructor(pagesDir, extensions, reader, localeNormalizer){
+ super(pagesDir, reader), this.pagesDir = pagesDir, this.extensions = extensions, this.localeNormalizer = localeNormalizer;
+ // Match any route file that ends with `/${filename}.${extension}` under the
+ // pages directory.
+ this.expression = new RegExp(`\\.(?:${extensions.join('|')})$`);
+ this.normalizers = new _pages.DevPagesNormalizers(pagesDir, extensions);
+ }
+ test(filename) {
+ // If the file does not end in the correct extension it's not a match.
+ if (!this.expression.test(filename)) return false;
+ // Pages API routes must exist in the pages directory with the `/api/`
+ // prefix. The pathnames being tested here though are the full filenames,
+ // so we need to include the pages directory.
+ // TODO: could path separator normalization be needed here?
+ if (filename.startsWith(_path.default.join(this.pagesDir, '/api/'))) return true;
+ for (const extension of this.extensions){
+ // We can also match if we have `pages/api.${extension}`, so check to
+ // see if it's a match.
+ if (filename === _path.default.join(this.pagesDir, `api.${extension}`)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ async transform(files) {
+ const matchers = [];
+ for (const filename of files){
+ // If the file isn't a match for this matcher, then skip it.
+ if (!this.test(filename)) continue;
+ const pathname = this.normalizers.pathname.normalize(filename);
+ const page = this.normalizers.page.normalize(filename);
+ const bundlePath = this.normalizers.bundlePath.normalize(filename);
+ if (this.localeNormalizer) {
+ matchers.push(new _pagesapiroutematcher.PagesAPILocaleRouteMatcher({
+ kind: _routekind.RouteKind.PAGES_API,
+ pathname,
+ page,
+ bundlePath,
+ filename,
+ i18n: {}
+ }));
+ } else {
+ matchers.push(new _pagesapiroutematcher.PagesAPIRouteMatcher({
+ kind: _routekind.RouteKind.PAGES_API,
+ pathname,
+ page,
+ bundlePath,
+ filename
+ }));
+ }
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=dev-pages-api-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..54eaf4307c5b656f050f43e9f34b1b00ea4de6ad
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js
@@ -0,0 +1,77 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DevPagesRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return DevPagesRouteMatcherProvider;
+ }
+});
+const _pagesroutematcher = require("../../route-matchers/pages-route-matcher");
+const _routekind = require("../../route-kind");
+const _path = /*#__PURE__*/ _interop_require_default(require("path"));
+const _filecacheroutematcherprovider = require("./file-cache-route-matcher-provider");
+const _pages = require("../../normalizers/built/pages");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class DevPagesRouteMatcherProvider extends _filecacheroutematcherprovider.FileCacheRouteMatcherProvider {
+ constructor(pagesDir, extensions, reader, localeNormalizer){
+ super(pagesDir, reader), this.pagesDir = pagesDir, this.extensions = extensions, this.localeNormalizer = localeNormalizer;
+ // Match any route file that ends with `/${filename}.${extension}` under the
+ // pages directory.
+ this.expression = new RegExp(`\\.(?:${extensions.join('|')})$`);
+ this.normalizers = new _pages.DevPagesNormalizers(pagesDir, extensions);
+ }
+ test(filename) {
+ // If the file does not end in the correct extension it's not a match.
+ if (!this.expression.test(filename)) return false;
+ // Pages routes must exist in the pages directory without the `/api/`
+ // prefix. The pathnames being tested here though are the full filenames,
+ // so we need to include the pages directory.
+ // TODO: could path separator normalization be needed here?
+ if (filename.startsWith(_path.default.join(this.pagesDir, '/api/'))) return false;
+ for (const extension of this.extensions){
+ // We can also match if we have `pages/api.${extension}`, so check to
+ // see if it's a match.
+ if (filename === _path.default.join(this.pagesDir, `api.${extension}`)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ async transform(files) {
+ const matchers = [];
+ for (const filename of files){
+ // If the file isn't a match for this matcher, then skip it.
+ if (!this.test(filename)) continue;
+ const pathname = this.normalizers.pathname.normalize(filename);
+ const page = this.normalizers.page.normalize(filename);
+ const bundlePath = this.normalizers.bundlePath.normalize(filename);
+ if (this.localeNormalizer) {
+ matchers.push(new _pagesroutematcher.PagesLocaleRouteMatcher({
+ kind: _routekind.RouteKind.PAGES,
+ pathname,
+ page,
+ bundlePath,
+ filename,
+ i18n: {}
+ }));
+ } else {
+ matchers.push(new _pagesroutematcher.PagesRouteMatcher({
+ kind: _routekind.RouteKind.PAGES,
+ pathname,
+ page,
+ bundlePath,
+ filename
+ }));
+ }
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=dev-pages-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..d8880a83c3da0e246bb3328ab6e01a2f053e8a86
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "FileCacheRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return FileCacheRouteMatcherProvider;
+ }
+});
+const _cachedroutematcherprovider = require("../helpers/cached-route-matcher-provider");
+class FileCacheRouteMatcherProvider extends _cachedroutematcherprovider.CachedRouteMatcherProvider {
+ constructor(dir, reader){
+ super({
+ load: async ()=>reader.read(dir),
+ compare: (left, right)=>{
+ if (left.length !== right.length) return false;
+ // Assuming the file traversal order is deterministic...
+ for(let i = 0; i < left.length; i++){
+ if (left[i] !== right[i]) return false;
+ }
+ return true;
+ }
+ });
+ }
+}
+
+//# sourceMappingURL=file-cache-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js
new file mode 100644
index 0000000000000000000000000000000000000000..dacb804eced17224d6b831d989e6641ab0d6e005
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js
@@ -0,0 +1,106 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "BatchedFileReader", {
+ enumerable: true,
+ get: function() {
+ return BatchedFileReader;
+ }
+});
+class BatchedFileReader {
+ constructor(reader){
+ this.reader = reader;
+ }
+ schedule(callback) {
+ if (!this.schedulePromise) {
+ this.schedulePromise = Promise.resolve();
+ }
+ this.schedulePromise.then(()=>{
+ process.nextTick(callback);
+ });
+ }
+ getOrCreateBatch() {
+ // If there is an existing batch and it's not completed, then reuse it.
+ if (this.batch && !this.batch.completed) {
+ return this.batch;
+ }
+ const batch = {
+ completed: false,
+ directories: [],
+ callbacks: []
+ };
+ this.batch = batch;
+ this.schedule(async ()=>{
+ batch.completed = true;
+ if (batch.directories.length === 0) return;
+ // Collect all the results for each of the directories. If any error
+ // occurs, send the results back to the loaders.
+ let values;
+ try {
+ values = await this.load(batch.directories);
+ } catch (err) {
+ // Reject all the callbacks.
+ for (const { reject } of batch.callbacks){
+ reject(err);
+ }
+ return;
+ }
+ // Loop over all the callbacks and send them their results.
+ for(let i = 0; i < batch.callbacks.length; i++){
+ const value = values[i];
+ if (value instanceof Error) {
+ batch.callbacks[i].reject(value);
+ } else {
+ batch.callbacks[i].resolve(value);
+ }
+ }
+ });
+ return batch;
+ }
+ async load(directories) {
+ // Make a unique array of directories. This is what lets us de-duplicate
+ // loads for the same directory.
+ const unique = [
+ ...new Set(directories)
+ ];
+ const results = await Promise.all(unique.map(async (directory)=>{
+ let files;
+ let error;
+ try {
+ files = await this.reader.read(directory);
+ } catch (err) {
+ if (err instanceof Error) error = err;
+ }
+ return {
+ directory,
+ files,
+ error
+ };
+ }));
+ return directories.map((directory)=>{
+ const found = results.find((result)=>result.directory === directory);
+ if (!found) return [];
+ if (found.files) return found.files;
+ if (found.error) return found.error;
+ return [];
+ });
+ }
+ async read(dir) {
+ // Get or create a new file reading batch.
+ const batch = this.getOrCreateBatch();
+ // Push this directory into the batch to resolve.
+ batch.directories.push(dir);
+ // Push the promise handles into the batch (under the same index) so it can
+ // be resolved later when it's scheduled.
+ const promise = new Promise((resolve, reject)=>{
+ batch.callbacks.push({
+ resolve,
+ reject
+ });
+ });
+ return promise;
+ }
+}
+
+//# sourceMappingURL=batched-file-reader.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js
new file mode 100644
index 0000000000000000000000000000000000000000..b39d0bf4cc95e68ffb35e18cf0573c902cc9b38c
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "DefaultFileReader", {
+ enumerable: true,
+ get: function() {
+ return DefaultFileReader;
+ }
+});
+const _recursivereaddir = require("../../../../../lib/recursive-readdir");
+class DefaultFileReader {
+ /**
+ * Creates a new file reader.
+ *
+ * @param pathnameFilter filter to ignore files with absolute pathnames, false to ignore
+ * @param ignoreFilter filter to ignore files and directories with absolute pathnames, false to ignore
+ * @param ignorePartFilter filter to ignore files and directories with the pathname part, false to ignore
+ */ constructor(options){
+ this.options = options;
+ }
+ /**
+ * Reads all the files in the directory and its subdirectories following any
+ * symbolic links.
+ *
+ * @param dir the directory to read
+ * @returns a promise that resolves to the list of files
+ */ async read(dir) {
+ return (0, _recursivereaddir.recursiveReadDir)(dir, {
+ pathnameFilter: this.options.pathnameFilter,
+ ignoreFilter: this.options.ignoreFilter,
+ ignorePartFilter: this.options.ignorePartFilter,
+ // We don't need to sort the results because we're not depending on the
+ // order of the results.
+ sortPathnames: false,
+ // We want absolute pathnames because we're going to be comparing them
+ // with other absolute pathnames.
+ relativePathnames: false
+ });
+ }
+}
+
+//# sourceMappingURL=default-file-reader.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..a80517f91640043263bedd1862ccf6e6a8c8edb5
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "CachedRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return CachedRouteMatcherProvider;
+ }
+});
+class CachedRouteMatcherProvider {
+ constructor(loader){
+ this.loader = loader;
+ this.cached = [];
+ }
+ async matchers() {
+ const data = await this.loader.load();
+ if (!data) return [];
+ // Return the cached matchers if the data has not changed.
+ if (this.data && this.loader.compare(this.data, data)) return this.cached;
+ this.data = data;
+ // Transform the manifest into matchers.
+ const matchers = await this.transform(data);
+ // Cache the matchers.
+ this.cached = matchers;
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=cached-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js
new file mode 100644
index 0000000000000000000000000000000000000000..0ad25d0d7a22d7a14ef4313986099409a305090f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js
@@ -0,0 +1,34 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "NodeManifestLoader", {
+ enumerable: true,
+ get: function() {
+ return NodeManifestLoader;
+ }
+});
+const _constants = require("../../../../shared/lib/constants");
+const _path = /*#__PURE__*/ _interop_require_default(require("../../../../shared/lib/isomorphic/path"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+class NodeManifestLoader {
+ constructor(distDir){
+ this.distDir = distDir;
+ }
+ static require(id) {
+ try {
+ return require(id);
+ } catch {
+ return null;
+ }
+ }
+ load(name) {
+ return NodeManifestLoader.require(_path.default.join(this.distDir, _constants.SERVER_DIRECTORY, name));
+ }
+}
+
+//# sourceMappingURL=node-manifest-loader.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js
new file mode 100644
index 0000000000000000000000000000000000000000..b50fd001507697beaf63f4ca4a063955690b0668
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js
@@ -0,0 +1,20 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "ServerManifestLoader", {
+ enumerable: true,
+ get: function() {
+ return ServerManifestLoader;
+ }
+});
+class ServerManifestLoader {
+ constructor(getter){
+ this.getter = getter;
+ }
+ load(name) {
+ return this.getter(name);
+ }
+}
+
+//# sourceMappingURL=server-manifest-loader.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..4c2cbe7b3f0e16d0125e3ce1593e578e62b76894
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js
@@ -0,0 +1,21 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "ManifestRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return ManifestRouteMatcherProvider;
+ }
+});
+const _cachedroutematcherprovider = require("./helpers/cached-route-matcher-provider");
+class ManifestRouteMatcherProvider extends _cachedroutematcherprovider.CachedRouteMatcherProvider {
+ constructor(manifestName, manifestLoader){
+ super({
+ load: async ()=>manifestLoader.load(manifestName),
+ compare: (left, right)=>left === right
+ });
+ }
+}
+
+//# sourceMappingURL=manifest-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..5ed5a8351605079f8542112d4e278133dc43135f
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PagesAPIRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return PagesAPIRouteMatcherProvider;
+ }
+});
+const _isapiroute = require("../../lib/is-api-route");
+const _constants = require("../../shared/lib/constants");
+const _routekind = require("../route-kind");
+const _pagesapiroutematcher = require("../route-matchers/pages-api-route-matcher");
+const _manifestroutematcherprovider = require("./manifest-route-matcher-provider");
+const _pages = require("../normalizers/built/pages");
+class PagesAPIRouteMatcherProvider extends _manifestroutematcherprovider.ManifestRouteMatcherProvider {
+ constructor(distDir, manifestLoader, i18nProvider){
+ super(_constants.PAGES_MANIFEST, manifestLoader), this.i18nProvider = i18nProvider;
+ this.normalizers = new _pages.PagesNormalizers(distDir);
+ }
+ async transform(manifest) {
+ // This matcher is only for Pages API routes.
+ const pathnames = Object.keys(manifest).filter((pathname)=>(0, _isapiroute.isAPIRoute)(pathname));
+ const matchers = [];
+ for (const page of pathnames){
+ if (this.i18nProvider) {
+ // Match the locale on the page name, or default to the default locale.
+ const { detectedLocale, pathname } = this.i18nProvider.analyze(page);
+ matchers.push(new _pagesapiroutematcher.PagesAPILocaleRouteMatcher({
+ kind: _routekind.RouteKind.PAGES_API,
+ pathname,
+ page,
+ bundlePath: this.normalizers.bundlePath.normalize(page),
+ filename: this.normalizers.filename.normalize(manifest[page]),
+ i18n: {
+ locale: detectedLocale
+ }
+ }));
+ } else {
+ matchers.push(new _pagesapiroutematcher.PagesAPIRouteMatcher({
+ kind: _routekind.RouteKind.PAGES_API,
+ // In `pages/`, the page is the same as the pathname.
+ pathname: page,
+ page,
+ bundlePath: this.normalizers.bundlePath.normalize(page),
+ filename: this.normalizers.filename.normalize(manifest[page])
+ }));
+ }
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=pages-api-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js
new file mode 100644
index 0000000000000000000000000000000000000000..11d7ded804afa1ab005cff2a4d3f3fd1feb70826
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js
@@ -0,0 +1,64 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "PagesRouteMatcherProvider", {
+ enumerable: true,
+ get: function() {
+ return PagesRouteMatcherProvider;
+ }
+});
+const _isapiroute = require("../../lib/is-api-route");
+const _constants = require("../../shared/lib/constants");
+const _routekind = require("../route-kind");
+const _pagesroutematcher = require("../route-matchers/pages-route-matcher");
+const _manifestroutematcherprovider = require("./manifest-route-matcher-provider");
+const _pages = require("../normalizers/built/pages");
+class PagesRouteMatcherProvider extends _manifestroutematcherprovider.ManifestRouteMatcherProvider {
+ constructor(distDir, manifestLoader, i18nProvider){
+ super(_constants.PAGES_MANIFEST, manifestLoader), this.i18nProvider = i18nProvider;
+ this.normalizers = new _pages.PagesNormalizers(distDir);
+ }
+ async transform(manifest) {
+ // This matcher is only for Pages routes, not Pages API routes which are
+ // included in this manifest.
+ const pathnames = Object.keys(manifest).filter((pathname)=>!(0, _isapiroute.isAPIRoute)(pathname))// Remove any blocked pages (page that can't be routed to, like error or
+ // internal pages).
+ .filter((pathname)=>{
+ var _this_i18nProvider;
+ const normalized = ((_this_i18nProvider = this.i18nProvider) == null ? void 0 : _this_i18nProvider.analyze(pathname).pathname) ?? pathname;
+ // Skip any blocked pages.
+ if (_constants.BLOCKED_PAGES.includes(normalized)) return false;
+ return true;
+ });
+ const matchers = [];
+ for (const page of pathnames){
+ if (this.i18nProvider) {
+ // Match the locale on the page name, or default to the default locale.
+ const { detectedLocale, pathname } = this.i18nProvider.analyze(page);
+ matchers.push(new _pagesroutematcher.PagesLocaleRouteMatcher({
+ kind: _routekind.RouteKind.PAGES,
+ pathname,
+ page,
+ bundlePath: this.normalizers.bundlePath.normalize(page),
+ filename: this.normalizers.filename.normalize(manifest[page]),
+ i18n: {
+ locale: detectedLocale
+ }
+ }));
+ } else {
+ matchers.push(new _pagesroutematcher.PagesRouteMatcher({
+ kind: _routekind.RouteKind.PAGES,
+ // In `pages/`, the page is the same as the pathname.
+ pathname: page,
+ page,
+ bundlePath: this.normalizers.bundlePath.normalize(page),
+ filename: this.normalizers.filename.normalize(manifest[page])
+ }));
+ }
+ }
+ return matchers;
+ }
+}
+
+//# sourceMappingURL=pages-route-matcher-provider.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..f96c9cc99a38ef05161f6354a5721f2b54ef1a48
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AppPageRouteMatcher", {
+ enumerable: true,
+ get: function() {
+ return AppPageRouteMatcher;
+ }
+});
+const _routematcher = require("./route-matcher");
+class AppPageRouteMatcher extends _routematcher.RouteMatcher {
+ get identity() {
+ return `${this.definition.pathname}?__nextPage=${this.definition.page}`;
+ }
+}
+
+//# sourceMappingURL=app-page-route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b8bcfc12a318286f5fc898d92462a7527e51ea1
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "AppRouteRouteMatcher", {
+ enumerable: true,
+ get: function() {
+ return AppRouteRouteMatcher;
+ }
+});
+const _routematcher = require("./route-matcher");
+class AppRouteRouteMatcher extends _routematcher.RouteMatcher {
+}
+
+//# sourceMappingURL=app-route-route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/locale-route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/locale-route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..e847de59801e57407c00c57e2e8387846281d0fa
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/locale-route-matcher.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "LocaleRouteMatcher", {
+ enumerable: true,
+ get: function() {
+ return LocaleRouteMatcher;
+ }
+});
+const _routematcher = require("./route-matcher");
+class LocaleRouteMatcher extends _routematcher.RouteMatcher {
+ /**
+ * Identity returns the identity part of the matcher. This is used to compare
+ * a unique matcher to another. This is also used when sorting dynamic routes,
+ * so it must contain the pathname part as well.
+ */ get identity() {
+ var _this_definition_i18n;
+ return `${this.definition.pathname}?__nextLocale=${(_this_definition_i18n = this.definition.i18n) == null ? void 0 : _this_definition_i18n.locale}`;
+ }
+ /**
+ * Match will attempt to match the given pathname against this route while
+ * also taking into account the locale information.
+ *
+ * @param pathname The pathname to match against.
+ * @param options The options to use when matching.
+ * @returns The match result, or `null` if there was no match.
+ */ match(pathname, options) {
+ var // If the options have a detected locale, then use that, otherwise use
+ // the route's locale.
+ _options_i18n, _this_definition_i18n;
+ // This is like the parent `match` method but instead this injects the
+ // additional `options` into the
+ const result = this.test(pathname, options);
+ if (!result) return null;
+ return {
+ definition: this.definition,
+ params: result.params,
+ detectedLocale: (options == null ? void 0 : (_options_i18n = options.i18n) == null ? void 0 : _options_i18n.detectedLocale) ?? ((_this_definition_i18n = this.definition.i18n) == null ? void 0 : _this_definition_i18n.locale)
+ };
+ }
+ /**
+ * Test will attempt to match the given pathname against this route while
+ * also taking into account the locale information.
+ *
+ * @param pathname The pathname to match against.
+ * @param options The options to use when matching.
+ * @returns The match result, or `null` if there was no match.
+ */ test(pathname, options) {
+ // If this route has locale information and we have detected a locale, then
+ // we need to compare the detected locale to the route's locale.
+ if (this.definition.i18n && (options == null ? void 0 : options.i18n)) {
+ // If we have detected a locale and it does not match this route's locale,
+ // then this isn't a match!
+ if (this.definition.i18n.locale && options.i18n.detectedLocale && this.definition.i18n.locale !== options.i18n.detectedLocale) {
+ return null;
+ }
+ // Perform regular matching against the locale stripped pathname now, the
+ // locale information matches!
+ return super.test(options.i18n.pathname);
+ }
+ // If we don't have locale information, then we can just perform regular
+ // matching.
+ return super.test(pathname);
+ }
+}
+
+//# sourceMappingURL=locale-route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..fa05b8f172292c3d01ce34573df9e0979a924fb0
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ PagesAPILocaleRouteMatcher: null,
+ PagesAPIRouteMatcher: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ PagesAPILocaleRouteMatcher: function() {
+ return PagesAPILocaleRouteMatcher;
+ },
+ PagesAPIRouteMatcher: function() {
+ return PagesAPIRouteMatcher;
+ }
+});
+const _localeroutematcher = require("./locale-route-matcher");
+const _routematcher = require("./route-matcher");
+class PagesAPIRouteMatcher extends _routematcher.RouteMatcher {
+}
+class PagesAPILocaleRouteMatcher extends _localeroutematcher.LocaleRouteMatcher {
+}
+
+//# sourceMappingURL=pages-api-route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..e59a61def5276e501d16c0a452c34a4fe1875796
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/pages-route-matcher.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ PagesLocaleRouteMatcher: null,
+ PagesRouteMatcher: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ PagesLocaleRouteMatcher: function() {
+ return PagesLocaleRouteMatcher;
+ },
+ PagesRouteMatcher: function() {
+ return PagesRouteMatcher;
+ }
+});
+const _localeroutematcher = require("./locale-route-matcher");
+const _routematcher = require("./route-matcher");
+class PagesRouteMatcher extends _routematcher.RouteMatcher {
+}
+class PagesLocaleRouteMatcher extends _localeroutematcher.LocaleRouteMatcher {
+}
+
+//# sourceMappingURL=pages-route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/route-matcher.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/route-matcher.js
new file mode 100644
index 0000000000000000000000000000000000000000..479672854e3451679bc682fcd1b9bdb38106e9d8
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matchers/route-matcher.js
@@ -0,0 +1,54 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "RouteMatcher", {
+ enumerable: true,
+ get: function() {
+ return RouteMatcher;
+ }
+});
+const _utils = require("../../shared/lib/router/utils");
+const _routematcher = require("../../shared/lib/router/utils/route-matcher");
+const _routeregex = require("../../shared/lib/router/utils/route-regex");
+class RouteMatcher {
+ constructor(definition){
+ this.definition = definition;
+ if ((0, _utils.isDynamicRoute)(definition.pathname)) {
+ this.dynamic = (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(definition.pathname));
+ }
+ }
+ /**
+ * Identity returns the identity part of the matcher. This is used to compare
+ * a unique matcher to another. This is also used when sorting dynamic routes,
+ * so it must contain the pathname part.
+ */ get identity() {
+ return this.definition.pathname;
+ }
+ get isDynamic() {
+ return this.dynamic !== undefined;
+ }
+ match(pathname) {
+ const result = this.test(pathname);
+ if (!result) return null;
+ return {
+ definition: this.definition,
+ params: result.params
+ };
+ }
+ test(pathname) {
+ if (this.dynamic) {
+ const params = this.dynamic(pathname);
+ if (!params) return null;
+ return {
+ params
+ };
+ }
+ if (pathname === this.definition.pathname) {
+ return {};
+ }
+ return null;
+ }
+}
+
+//# sourceMappingURL=route-matcher.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matches/pages-api-route-match.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matches/pages-api-route-match.js
new file mode 100644
index 0000000000000000000000000000000000000000..6b10e3781bb3437e18532eedc38af033c3be2e38
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-matches/pages-api-route-match.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "isPagesAPIRouteMatch", {
+ enumerable: true,
+ get: function() {
+ return isPagesAPIRouteMatch;
+ }
+});
+const _routekind = require("../route-kind");
+function isPagesAPIRouteMatch(match) {
+ return match.definition.kind === _routekind.RouteKind.PAGES_API;
+}
+
+//# sourceMappingURL=pages-api-route-match.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js
new file mode 100644
index 0000000000000000000000000000000000000000..c4a8ce75fbcc380fe6e068d3a2fd44964bd0a125
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js
@@ -0,0 +1,36 @@
+"use strict";
+if (process.env.NEXT_RUNTIME === 'edge') {
+ module.exports = require('next/dist/server/route-modules/app-page/module.js');
+} else {
+ if (process.env.__NEXT_EXPERIMENTAL_REACT) {
+ if (process.env.NODE_ENV === 'development') {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js');
+ }
+ } else {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js');
+ }
+ }
+ } else {
+ if (process.env.NODE_ENV === 'development') {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js');
+ }
+ } else {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js');
+ }
+ }
+ }
+}
+
+//# sourceMappingURL=module.compiled.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.js
new file mode 100644
index 0000000000000000000000000000000000000000..adeef41205ebe81f5d1d5892c3c419b6c0131e05
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.js
@@ -0,0 +1,101 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AppPageRouteModule: null,
+ default: null,
+ renderToHTMLOrFlight: null,
+ vendored: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AppPageRouteModule: function() {
+ return AppPageRouteModule;
+ },
+ default: function() {
+ return _default;
+ },
+ renderToHTMLOrFlight: function() {
+ return _apprender.renderToHTMLOrFlight;
+ },
+ vendored: function() {
+ return vendored;
+ }
+});
+const _apprender = require("../../app-render/app-render");
+const _routemodule = require("../route-module");
+const _entrypoints = /*#__PURE__*/ _interop_require_wildcard(require("./vendored/contexts/entrypoints"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+let vendoredReactRSC;
+let vendoredReactSSR;
+// the vendored Reacts are loaded from their original source in the edge runtime
+if (process.env.NEXT_RUNTIME !== 'edge') {
+ vendoredReactRSC = require('./vendored/rsc/entrypoints');
+ vendoredReactSSR = require('./vendored/ssr/entrypoints');
+}
+class AppPageRouteModule extends _routemodule.RouteModule {
+ constructor(options){
+ super(options);
+ this.isAppRouter = true;
+ }
+ render(req, res, context) {
+ return (0, _apprender.renderToHTMLOrFlight)(req, res, context.page, context.query, context.fallbackRouteParams, context.renderOpts, context.serverComponentsHmrCache, false, context.sharedContext);
+ }
+ warmup(req, res, context) {
+ return (0, _apprender.renderToHTMLOrFlight)(req, res, context.page, context.query, context.fallbackRouteParams, context.renderOpts, context.serverComponentsHmrCache, true, context.sharedContext);
+ }
+}
+const vendored = {
+ 'react-rsc': vendoredReactRSC,
+ 'react-ssr': vendoredReactSSR,
+ contexts: _entrypoints
+};
+const _default = AppPageRouteModule;
+
+//# sourceMappingURL=module.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.render.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.render.js
new file mode 100644
index 0000000000000000000000000000000000000000..23da6be81336729769757ddb01cba36cbd2bd178
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.render.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "lazyRenderAppPage", {
+ enumerable: true,
+ get: function() {
+ return lazyRenderAppPage;
+ }
+});
+const lazyRenderAppPage = (...args)=>{
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error("Can't use lazyRenderAppPage in minimal mode"), "__NEXT_ERROR_CODE", {
+ value: "E256",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ const render = require('./module.compiled').renderToHTMLOrFlight;
+ return render(...args);
+ }
+};
+
+//# sourceMappingURL=module.render.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/amp-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/amp-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..36952d341ca26536749fc600526116a66c39e932
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/amp-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].AmpContext;
+
+//# sourceMappingURL=amp-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..74fa6622e2a5367e88e0b801cd98447f8188c090
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].AppRouterContext;
+
+//# sourceMappingURL=app-router-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js
new file mode 100644
index 0000000000000000000000000000000000000000..71e838192bf37ab11bef3ae33d41ee9ccd2575ed
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js
@@ -0,0 +1,92 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AmpContext: null,
+ AppRouterContext: null,
+ HeadManagerContext: null,
+ HooksClientContext: null,
+ ImageConfigContext: null,
+ RouterContext: null,
+ ServerInsertedHtml: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AmpContext: function() {
+ return _ampcontextsharedruntime;
+ },
+ AppRouterContext: function() {
+ return _approutercontextsharedruntime;
+ },
+ HeadManagerContext: function() {
+ return _headmanagercontextsharedruntime;
+ },
+ HooksClientContext: function() {
+ return _hooksclientcontextsharedruntime;
+ },
+ ImageConfigContext: function() {
+ return _imageconfigcontextsharedruntime;
+ },
+ RouterContext: function() {
+ return _routercontextsharedruntime;
+ },
+ ServerInsertedHtml: function() {
+ return _serverinsertedhtmlsharedruntime;
+ }
+});
+const _headmanagercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/head-manager-context.shared-runtime"));
+const _serverinsertedhtmlsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/server-inserted-html.shared-runtime"));
+const _approutercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/app-router-context.shared-runtime"));
+const _hooksclientcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/hooks-client-context.shared-runtime"));
+const _routercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/router-context.shared-runtime"));
+const _ampcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/amp-context.shared-runtime"));
+const _imageconfigcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/image-config-context.shared-runtime"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+
+//# sourceMappingURL=entrypoints.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..161d1246033466b8eb50881ac6c1631ed89cee36
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].HeadManagerContext;
+
+//# sourceMappingURL=head-manager-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..8a86415fa56106cf614206e4c8ba2256d7125f81
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].HooksClientContext;
+
+//# sourceMappingURL=hooks-client-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..53255f9b8b07068f9b2363a3bc97d8111a98a492
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].ImageConfigContext;
+
+//# sourceMappingURL=image-config-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..424b2ce70b12d651376d8edc2afd98fd0311c017
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].RouterContext;
+
+//# sourceMappingURL=router-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js
new file mode 100644
index 0000000000000000000000000000000000000000..ebbbd2d6344ed38978abf8cdfc9e2dc6f33c3481
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].ServerInsertedHtml;
+
+//# sourceMappingURL=server-inserted-html.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js
new file mode 100644
index 0000000000000000000000000000000000000000..a87b419858848a9ca44b3c2a76ae6141f98cdfcb
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js
@@ -0,0 +1,140 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ React: null,
+ ReactCompilerRuntime: null,
+ ReactDOM: null,
+ ReactJsxDevRuntime: null,
+ ReactJsxRuntime: null,
+ ReactServerDOMTurbopackServer: null,
+ ReactServerDOMTurbopackStatic: null,
+ ReactServerDOMWebpackServer: null,
+ ReactServerDOMWebpackStatic: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ React: function() {
+ return _react;
+ },
+ ReactCompilerRuntime: function() {
+ return _compilerruntime;
+ },
+ ReactDOM: function() {
+ return _reactdom;
+ },
+ ReactJsxDevRuntime: function() {
+ return _jsxdevruntime;
+ },
+ ReactJsxRuntime: function() {
+ return _jsxruntime;
+ },
+ ReactServerDOMTurbopackServer: function() {
+ return ReactServerDOMTurbopackServer;
+ },
+ ReactServerDOMTurbopackStatic: function() {
+ return ReactServerDOMTurbopackStatic;
+ },
+ ReactServerDOMWebpackServer: function() {
+ return ReactServerDOMWebpackServer;
+ },
+ ReactServerDOMWebpackStatic: function() {
+ return ReactServerDOMWebpackStatic;
+ }
+});
+const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
+const _reactdom = /*#__PURE__*/ _interop_require_wildcard(require("react-dom"));
+const _jsxdevruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/jsx-dev-runtime"));
+const _jsxruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/jsx-runtime"));
+const _compilerruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/compiler-runtime"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+function getAltProxyForBindingsDEV(type, pkg) {
+ if (process.env.NODE_ENV === 'development') {
+ const altType = type === 'Turbopack' ? 'Webpack' : 'Turbopack';
+ const altPkg = pkg.replace(new RegExp(type, 'gi'), altType.toLowerCase());
+ return new Proxy({}, {
+ get (_, prop) {
+ throw Object.defineProperty(new Error(`Expected to use ${type} bindings (${pkg}) for React but the current process is referencing '${prop}' from the ${altType} bindings (${altPkg}). This is likely a bug in our integration of the Next.js server runtime.`), "__NEXT_ERROR_CODE", {
+ value: "E253",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ });
+ }
+}
+let ReactServerDOMTurbopackServer, ReactServerDOMWebpackServer;
+let ReactServerDOMTurbopackStatic, ReactServerDOMWebpackStatic;
+if (process.env.TURBOPACK) {
+ ReactServerDOMTurbopackServer = // @ts-expect-error -- TODO: Add types
+ // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-turbopack/server');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMWebpackServer = getAltProxyForBindingsDEV('Turbopack', 'react-server-dom-turbopack/server');
+ }
+ ReactServerDOMTurbopackStatic = // @ts-expect-error -- TODO: Add types
+ // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-turbopack/static');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMWebpackStatic = getAltProxyForBindingsDEV('Turbopack', 'react-server-dom-turbopack/static');
+ }
+} else {
+ ReactServerDOMWebpackServer = // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-webpack/server');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMTurbopackServer = getAltProxyForBindingsDEV('Webpack', 'react-server-dom-webpack/server');
+ }
+ ReactServerDOMWebpackStatic = // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-webpack/static');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMTurbopackStatic = getAltProxyForBindingsDEV('Webpack', 'react-server-dom-webpack/static');
+ }
+}
+
+//# sourceMappingURL=entrypoints.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js
new file mode 100644
index 0000000000000000000000000000000000000000..72cf71e5053d7b947a4cee5d960615fae018d526
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js
@@ -0,0 +1,125 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ React: null,
+ ReactCompilerRuntime: null,
+ ReactDOM: null,
+ ReactDOMServer: null,
+ ReactJsxDevRuntime: null,
+ ReactJsxRuntime: null,
+ ReactServerDOMTurbopackClient: null,
+ ReactServerDOMWebpackClient: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ React: function() {
+ return _react;
+ },
+ ReactCompilerRuntime: function() {
+ return _compilerruntime;
+ },
+ ReactDOM: function() {
+ return _reactdom;
+ },
+ ReactDOMServer: function() {
+ return _server;
+ },
+ ReactJsxDevRuntime: function() {
+ return _jsxdevruntime;
+ },
+ ReactJsxRuntime: function() {
+ return _jsxruntime;
+ },
+ ReactServerDOMTurbopackClient: function() {
+ return ReactServerDOMTurbopackClient;
+ },
+ ReactServerDOMWebpackClient: function() {
+ return ReactServerDOMWebpackClient;
+ }
+});
+const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
+const _reactdom = /*#__PURE__*/ _interop_require_wildcard(require("react-dom"));
+const _jsxdevruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/jsx-dev-runtime"));
+const _jsxruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/jsx-runtime"));
+const _compilerruntime = /*#__PURE__*/ _interop_require_wildcard(require("react/compiler-runtime"));
+const _server = /*#__PURE__*/ _interop_require_wildcard(require("react-dom/server"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+function getAltProxyForBindingsDEV(type, pkg) {
+ if (process.env.NODE_ENV === 'development') {
+ const altType = type === 'Turbopack' ? 'Webpack' : 'Turbopack';
+ const altPkg = pkg.replace(new RegExp(type, 'gi'), altType.toLowerCase());
+ return new Proxy({}, {
+ get (_, prop) {
+ throw Object.defineProperty(new Error(`Expected to use ${type} bindings (${pkg}) for React but the current process is referencing '${prop}' from the ${altType} bindings (${altPkg}). This is likely a bug in our integration of the Next.js server runtime.`), "__NEXT_ERROR_CODE", {
+ value: "E253",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ });
+ }
+}
+let ReactServerDOMTurbopackClient, ReactServerDOMWebpackClient;
+if (process.env.TURBOPACK) {
+ ReactServerDOMTurbopackClient = // @ts-expect-error -- TODO: Add types
+ // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-turbopack/client');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMWebpackClient = getAltProxyForBindingsDEV('Turbopack', 'react-server-dom-turbopack/client');
+ }
+} else {
+ ReactServerDOMWebpackClient = // eslint-disable-next-line import/no-extraneous-dependencies
+ require('react-server-dom-webpack/client');
+ if (process.env.NODE_ENV === 'development') {
+ ReactServerDOMTurbopackClient = getAltProxyForBindingsDEV('Webpack', 'react-server-dom-webpack/client');
+ }
+}
+
+//# sourceMappingURL=entrypoints.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/checks.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/checks.js
new file mode 100644
index 0000000000000000000000000000000000000000..cf72acec9b610bce9c524a0a01903a707fdba1f7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/checks.js
@@ -0,0 +1,45 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ isAppPageRouteModule: null,
+ isAppRouteRouteModule: null,
+ isPagesAPIRouteModule: null,
+ isPagesRouteModule: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ isAppPageRouteModule: function() {
+ return isAppPageRouteModule;
+ },
+ isAppRouteRouteModule: function() {
+ return isAppRouteRouteModule;
+ },
+ isPagesAPIRouteModule: function() {
+ return isPagesAPIRouteModule;
+ },
+ isPagesRouteModule: function() {
+ return isPagesRouteModule;
+ }
+});
+const _routekind = require("../route-kind");
+function isAppRouteRouteModule(routeModule) {
+ return routeModule.definition.kind === _routekind.RouteKind.APP_ROUTE;
+}
+function isAppPageRouteModule(routeModule) {
+ return routeModule.definition.kind === _routekind.RouteKind.APP_PAGE;
+}
+function isPagesRouteModule(routeModule) {
+ return routeModule.definition.kind === _routekind.RouteKind.PAGES;
+}
+function isPagesAPIRouteModule(routeModule) {
+ return routeModule.definition.kind === _routekind.RouteKind.PAGES_API;
+}
+
+//# sourceMappingURL=checks.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/builtin/_error.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/builtin/_error.js
new file mode 100644
index 0000000000000000000000000000000000000000..4182a78e6ecd9ffed906fa5ad4fc1c06e739385b
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/builtin/_error.js
@@ -0,0 +1,80 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "routeModule", {
+ enumerable: true,
+ get: function() {
+ return routeModule;
+ }
+});
+const _document = /*#__PURE__*/ _interop_require_default(require("../../../../pages/_document"));
+const _app = /*#__PURE__*/ _interop_require_default(require("../../../../pages/_app"));
+const _routekind = require("../../../route-kind");
+const _error = /*#__PURE__*/ _interop_require_wildcard(require("../../../../pages/_error"));
+const _module = /*#__PURE__*/ _interop_require_default(require("../module"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+const routeModule = new _module.default({
+ // TODO: add descriptor for internal error page
+ definition: {
+ kind: _routekind.RouteKind.PAGES,
+ page: '/_error',
+ pathname: '/_error',
+ filename: '',
+ bundlePath: ''
+ },
+ distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',
+ projectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',
+ components: {
+ App: _app.default,
+ Document: _document.default
+ },
+ userland: _error
+});
+
+//# sourceMappingURL=_error.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.compiled.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.compiled.js
new file mode 100644
index 0000000000000000000000000000000000000000..351c248ad8fef094d42d0527732994e8209c9525
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.compiled.js
@@ -0,0 +1,20 @@
+"use strict";
+if (process.env.NEXT_RUNTIME === 'edge') {
+ module.exports = require('next/dist/server/route-modules/pages/module.js');
+} else {
+ if (process.env.NODE_ENV === 'development') {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.dev.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/pages.runtime.dev.js');
+ }
+ } else {
+ if (process.env.TURBOPACK) {
+ module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.prod.js');
+ } else {
+ module.exports = require('next/dist/compiled/next-server/pages.runtime.prod.js');
+ }
+ }
+}
+
+//# sourceMappingURL=module.compiled.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.js
new file mode 100644
index 0000000000000000000000000000000000000000..08da35305e0d2f641a3bb713ed0e08e8b51b0b26
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.js
@@ -0,0 +1,92 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ PagesRouteModule: null,
+ default: null,
+ renderToHTML: null,
+ vendored: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ PagesRouteModule: function() {
+ return PagesRouteModule;
+ },
+ default: function() {
+ return _default;
+ },
+ renderToHTML: function() {
+ return _render.renderToHTML;
+ },
+ vendored: function() {
+ return vendored;
+ }
+});
+const _routemodule = require("../route-module");
+const _render = require("../../render");
+const _entrypoints = /*#__PURE__*/ _interop_require_wildcard(require("./vendored/contexts/entrypoints"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+class PagesRouteModule extends _routemodule.RouteModule {
+ constructor(options){
+ super(options);
+ this.components = options.components;
+ }
+ render(req, res, context) {
+ return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {
+ App: this.components.App,
+ Document: this.components.Document
+ }, context.sharedContext, context.renderContext);
+ }
+}
+const vendored = {
+ contexts: _entrypoints
+};
+const _default = PagesRouteModule;
+
+//# sourceMappingURL=module.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.render.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.render.js
new file mode 100644
index 0000000000000000000000000000000000000000..360551f8a09d0aa6371938bc70cab16841acd1ec
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.render.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "lazyRenderPagesPage", {
+ enumerable: true,
+ get: function() {
+ return lazyRenderPagesPage;
+ }
+});
+const lazyRenderPagesPage = (...args)=>{
+ if (process.env.NEXT_MINIMAL) {
+ throw Object.defineProperty(new Error("Can't use lazyRenderPagesPage in minimal mode"), "__NEXT_ERROR_CODE", {
+ value: "E272",
+ enumerable: false,
+ configurable: true
+ });
+ } else {
+ const render = require('./module.compiled').renderToHTML;
+ return render(...args);
+ }
+};
+
+//# sourceMappingURL=module.render.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/amp-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/amp-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..36952d341ca26536749fc600526116a66c39e932
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/amp-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].AmpContext;
+
+//# sourceMappingURL=amp-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..74fa6622e2a5367e88e0b801cd98447f8188c090
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].AppRouterContext;
+
+//# sourceMappingURL=app-router-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js
new file mode 100644
index 0000000000000000000000000000000000000000..689805728f43fe1767acc59b174a958711bc8ff7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js
@@ -0,0 +1,107 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ AmpContext: null,
+ AppRouterContext: null,
+ HeadManagerContext: null,
+ HooksClientContext: null,
+ HtmlContext: null,
+ ImageConfigContext: null,
+ Loadable: null,
+ LoadableContext: null,
+ RouterContext: null,
+ ServerInsertedHtml: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ AmpContext: function() {
+ return _ampcontextsharedruntime;
+ },
+ AppRouterContext: function() {
+ return _approutercontextsharedruntime;
+ },
+ HeadManagerContext: function() {
+ return _headmanagercontextsharedruntime;
+ },
+ HooksClientContext: function() {
+ return _hooksclientcontextsharedruntime;
+ },
+ HtmlContext: function() {
+ return _htmlcontextsharedruntime;
+ },
+ ImageConfigContext: function() {
+ return _imageconfigcontextsharedruntime;
+ },
+ Loadable: function() {
+ return _loadablesharedruntime;
+ },
+ LoadableContext: function() {
+ return _loadablecontextsharedruntime;
+ },
+ RouterContext: function() {
+ return _routercontextsharedruntime;
+ },
+ ServerInsertedHtml: function() {
+ return _serverinsertedhtmlsharedruntime;
+ }
+});
+const _routercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/router-context.shared-runtime"));
+const _loadablecontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/loadable-context.shared-runtime"));
+const _loadablesharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/loadable.shared-runtime"));
+const _imageconfigcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/image-config-context.shared-runtime"));
+const _htmlcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/html-context.shared-runtime"));
+const _hooksclientcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/hooks-client-context.shared-runtime"));
+const _headmanagercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/head-manager-context.shared-runtime"));
+const _approutercontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/app-router-context.shared-runtime"));
+const _ampcontextsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/amp-context.shared-runtime"));
+const _serverinsertedhtmlsharedruntime = /*#__PURE__*/ _interop_require_wildcard(require("../../../../../shared/lib/server-inserted-html.shared-runtime"));
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) {
+ return obj;
+ }
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
+ return {
+ default: obj
+ };
+ }
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) {
+ return cache.get(obj);
+ }
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) {
+ Object.defineProperty(newObj, key, desc);
+ } else {
+ newObj[key] = obj[key];
+ }
+ }
+ }
+ newObj.default = obj;
+ if (cache) {
+ cache.set(obj, newObj);
+ }
+ return newObj;
+}
+
+//# sourceMappingURL=entrypoints.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..161d1246033466b8eb50881ac6c1631ed89cee36
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].HeadManagerContext;
+
+//# sourceMappingURL=head-manager-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..8a86415fa56106cf614206e4c8ba2256d7125f81
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].HooksClientContext;
+
+//# sourceMappingURL=hooks-client-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..358fbd059a56f3638c8f39789504287c7c4c649a
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].HtmlContext;
+
+//# sourceMappingURL=html-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..53255f9b8b07068f9b2363a3bc97d8111a98a492
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].ImageConfigContext;
+
+//# sourceMappingURL=image-config-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..38bbdca99fd3a55a7f9aa20858eaa5e3f2542035
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].LoadableContext;
+
+//# sourceMappingURL=loadable-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js
new file mode 100644
index 0000000000000000000000000000000000000000..0f02b181b163ca7ced830ffefde6fd21396ab1d7
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].Loadable;
+
+//# sourceMappingURL=loadable.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js
new file mode 100644
index 0000000000000000000000000000000000000000..424b2ce70b12d651376d8edc2afd98fd0311c017
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].RouterContext;
+
+//# sourceMappingURL=router-context.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js
new file mode 100644
index 0000000000000000000000000000000000000000..ebbbd2d6344ed38978abf8cdfc9e2dc6f33c3481
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js
@@ -0,0 +1,4 @@
+"use strict";
+module.exports = require('../../module.compiled').vendored['contexts'].ServerInsertedHtml;
+
+//# sourceMappingURL=server-inserted-html.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/route-module.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/route-module.js
new file mode 100644
index 0000000000000000000000000000000000000000..4722560dae21b15ab21a737d7bd8ad989979cff2
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/route-modules/route-module.js
@@ -0,0 +1,496 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "RouteModule", {
+ enumerable: true,
+ get: function() {
+ return RouteModule;
+ }
+});
+const _constants = require("../../shared/lib/constants");
+const _url = require("../../lib/url");
+const _normalizelocalepath = require("../../shared/lib/i18n/normalize-locale-path");
+const _utils = require("../../shared/lib/router/utils");
+const _removepathprefix = require("../../shared/lib/router/utils/remove-path-prefix");
+const _serverutils = require("../server-utils");
+const _detectdomainlocale = require("../../shared/lib/i18n/detect-domain-locale");
+const _gethostname = require("../../shared/lib/get-hostname");
+const _apiutils = require("../api-utils");
+const _normalizedatapath = require("../../shared/lib/page-path/normalize-data-path");
+const _pathhasprefix = require("../../shared/lib/router/utils/path-has-prefix");
+const _requestmeta = require("../request-meta");
+const _normalizepagepath = require("../../shared/lib/page-path/normalize-page-path");
+const _ismetadataroute = require("../../lib/metadata/is-metadata-route");
+const _incrementalcache = require("../lib/incremental-cache");
+const _handlers = require("../use-cache/handlers");
+const _interopdefault = require("../app-render/interop-default");
+const _responsecache = /*#__PURE__*/ _interop_require_default(require("../response-cache"));
+const _apppaths = require("../../shared/lib/router/utils/app-paths");
+const _routerservercontext = require("../lib/router-utils/router-server-context");
+const _decodepathparams = require("../lib/router-utils/decode-path-params");
+const _removetrailingslash = require("../../shared/lib/router/utils/remove-trailing-slash");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+const dynamicImportEsmDefault = (id)=>import(/* webpackIgnore: true */ /* turbopackIgnore: true */ id).then((mod)=>mod.default || mod);
+class RouteModule {
+ constructor({ userland, definition, distDir, projectDir }){
+ this.userland = userland;
+ this.definition = definition;
+ this.isDev = process.env.NODE_ENV === 'development';
+ this.distDir = distDir;
+ this.projectDir = projectDir;
+ }
+ async instrumentationOnRequestError(req, ...args) {
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ const { getEdgeInstrumentationModule } = await import('../web/globals');
+ const instrumentation = await getEdgeInstrumentationModule();
+ if (instrumentation) {
+ await (instrumentation.onRequestError == null ? void 0 : instrumentation.onRequestError.call(instrumentation, ...args));
+ }
+ } else {
+ const { join } = require('node:path');
+ const absoluteProjectDir = (0, _requestmeta.getRequestMeta)(req, 'projectDir') || join(process.cwd(), this.projectDir);
+ const { instrumentationOnRequestError } = await import('../lib/router-utils/instrumentation-globals.external');
+ return instrumentationOnRequestError(absoluteProjectDir, this.distDir, ...args);
+ }
+ }
+ loadManifests(srcPage, projectDir) {
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ var _self___RSC_MANIFEST;
+ const { getEdgePreviewProps } = require('../web/get-edge-preview-props');
+ const maybeJSONParse = (str)=>str ? JSON.parse(str) : undefined;
+ return {
+ buildId: process.env.__NEXT_BUILD_ID || '',
+ buildManifest: self.__BUILD_MANIFEST,
+ reactLoadableManifest: maybeJSONParse(self.__REACT_LOADABLE_MANIFEST),
+ nextFontManifest: maybeJSONParse(self.__NEXT_FONT_MANIFEST),
+ prerenderManifest: {
+ routes: {},
+ dynamicRoutes: {},
+ notFoundRoutes: [],
+ version: 4,
+ preview: getEdgePreviewProps()
+ },
+ routesManifest: {
+ version: 4,
+ caseSensitive: Boolean(process.env.__NEXT_CASE_SENSITIVE_ROUTES),
+ basePath: process.env.__NEXT_BASE_PATH || '',
+ rewrites: process.env.__NEXT_REWRITES || {
+ beforeFiles: [],
+ afterFiles: [],
+ fallback: []
+ },
+ redirects: [],
+ headers: [],
+ i18n: process.env.__NEXT_I18N_CONFIG || undefined,
+ skipMiddlewareUrlNormalize: Boolean(process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE)
+ },
+ serverFilesManifest: {
+ config: globalThis.nextConfig || {}
+ },
+ clientReferenceManifest: (_self___RSC_MANIFEST = self.__RSC_MANIFEST) == null ? void 0 : _self___RSC_MANIFEST[srcPage],
+ serverActionsManifest: maybeJSONParse(self.__RSC_SERVER_MANIFEST),
+ subresourceIntegrityManifest: maybeJSONParse(self.__SUBRESOURCE_INTEGRITY_MANIFEST),
+ dynamicCssManifest: maybeJSONParse(self.__DYNAMIC_CSS_MANIFEST)
+ };
+ } else {
+ var _clientReferenceManifest___RSC_MANIFEST;
+ if (!projectDir) {
+ throw Object.defineProperty(new Error('Invariant: projectDir is required for node runtime'), "__NEXT_ERROR_CODE", {
+ value: "E718",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ const { loadManifestFromRelativePath } = require('../load-manifest.external');
+ const normalizedPagePath = (0, _normalizepagepath.normalizePagePath)(srcPage);
+ const [routesManifest, prerenderManifest, buildManifest, reactLoadableManifest, nextFontManifest, clientReferenceManifest, serverActionsManifest, subresourceIntegrityManifest, serverFilesManifest, buildId, dynamicCssManifest] = [
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.ROUTES_MANIFEST,
+ shouldCache: !this.isDev
+ }),
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.PRERENDER_MANIFEST,
+ shouldCache: !this.isDev
+ }),
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.BUILD_MANIFEST,
+ shouldCache: !this.isDev
+ }),
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: process.env.TURBOPACK ? `server/${this.isAppRouter ? 'app' : 'pages'}${normalizedPagePath}/${_constants.REACT_LOADABLE_MANIFEST}` : _constants.REACT_LOADABLE_MANIFEST,
+ handleMissing: true,
+ shouldCache: !this.isDev
+ }),
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: `server/${_constants.NEXT_FONT_MANIFEST}.json`,
+ shouldCache: !this.isDev
+ }),
+ this.isAppRouter && !(0, _ismetadataroute.isStaticMetadataRoute)(srcPage) ? loadManifestFromRelativePath({
+ distDir: this.distDir,
+ projectDir,
+ useEval: true,
+ handleMissing: true,
+ manifest: `server/app${srcPage.replace(/%5F/g, '_') + '_' + _constants.CLIENT_REFERENCE_MANIFEST}.js`,
+ shouldCache: !this.isDev
+ }) : undefined,
+ this.isAppRouter ? loadManifestFromRelativePath({
+ distDir: this.distDir,
+ projectDir,
+ manifest: `server/${_constants.SERVER_REFERENCE_MANIFEST}.json`,
+ handleMissing: true,
+ shouldCache: !this.isDev
+ }) : {},
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: `server/${_constants.SUBRESOURCE_INTEGRITY_MANIFEST}.json`,
+ handleMissing: true,
+ shouldCache: !this.isDev
+ }),
+ this.isDev ? {} : loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.SERVER_FILES_MANIFEST
+ }),
+ this.isDev ? 'development' : loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.BUILD_ID_FILE,
+ skipParse: true
+ }),
+ loadManifestFromRelativePath({
+ projectDir,
+ distDir: this.distDir,
+ manifest: _constants.DYNAMIC_CSS_MANIFEST,
+ handleMissing: true
+ })
+ ];
+ return {
+ buildId,
+ buildManifest,
+ routesManifest,
+ nextFontManifest,
+ prerenderManifest,
+ serverFilesManifest,
+ reactLoadableManifest,
+ clientReferenceManifest: clientReferenceManifest == null ? void 0 : (_clientReferenceManifest___RSC_MANIFEST = clientReferenceManifest.__RSC_MANIFEST) == null ? void 0 : _clientReferenceManifest___RSC_MANIFEST[srcPage.replace(/%5F/g, '_')],
+ serverActionsManifest,
+ subresourceIntegrityManifest,
+ dynamicCssManifest
+ };
+ }
+ }
+ async loadCustomCacheHandlers(req, nextConfig) {
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ const { cacheHandlers } = nextConfig.experimental;
+ if (!cacheHandlers) return;
+ // If we've already initialized the cache handlers interface, don't do it
+ // again.
+ if (!(0, _handlers.initializeCacheHandlers)()) return;
+ for (const [kind, handler] of Object.entries(cacheHandlers)){
+ if (!handler) continue;
+ const { formatDynamicImportPath } = require('../../lib/format-dynamic-import-path');
+ const { join } = require('node:path');
+ const absoluteProjectDir = (0, _requestmeta.getRequestMeta)(req, 'projectDir') || join(process.cwd(), this.projectDir);
+ (0, _handlers.setCacheHandler)(kind, (0, _interopdefault.interopDefault)(await dynamicImportEsmDefault(formatDynamicImportPath(`${absoluteProjectDir}/${this.distDir}`, handler))));
+ }
+ }
+ }
+ async getIncrementalCache(req, nextConfig, prerenderManifest) {
+ if (process.env.NEXT_RUNTIME === 'edge') {
+ return globalThis.__incrementalCache;
+ } else {
+ let CacheHandler;
+ const { cacheHandler } = nextConfig;
+ if (cacheHandler) {
+ const { formatDynamicImportPath } = require('../../lib/format-dynamic-import-path');
+ CacheHandler = (0, _interopdefault.interopDefault)(await dynamicImportEsmDefault(formatDynamicImportPath(this.distDir, cacheHandler)));
+ }
+ const { join } = require('node:path');
+ const projectDir = (0, _requestmeta.getRequestMeta)(req, 'projectDir') || join(process.cwd(), this.projectDir);
+ await this.loadCustomCacheHandlers(req, nextConfig);
+ // incremental-cache is request specific
+ // although can have shared caches in module scope
+ // per-cache handler
+ return new _incrementalcache.IncrementalCache({
+ fs: require('../lib/node-fs-methods').nodeFs,
+ dev: this.isDev,
+ requestHeaders: req.headers,
+ allowedRevalidateHeaderKeys: nextConfig.experimental.allowedRevalidateHeaderKeys,
+ minimalMode: (0, _requestmeta.getRequestMeta)(req, 'minimalMode'),
+ serverDistDir: `${projectDir}/${this.distDir}/server`,
+ fetchCacheKeyPrefix: nextConfig.experimental.fetchCacheKeyPrefix,
+ maxMemoryCacheSize: nextConfig.cacheMaxMemorySize,
+ flushToDisk: nextConfig.experimental.isrFlushToDisk,
+ getPrerenderManifest: ()=>prerenderManifest,
+ CurCacheHandler: CacheHandler
+ });
+ }
+ }
+ async onRequestError(req, err, errorContext, routerServerContext) {
+ if (routerServerContext == null ? void 0 : routerServerContext.logErrorWithOriginalStack) {
+ routerServerContext.logErrorWithOriginalStack(err, 'app-dir');
+ } else {
+ console.error(err);
+ }
+ await this.instrumentationOnRequestError(req, err, {
+ path: req.url || '/',
+ headers: req.headers,
+ method: req.method || 'GET'
+ }, errorContext);
+ }
+ async prepare(req, res, { srcPage, multiZoneDraftMode }) {
+ var _routerServerGlobal_RouterServerContextSymbol;
+ let projectDir;
+ // edge runtime handles loading instrumentation at the edge adapter level
+ if (process.env.NEXT_RUNTIME !== 'edge') {
+ const { join, relative } = require('node:path');
+ projectDir = (0, _requestmeta.getRequestMeta)(req, 'projectDir') || join(process.cwd(), this.projectDir);
+ const absoluteDistDir = (0, _requestmeta.getRequestMeta)(req, 'distDir');
+ if (absoluteDistDir) {
+ this.distDir = relative(projectDir, absoluteDistDir);
+ }
+ const { ensureInstrumentationRegistered } = await import('../lib/router-utils/instrumentation-globals.external');
+ // ensure instrumentation is registered and pass
+ // onRequestError below
+ ensureInstrumentationRegistered(projectDir, this.distDir);
+ }
+ const manifests = await this.loadManifests(srcPage, projectDir);
+ const { routesManifest, prerenderManifest, serverFilesManifest } = manifests;
+ const { basePath, i18n, rewrites } = routesManifest;
+ if (basePath) {
+ req.url = (0, _removepathprefix.removePathPrefix)(req.url || '/', basePath);
+ }
+ const parsedUrl = (0, _url.parseReqUrl)(req.url || '/');
+ // if we couldn't parse the URL we can't continue
+ if (!parsedUrl) {
+ return;
+ }
+ let isNextDataRequest = false;
+ if ((0, _pathhasprefix.pathHasPrefix)(parsedUrl.pathname || '/', '/_next/data')) {
+ isNextDataRequest = true;
+ parsedUrl.pathname = (0, _normalizedatapath.normalizeDataPath)(parsedUrl.pathname || '/');
+ }
+ let originalPathname = parsedUrl.pathname || '/';
+ const originalQuery = {
+ ...parsedUrl.query
+ };
+ const pageIsDynamic = (0, _utils.isDynamicRoute)(srcPage);
+ let localeResult;
+ let detectedLocale;
+ if (i18n) {
+ localeResult = (0, _normalizelocalepath.normalizeLocalePath)(parsedUrl.pathname || '/', i18n.locales);
+ if (localeResult.detectedLocale) {
+ req.url = `${localeResult.pathname}${parsedUrl.search}`;
+ originalPathname = localeResult.pathname;
+ if (!detectedLocale) {
+ detectedLocale = localeResult.detectedLocale;
+ }
+ }
+ }
+ const serverUtils = (0, _serverutils.getServerUtils)({
+ page: srcPage,
+ i18n,
+ basePath,
+ rewrites,
+ pageIsDynamic,
+ trailingSlash: process.env.__NEXT_TRAILING_SLASH,
+ caseSensitive: Boolean(routesManifest.caseSensitive)
+ });
+ const domainLocale = (0, _detectdomainlocale.detectDomainLocale)(i18n == null ? void 0 : i18n.domains, (0, _gethostname.getHostname)(parsedUrl, req.headers), detectedLocale);
+ (0, _requestmeta.addRequestMeta)(req, 'isLocaleDomain', Boolean(domainLocale));
+ const defaultLocale = (domainLocale == null ? void 0 : domainLocale.defaultLocale) || (i18n == null ? void 0 : i18n.defaultLocale);
+ // Ensure parsedUrl.pathname includes locale before processing
+ // rewrites or they won't match correctly.
+ if (defaultLocale && !detectedLocale) {
+ parsedUrl.pathname = `/${defaultLocale}${parsedUrl.pathname === '/' ? '' : parsedUrl.pathname}`;
+ }
+ const locale = (0, _requestmeta.getRequestMeta)(req, 'locale') || detectedLocale || defaultLocale;
+ const rewriteParamKeys = Object.keys(serverUtils.handleRewrites(req, parsedUrl));
+ // after processing rewrites we want to remove locale
+ // from parsedUrl pathname
+ if (i18n) {
+ parsedUrl.pathname = (0, _normalizelocalepath.normalizeLocalePath)(parsedUrl.pathname || '/', i18n.locales).pathname;
+ }
+ let params = (0, _requestmeta.getRequestMeta)(req, 'params');
+ // attempt parsing from pathname
+ if (!params && serverUtils.dynamicRouteMatcher) {
+ const paramsMatch = serverUtils.dynamicRouteMatcher((0, _normalizedatapath.normalizeDataPath)((localeResult == null ? void 0 : localeResult.pathname) || parsedUrl.pathname || '/'));
+ const paramsResult = serverUtils.normalizeDynamicRouteParams(paramsMatch || {}, true);
+ if (paramsResult.hasValidParams) {
+ params = paramsResult.params;
+ }
+ }
+ // Local "next start" expects the routing parsed query values
+ // to not be present in the URL although when deployed proxies
+ // will add query values from resolving the routes to pass to function.
+ // TODO: do we want to change expectations for "next start"
+ // to include these query values in the URL which affects asPath
+ // but would match deployed behavior, e.g. a rewrite from middleware
+ // that adds a query param would be in asPath as query but locally
+ // it won't be in the asPath but still available in the query object
+ const query = (0, _requestmeta.getRequestMeta)(req, 'query') || {
+ ...parsedUrl.query
+ };
+ const routeParamKeys = new Set();
+ const combinedParamKeys = [];
+ // we don't include rewriteParamKeys in the combinedParamKeys
+ // for app router since the searchParams is populated from the
+ // URL so we don't want to strip the rewrite params from the URL
+ // so that searchParams can include them
+ if (!this.isAppRouter) {
+ for (const key of [
+ ...rewriteParamKeys,
+ ...Object.keys(serverUtils.defaultRouteMatches || {})
+ ]){
+ // We only want to filter rewrite param keys from the URL
+ // if they are matches from the URL e.g. the key/value matches
+ // before and after applying the rewrites /:path for /hello and
+ // { path: 'hello' } but not for { path: 'another' } and /hello
+ // TODO: we should prefix rewrite param keys the same as we do
+ // for dynamic routes so we can identify them properly
+ const originalValue = Array.isArray(originalQuery[key]) ? originalQuery[key].join('') : originalQuery[key];
+ const queryValue = Array.isArray(query[key]) ? query[key].join('') : query[key];
+ if (!(key in originalQuery) || originalValue === queryValue) {
+ combinedParamKeys.push(key);
+ }
+ }
+ }
+ serverUtils.normalizeCdnUrl(req, combinedParamKeys);
+ serverUtils.normalizeQueryParams(query, routeParamKeys);
+ serverUtils.filterInternalQuery(originalQuery, combinedParamKeys);
+ if (pageIsDynamic) {
+ const queryResult = serverUtils.normalizeDynamicRouteParams(query, true);
+ const paramsResult = serverUtils.normalizeDynamicRouteParams(params || {}, true);
+ const paramsToInterpolate = paramsResult.hasValidParams && params ? params : queryResult.hasValidParams ? query : {};
+ req.url = serverUtils.interpolateDynamicPath(req.url || '/', paramsToInterpolate);
+ parsedUrl.pathname = serverUtils.interpolateDynamicPath(parsedUrl.pathname || '/', paramsToInterpolate);
+ originalPathname = serverUtils.interpolateDynamicPath(originalPathname, paramsToInterpolate);
+ // try pulling from query if valid
+ if (!params) {
+ if (queryResult.hasValidParams) {
+ params = Object.assign({}, queryResult.params);
+ // If we pulled from query remove it so it's
+ // only in params
+ for(const key in serverUtils.defaultRouteMatches){
+ delete query[key];
+ }
+ } else {
+ // use final params from URL matching
+ const paramsMatch = serverUtils.dynamicRouteMatcher == null ? void 0 : serverUtils.dynamicRouteMatcher.call(serverUtils, (0, _normalizedatapath.normalizeDataPath)((localeResult == null ? void 0 : localeResult.pathname) || parsedUrl.pathname || '/'));
+ // we don't normalize these as they are allowed to be
+ // the literal slug matches here e.g. /blog/[slug]
+ // actually being requested
+ if (paramsMatch) {
+ params = Object.assign({}, paramsMatch);
+ }
+ }
+ }
+ }
+ // Remove any normalized params from the query if they
+ // weren't present as non-prefixed query key e.g.
+ // ?search=1&nxtPsearch=hello we don't delete search
+ for (const key of routeParamKeys){
+ if (!(key in originalQuery)) {
+ delete query[key];
+ }
+ }
+ const { isOnDemandRevalidate, revalidateOnlyGenerated } = (0, _apiutils.checkIsOnDemandRevalidate)(req, prerenderManifest.preview);
+ let isDraftMode = false;
+ let previewData;
+ // preview data relies on non-edge utils
+ if (process.env.NEXT_RUNTIME !== 'edge' && res) {
+ const { tryGetPreviewData } = require('../api-utils/node/try-get-preview-data');
+ previewData = tryGetPreviewData(req, res, prerenderManifest.preview, Boolean(multiZoneDraftMode));
+ isDraftMode = previewData !== false;
+ }
+ const routerServerContext = (_routerServerGlobal_RouterServerContextSymbol = _routerservercontext.routerServerGlobal[_routerservercontext.RouterServerContextSymbol]) == null ? void 0 : _routerServerGlobal_RouterServerContextSymbol[this.projectDir];
+ const nextConfig = (routerServerContext == null ? void 0 : routerServerContext.nextConfig) || serverFilesManifest.config;
+ const normalizedSrcPage = (0, _apppaths.normalizeAppPath)(srcPage);
+ let resolvedPathname = (0, _requestmeta.getRequestMeta)(req, 'rewroteURL') || normalizedSrcPage;
+ if ((0, _utils.isDynamicRoute)(resolvedPathname) && params) {
+ resolvedPathname = serverUtils.interpolateDynamicPath(resolvedPathname, params);
+ }
+ if (resolvedPathname === '/index') {
+ resolvedPathname = '/';
+ }
+ try {
+ resolvedPathname = (0, _decodepathparams.decodePathParams)(resolvedPathname);
+ } catch (_) {}
+ resolvedPathname = (0, _removetrailingslash.removeTrailingSlash)(resolvedPathname);
+ return {
+ query,
+ originalQuery,
+ originalPathname,
+ params,
+ parsedUrl,
+ locale,
+ isNextDataRequest,
+ locales: i18n == null ? void 0 : i18n.locales,
+ defaultLocale,
+ isDraftMode,
+ previewData,
+ pageIsDynamic,
+ resolvedPathname,
+ isOnDemandRevalidate,
+ revalidateOnlyGenerated,
+ ...manifests,
+ serverActionsManifest: manifests.serverActionsManifest,
+ clientReferenceManifest: manifests.clientReferenceManifest,
+ nextConfig,
+ routerServerContext
+ };
+ }
+ getResponseCache(req) {
+ if (!this.responseCache) {
+ const minimalMode = (0, _requestmeta.getRequestMeta)(req, 'minimalMode') ?? false;
+ this.responseCache = new _responsecache.default(minimalMode);
+ }
+ return this.responseCache;
+ }
+ async handleResponse({ req, nextConfig, cacheKey, routeKind, isFallback, prerenderManifest, isRoutePPREnabled, isOnDemandRevalidate, revalidateOnlyGenerated, responseGenerator, waitUntil }) {
+ const responseCache = this.getResponseCache(req);
+ const cacheEntry = await responseCache.get(cacheKey, responseGenerator, {
+ routeKind,
+ isFallback,
+ isRoutePPREnabled,
+ isOnDemandRevalidate,
+ isPrefetch: req.headers.purpose === 'prefetch',
+ incrementalCache: await this.getIncrementalCache(req, nextConfig, prerenderManifest),
+ waitUntil
+ });
+ if (!cacheEntry) {
+ if (cacheKey && // revalidate only generated can bail even if cacheKey is provided
+ !(isOnDemandRevalidate && revalidateOnlyGenerated)) {
+ // A cache entry might not be generated if a response is written
+ // in `getInitialProps` or `getServerSideProps`, but those shouldn't
+ // have a cache key. If we do have a cache key but we don't end up
+ // with a cache entry, then either Next.js or the application has a
+ // bug that needs fixing.
+ throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), "__NEXT_ERROR_CODE", {
+ value: "E62",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ return cacheEntry;
+ }
+}
+
+//# sourceMappingURL=route-module.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-payload.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-payload.js
new file mode 100644
index 0000000000000000000000000000000000000000..2289162743f4d54866f2efc8ac99be1082650a47
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-payload.js
@@ -0,0 +1,88 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ sendEtagResponse: null,
+ sendRenderResult: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ sendEtagResponse: function() {
+ return sendEtagResponse;
+ },
+ sendRenderResult: function() {
+ return sendRenderResult;
+ }
+});
+const _utils = require("../shared/lib/utils");
+const _etag = require("./lib/etag");
+const _fresh = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/fresh"));
+const _cachecontrol = require("./lib/cache-control");
+const _approuterheaders = require("../client/components/app-router-headers");
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+function sendEtagResponse(req, res, etag) {
+ if (etag) {
+ /**
+ * The server generating a 304 response MUST generate any of the
+ * following header fields that would have been sent in a 200 (OK)
+ * response to the same request: Cache-Control, Content-Location, Date,
+ * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1
+ */ res.setHeader('ETag', etag);
+ }
+ if ((0, _fresh.default)(req.headers, {
+ etag
+ })) {
+ res.statusCode = 304;
+ res.end();
+ return true;
+ }
+ return false;
+}
+async function sendRenderResult({ req, res, result, type, generateEtags, poweredByHeader, cacheControl }) {
+ if ((0, _utils.isResSent)(res)) {
+ return;
+ }
+ if (poweredByHeader && type === 'html') {
+ res.setHeader('X-Powered-By', 'Next.js');
+ }
+ // If cache control is already set on the response we don't
+ // override it to allow users to customize it via next.config
+ if (cacheControl && !res.getHeader('Cache-Control')) {
+ res.setHeader('Cache-Control', (0, _cachecontrol.getCacheControlHeader)(cacheControl));
+ }
+ const payload = result.isDynamic ? null : result.toUnchunkedString();
+ if (generateEtags && payload !== null) {
+ const etag = (0, _etag.generateETag)(payload);
+ if (sendEtagResponse(req, res, etag)) {
+ return;
+ }
+ }
+ if (!res.getHeader('Content-Type')) {
+ res.setHeader('Content-Type', result.contentType ? result.contentType : type === 'rsc' ? _approuterheaders.RSC_CONTENT_TYPE_HEADER : type === 'json' ? 'application/json' : 'text/html; charset=utf-8');
+ }
+ if (payload) {
+ res.setHeader('Content-Length', Buffer.byteLength(payload));
+ }
+ if (req.method === 'HEAD') {
+ res.end(null);
+ return;
+ }
+ if (payload !== null) {
+ res.end(payload);
+ return;
+ }
+ // Pipe the render result to the response after we get a writer for it.
+ await result.pipeToNodeResponse(res);
+}
+
+//# sourceMappingURL=send-payload.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-response.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-response.js
new file mode 100644
index 0000000000000000000000000000000000000000..ad737fa8220040b606263a126371741117224c41
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/send-response.js
@@ -0,0 +1,70 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "sendResponse", {
+ enumerable: true,
+ get: function() {
+ return sendResponse;
+ }
+});
+const _helpers = require("./base-http/helpers");
+const _pipereadable = require("./pipe-readable");
+const _utils = require("./web/utils");
+async function sendResponse(req, res, response, waitUntil) {
+ if (// The type check here ensures that `req` is correctly typed, and the
+ // environment variable check provides dead code elimination.
+ process.env.NEXT_RUNTIME !== 'edge' && (0, _helpers.isNodeNextResponse)(res)) {
+ var // Copy over the response headers.
+ _response_headers;
+ // Copy over the response status.
+ res.statusCode = response.status;
+ res.statusMessage = response.statusText;
+ // TODO: this is not spec-compliant behavior and we should not restrict
+ // headers that are allowed to appear many times.
+ //
+ // See:
+ // https://github.com/vercel/next.js/pull/70127
+ const headersWithMultipleValuesAllowed = [
+ // can add more headers to this list if needed
+ 'set-cookie',
+ 'www-authenticate',
+ 'proxy-authenticate',
+ 'vary'
+ ];
+ (_response_headers = response.headers) == null ? void 0 : _response_headers.forEach((value, name)=>{
+ // `x-middleware-set-cookie` is an internal header not needed for the response
+ if (name.toLowerCase() === 'x-middleware-set-cookie') {
+ return;
+ }
+ // The append handling is special cased for `set-cookie`.
+ if (name.toLowerCase() === 'set-cookie') {
+ // TODO: (wyattjoh) replace with native response iteration when we can upgrade undici
+ for (const cookie of (0, _utils.splitCookiesString)(value)){
+ res.appendHeader(name, cookie);
+ }
+ } else {
+ // only append the header if it is either not present in the outbound response
+ // or if the header supports multiple values
+ const isHeaderPresent = typeof res.getHeader(name) !== 'undefined';
+ if (headersWithMultipleValuesAllowed.includes(name.toLowerCase()) || !isHeaderPresent) {
+ res.appendHeader(name, value);
+ }
+ }
+ });
+ /**
+ * The response can't be directly piped to the underlying response. The
+ * following is duplicated from the edge runtime handler.
+ *
+ * See packages/next/server/next-server.ts
+ */ const { originalResponse } = res;
+ // A response body must not be sent for HEAD requests. See https://httpwg.org/specs/rfc9110.html#HEAD
+ if (response.body && req.method !== 'HEAD') {
+ await (0, _pipereadable.pipeToNodeResponse)(response.body, originalResponse, waitUntil);
+ } else {
+ originalResponse.end();
+ }
+ }
+}
+
+//# sourceMappingURL=send-response.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/serve-static.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/serve-static.js
new file mode 100644
index 0000000000000000000000000000000000000000..7c625bcd22fc7fe4b9e669a41e62939780ee6a60
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/serve-static.js
@@ -0,0 +1,60 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getContentType: null,
+ getExtension: null,
+ serveStatic: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getContentType: function() {
+ return getContentType;
+ },
+ getExtension: function() {
+ return getExtension;
+ },
+ serveStatic: function() {
+ return serveStatic;
+ }
+});
+const _send = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/send"));
+function _interop_require_default(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+// TODO: Remove this once "send" has updated the "mime", or next.js use custom version of "mime"
+// Although "mime" has already add avif in version 2.4.7, "send" is still using mime@1.6.0
+_send.default.mime.define({
+ 'image/avif': [
+ 'avif'
+ ],
+ 'image/x-icns': [
+ 'icns'
+ ]
+});
+function serveStatic(req, res, path, opts) {
+ return new Promise((resolve, reject)=>{
+ (0, _send.default)(req, path, opts).on('directory', ()=>{
+ // We don't allow directories to be read.
+ const err = Object.defineProperty(new Error('No directory access'), "__NEXT_ERROR_CODE", {
+ value: "E340",
+ enumerable: false,
+ configurable: true
+ });
+ err.code = 'ENOENT';
+ reject(err);
+ }).on('error', reject).pipe(res).on('finish', resolve);
+ });
+}
+const getContentType = 'getType' in _send.default.mime ? (extWithoutDot)=>_send.default.mime.getType(extWithoutDot) : (extWithoutDot)=>_send.default.mime.lookup(extWithoutDot);
+const getExtension = 'getExtension' in _send.default.mime ? (contentType)=>_send.default.mime.getExtension(contentType) : (contentType)=>_send.default.mime.extension(contentType);
+
+//# sourceMappingURL=serve-static.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-route-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-route-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..b1a2a2bd55e3d2092bdc86265b2ee2d2d4572e27
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-route-utils.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "stringifyQuery", {
+ enumerable: true,
+ get: function() {
+ return stringifyQuery;
+ }
+});
+const _requestmeta = require("./request-meta");
+const _querystring = require("querystring");
+const stringifyQuery = (req, query)=>{
+ const initialQuery = (0, _requestmeta.getRequestMeta)(req, 'initQuery') || {};
+ const initialQueryValues = Object.values(initialQuery);
+ return (0, _querystring.stringify)(query, undefined, undefined, {
+ encodeURIComponent (value) {
+ if (value in initialQuery || initialQueryValues.some((initialQueryVal)=>{
+ // `value` always refers to a query value, even if it's nested in an array
+ return Array.isArray(initialQueryVal) ? initialQueryVal.includes(value) : initialQueryVal === value;
+ })) {
+ // Encode keys and values from initial query
+ return encodeURIComponent(value);
+ }
+ return value;
+ }
+ });
+};
+
+//# sourceMappingURL=server-route-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-utils.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..e9749fa289648e0f969207987883d486df71acbe
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/server-utils.js
@@ -0,0 +1,351 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ getPreviouslyRevalidatedTags: null,
+ getServerUtils: null,
+ interpolateDynamicPath: null,
+ normalizeCdnUrl: null,
+ normalizeDynamicRouteParams: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ getPreviouslyRevalidatedTags: function() {
+ return getPreviouslyRevalidatedTags;
+ },
+ getServerUtils: function() {
+ return getServerUtils;
+ },
+ interpolateDynamicPath: function() {
+ return interpolateDynamicPath;
+ },
+ normalizeCdnUrl: function() {
+ return normalizeCdnUrl;
+ },
+ normalizeDynamicRouteParams: function() {
+ return normalizeDynamicRouteParams;
+ }
+});
+const _normalizelocalepath = require("../shared/lib/i18n/normalize-locale-path");
+const _pathmatch = require("../shared/lib/router/utils/path-match");
+const _routeregex = require("../shared/lib/router/utils/route-regex");
+const _routematcher = require("../shared/lib/router/utils/route-matcher");
+const _preparedestination = require("../shared/lib/router/utils/prepare-destination");
+const _removetrailingslash = require("../shared/lib/router/utils/remove-trailing-slash");
+const _apppaths = require("../shared/lib/router/utils/app-paths");
+const _constants = require("../lib/constants");
+const _utils = require("./web/utils");
+const _decodequerypathparameter = require("./lib/decode-query-path-parameter");
+const _url = require("../lib/url");
+const _formaturl = require("../shared/lib/router/utils/format-url");
+const _parseandvalidateflightrouterstate = require("./app-render/parse-and-validate-flight-router-state");
+const _generateinterceptionroutesrewrites = require("../lib/generate-interception-routes-rewrites");
+const _approuterheaders = require("../client/components/app-router-headers");
+const _computechangedpath = require("../client/components/router-reducer/compute-changed-path");
+function filterInternalQuery(query, paramKeys) {
+ // this is used to pass query information in rewrites
+ // but should not be exposed in final query
+ delete query['nextInternalLocale'];
+ for(const key in query){
+ const isNextQueryPrefix = key !== _constants.NEXT_QUERY_PARAM_PREFIX && key.startsWith(_constants.NEXT_QUERY_PARAM_PREFIX);
+ const isNextInterceptionMarkerPrefix = key !== _constants.NEXT_INTERCEPTION_MARKER_PREFIX && key.startsWith(_constants.NEXT_INTERCEPTION_MARKER_PREFIX);
+ if (isNextQueryPrefix || isNextInterceptionMarkerPrefix || paramKeys.includes(key)) {
+ delete query[key];
+ }
+ }
+}
+function normalizeCdnUrl(req, paramKeys) {
+ // make sure to normalize req.url from CDNs to strip dynamic and rewrite
+ // params from the query which are added during routing
+ const _parsedUrl = (0, _url.parseReqUrl)(req.url);
+ // we can't normalize if we can't parse
+ if (!_parsedUrl) {
+ return req.url;
+ }
+ delete _parsedUrl.search;
+ filterInternalQuery(_parsedUrl.query, paramKeys);
+ req.url = (0, _formaturl.formatUrl)(_parsedUrl);
+}
+function interpolateDynamicPath(pathname, params, defaultRouteRegex) {
+ if (!defaultRouteRegex) return pathname;
+ for (const param of Object.keys(defaultRouteRegex.groups)){
+ const { optional, repeat } = defaultRouteRegex.groups[param];
+ let builtParam = `[${repeat ? '...' : ''}${param}]`;
+ if (optional) {
+ builtParam = `[${builtParam}]`;
+ }
+ let paramValue;
+ const value = params[param];
+ if (Array.isArray(value)) {
+ paramValue = value.map((v)=>v && encodeURIComponent(v)).join('/');
+ } else if (value) {
+ paramValue = encodeURIComponent(value);
+ } else {
+ paramValue = '';
+ }
+ if (paramValue || optional) {
+ pathname = pathname.replaceAll(builtParam, paramValue);
+ }
+ }
+ return pathname;
+}
+function normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatches, ignoreMissingOptional) {
+ let hasValidParams = true;
+ let params = {};
+ for (const key of Object.keys(defaultRouteRegex.groups)){
+ let value = query[key];
+ if (typeof value === 'string') {
+ value = (0, _apppaths.normalizeRscURL)(value);
+ } else if (Array.isArray(value)) {
+ value = value.map(_apppaths.normalizeRscURL);
+ }
+ // if the value matches the default value we can't rely
+ // on the parsed params, this is used to signal if we need
+ // to parse x-now-route-matches or not
+ const defaultValue = defaultRouteMatches[key];
+ const isOptional = defaultRouteRegex.groups[key].optional;
+ const isDefaultValue = Array.isArray(defaultValue) ? defaultValue.some((defaultVal)=>{
+ return Array.isArray(value) ? value.some((val)=>val.includes(defaultVal)) : value == null ? void 0 : value.includes(defaultVal);
+ }) : value == null ? void 0 : value.includes(defaultValue);
+ if (isDefaultValue || typeof value === 'undefined' && !(isOptional && ignoreMissingOptional)) {
+ return {
+ params: {},
+ hasValidParams: false
+ };
+ }
+ // non-provided optional values should be undefined so normalize
+ // them to undefined
+ if (isOptional && (!value || Array.isArray(value) && value.length === 1 && // fallback optional catch-all SSG pages have
+ // [[...paramName]] for the root path on Vercel
+ (value[0] === 'index' || value[0] === `[[...${key}]]`))) {
+ value = undefined;
+ delete query[key];
+ }
+ // query values from the proxy aren't already split into arrays
+ // so make sure to normalize catch-all values
+ if (value && typeof value === 'string' && defaultRouteRegex.groups[key].repeat) {
+ value = value.split('/');
+ }
+ if (value) {
+ params[key] = value;
+ }
+ }
+ return {
+ params,
+ hasValidParams
+ };
+}
+function getServerUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive }) {
+ let defaultRouteRegex;
+ let dynamicRouteMatcher;
+ let defaultRouteMatches;
+ if (pageIsDynamic) {
+ defaultRouteRegex = (0, _routeregex.getNamedRouteRegex)(page, {
+ prefixRouteKeys: false
+ });
+ dynamicRouteMatcher = (0, _routematcher.getRouteMatcher)(defaultRouteRegex);
+ defaultRouteMatches = dynamicRouteMatcher(page);
+ }
+ function handleRewrites(req, parsedUrl) {
+ const rewriteParams = {};
+ let fsPathname = parsedUrl.pathname;
+ const matchesPage = ()=>{
+ const fsPathnameNoSlash = (0, _removetrailingslash.removeTrailingSlash)(fsPathname || '');
+ return fsPathnameNoSlash === (0, _removetrailingslash.removeTrailingSlash)(page) || (dynamicRouteMatcher == null ? void 0 : dynamicRouteMatcher(fsPathnameNoSlash));
+ };
+ const checkRewrite = (rewrite)=>{
+ const matcher = (0, _pathmatch.getPathMatch)(rewrite.source + (trailingSlash ? '(/)?' : ''), {
+ removeUnnamedParams: true,
+ strict: true,
+ sensitive: !!caseSensitive
+ });
+ if (!parsedUrl.pathname) return false;
+ let params = matcher(parsedUrl.pathname);
+ if ((rewrite.has || rewrite.missing) && params) {
+ const hasParams = (0, _preparedestination.matchHas)(req, parsedUrl.query, rewrite.has, rewrite.missing);
+ if (hasParams) {
+ Object.assign(params, hasParams);
+ } else {
+ params = false;
+ }
+ }
+ if (params) {
+ try {
+ // An interception rewrite might reference a dynamic param for a route the user
+ // is currently on, which wouldn't be extractable from the matched route params.
+ // This attempts to extract the dynamic params from the provided router state.
+ if ((0, _generateinterceptionroutesrewrites.isInterceptionRouteRewrite)(rewrite)) {
+ const stateHeader = req.headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER.toLowerCase()];
+ if (stateHeader) {
+ params = {
+ ...(0, _computechangedpath.getSelectedParams)((0, _parseandvalidateflightrouterstate.parseAndValidateFlightRouterState)(stateHeader)),
+ ...params
+ };
+ }
+ }
+ } catch (err) {
+ // this is a no-op -- we couldn't extract dynamic params from the provided router state,
+ // so we'll just use the params from the route matcher
+ }
+ const { parsedDestination, destQuery } = (0, _preparedestination.prepareDestination)({
+ appendParamsToQuery: true,
+ destination: rewrite.destination,
+ params: params,
+ query: parsedUrl.query
+ });
+ // if the rewrite destination is external break rewrite chain
+ if (parsedDestination.protocol) {
+ return true;
+ }
+ Object.assign(rewriteParams, destQuery, params);
+ Object.assign(parsedUrl.query, parsedDestination.query);
+ delete parsedDestination.query;
+ // for each property in parsedUrl.query, if the value is parametrized (eg :foo), look up the value
+ // in rewriteParams and replace the parametrized value with the actual value
+ // this is used when the rewrite destination does not contain the original source param
+ // and so the value is still parametrized and needs to be replaced with the actual rewrite param
+ Object.entries(parsedUrl.query).forEach(([key, value])=>{
+ if (value && typeof value === 'string' && value.startsWith(':')) {
+ const paramName = value.slice(1);
+ const actualValue = rewriteParams[paramName];
+ if (actualValue) {
+ parsedUrl.query[key] = actualValue;
+ }
+ }
+ });
+ Object.assign(parsedUrl, parsedDestination);
+ fsPathname = parsedUrl.pathname;
+ if (!fsPathname) return false;
+ if (basePath) {
+ fsPathname = fsPathname.replace(new RegExp(`^${basePath}`), '') || '/';
+ }
+ if (i18n) {
+ const result = (0, _normalizelocalepath.normalizeLocalePath)(fsPathname, i18n.locales);
+ fsPathname = result.pathname;
+ parsedUrl.query.nextInternalLocale = result.detectedLocale || params.nextInternalLocale;
+ }
+ if (fsPathname === page) {
+ return true;
+ }
+ if (pageIsDynamic && dynamicRouteMatcher) {
+ const dynamicParams = dynamicRouteMatcher(fsPathname);
+ if (dynamicParams) {
+ parsedUrl.query = {
+ ...parsedUrl.query,
+ ...dynamicParams
+ };
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+ for (const rewrite of rewrites.beforeFiles || []){
+ checkRewrite(rewrite);
+ }
+ if (fsPathname !== page) {
+ let finished = false;
+ for (const rewrite of rewrites.afterFiles || []){
+ finished = checkRewrite(rewrite);
+ if (finished) break;
+ }
+ if (!finished && !matchesPage()) {
+ for (const rewrite of rewrites.fallback || []){
+ finished = checkRewrite(rewrite);
+ if (finished) break;
+ }
+ }
+ }
+ return rewriteParams;
+ }
+ function getParamsFromRouteMatches(routeMatchesHeader) {
+ // If we don't have a default route regex, we can't get params from route
+ // matches
+ if (!defaultRouteRegex) return null;
+ const { groups, routeKeys } = defaultRouteRegex;
+ const matcher = (0, _routematcher.getRouteMatcher)({
+ re: {
+ // Simulate a RegExp match from the \`req.url\` input
+ exec: (str)=>{
+ // Normalize all the prefixed query params.
+ const obj = Object.fromEntries(new URLSearchParams(str));
+ for (const [key, value] of Object.entries(obj)){
+ const normalizedKey = (0, _utils.normalizeNextQueryParam)(key);
+ if (!normalizedKey) continue;
+ obj[normalizedKey] = value;
+ delete obj[key];
+ }
+ // Use all the named route keys.
+ const result = {};
+ for (const keyName of Object.keys(routeKeys)){
+ const paramName = routeKeys[keyName];
+ // If this param name is not a valid parameter name, then skip it.
+ if (!paramName) continue;
+ const group = groups[paramName];
+ const value = obj[keyName];
+ // When we're missing a required param, we can't match the route.
+ if (!group.optional && !value) return null;
+ result[group.pos] = value;
+ }
+ return result;
+ }
+ },
+ groups
+ });
+ const routeMatches = matcher(routeMatchesHeader);
+ if (!routeMatches) return null;
+ return routeMatches;
+ }
+ function normalizeQueryParams(query, routeParamKeys) {
+ // this is used to pass query information in rewrites
+ // but should not be exposed in final query
+ delete query['nextInternalLocale'];
+ for (const [key, value] of Object.entries(query)){
+ const normalizedKey = (0, _utils.normalizeNextQueryParam)(key);
+ if (!normalizedKey) continue;
+ // Remove the prefixed key from the query params because we want
+ // to consume it for the dynamic route matcher.
+ delete query[key];
+ routeParamKeys.add(normalizedKey);
+ if (typeof value === 'undefined') continue;
+ query[normalizedKey] = Array.isArray(value) ? value.map((v)=>(0, _decodequerypathparameter.decodeQueryPathParameter)(v)) : (0, _decodequerypathparameter.decodeQueryPathParameter)(value);
+ }
+ }
+ return {
+ handleRewrites,
+ defaultRouteRegex,
+ dynamicRouteMatcher,
+ defaultRouteMatches,
+ normalizeQueryParams,
+ getParamsFromRouteMatches,
+ /**
+ * Normalize dynamic route params.
+ *
+ * @param query - The query params to normalize.
+ * @param ignoreMissingOptional - Whether to ignore missing optional params.
+ * @returns The normalized params and whether they are valid.
+ */ normalizeDynamicRouteParams: (query, ignoreMissingOptional)=>{
+ if (!defaultRouteRegex || !defaultRouteMatches) {
+ return {
+ params: {},
+ hasValidParams: false
+ };
+ }
+ return normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatches, ignoreMissingOptional);
+ },
+ normalizeCdnUrl: (req, paramKeys)=>normalizeCdnUrl(req, paramKeys),
+ interpolateDynamicPath: (pathname, params)=>interpolateDynamicPath(pathname, params, defaultRouteRegex),
+ filterInternalQuery: (query, paramKeys)=>filterInternalQuery(query, paramKeys)
+ };
+}
+function getPreviouslyRevalidatedTags(headers, previewModeId) {
+ return typeof headers[_constants.NEXT_CACHE_REVALIDATED_TAGS_HEADER] === 'string' && headers[_constants.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER] === previewModeId ? headers[_constants.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(',') : [];
+}
+
+//# sourceMappingURL=server-utils.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/setup-http-agent-env.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/setup-http-agent-env.js
new file mode 100644
index 0000000000000000000000000000000000000000..d8bd8a60f0fb075a3965217c2d5f17e1e8dbe4c9
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/setup-http-agent-env.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "setHttpClientAndAgentOptions", {
+ enumerable: true,
+ get: function() {
+ return setHttpClientAndAgentOptions;
+ }
+});
+const _http = require("http");
+const _https = require("https");
+function setHttpClientAndAgentOptions(config) {
+ if (globalThis.__NEXT_HTTP_AGENT) {
+ // We only need to assign once because we want
+ // to reuse the same agent for all requests.
+ return;
+ }
+ if (!config) {
+ throw Object.defineProperty(new Error('Expected config.httpAgentOptions to be an object'), "__NEXT_ERROR_CODE", {
+ value: "E204",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ globalThis.__NEXT_HTTP_AGENT_OPTIONS = config.httpAgentOptions;
+ globalThis.__NEXT_HTTP_AGENT = new _http.Agent(config.httpAgentOptions);
+ globalThis.__NEXT_HTTPS_AGENT = new _https.Agent(config.httpAgentOptions);
+}
+
+//# sourceMappingURL=setup-http-agent-env.js.map
\ No newline at end of file
diff --git a/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/stream-utils/encoded-tags.js b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/stream-utils/encoded-tags.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce88293529e7157991154e5fb4b91d5955d9cfc4
--- /dev/null
+++ b/.next/standalone/node_modules/.pnpm/next@15.4.3_@opentelemetry+api@1.9.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/server/stream-utils/encoded-tags.js
@@ -0,0 +1,114 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "ENCODED_TAGS", {
+ enumerable: true,
+ get: function() {
+ return ENCODED_TAGS;
+ }
+});
+const ENCODED_TAGS = {
+ // opening tags do not have the closing `>` since they can contain other attributes such as ``
+ OPENING: {
+ //
+ HEAD: new Uint8Array([
+ 60,
+ 47,
+ 104,
+ 101,
+ 97,
+ 100,
+ 62
+ ]),
+ //
+ BODY: new Uint8Array([
+ 60,
+ 47,
+ 98,
+ 111,
+ 100,
+ 121,
+ 62
+ ]),
+ //
+ HTML: new Uint8Array([
+ 60,
+ 47,
+ 104,
+ 116,
+ 109,
+ 108,
+ 62
+ ]),
+ //