Initial commit
This commit is contained in:
20
node_modules/@capsizecss/unpack/dist/fs.d.mts
generated
vendored
Normal file
20
node_modules/@capsizecss/unpack/dist/fs.d.mts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { n as Options } from "./shared-CnZ3qQtb.mjs";
|
||||
|
||||
//#region src/fs.d.ts
|
||||
declare const fromFile: (path: string, options?: Options) => Promise<{
|
||||
familyName: string;
|
||||
fullName: string;
|
||||
postscriptName: string;
|
||||
capHeight: number;
|
||||
ascent: number;
|
||||
descent: number;
|
||||
lineGap: number;
|
||||
unitsPerEm: number;
|
||||
xHeight: number;
|
||||
xWidthAvg: number;
|
||||
subsets: Record<"latin" | "thai", {
|
||||
xWidthAvg: number;
|
||||
}>;
|
||||
}>;
|
||||
//#endregion
|
||||
export { fromFile };
|
||||
10
node_modules/@capsizecss/unpack/dist/fs.mjs
generated
vendored
Normal file
10
node_modules/@capsizecss/unpack/dist/fs.mjs
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { t as _fromBuffer } from "./shared-KjM_oZR2.mjs";
|
||||
import { readFile } from "node:fs/promises";
|
||||
|
||||
//#region src/fs.ts
|
||||
const fromFile = async (path, options) => {
|
||||
return _fromBuffer(await readFile(path), "fromFile", "path", options);
|
||||
};
|
||||
|
||||
//#endregion
|
||||
export { fromFile };
|
||||
2
node_modules/@capsizecss/unpack/dist/index.d.mts
generated
vendored
Normal file
2
node_modules/@capsizecss/unpack/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { a as fromBuffer, i as fromBlob, o as fromUrl, r as SupportedSubsets, s as supportedSubsets, t as Font } from "./shared-CnZ3qQtb.mjs";
|
||||
export { type Font, type SupportedSubsets, fromBlob, fromBuffer, fromUrl, supportedSubsets };
|
||||
3
node_modules/@capsizecss/unpack/dist/index.mjs
generated
vendored
Normal file
3
node_modules/@capsizecss/unpack/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import { a as supportedSubsets, i as fromUrl, n as fromBlob, r as fromBuffer } from "./shared-KjM_oZR2.mjs";
|
||||
|
||||
export { fromBlob, fromBuffer, fromUrl, supportedSubsets };
|
||||
214
node_modules/@capsizecss/unpack/dist/shared-CnZ3qQtb.d.mts
generated
vendored
Normal file
214
node_modules/@capsizecss/unpack/dist/shared-CnZ3qQtb.d.mts
generated
vendored
Normal file
@@ -0,0 +1,214 @@
|
||||
import { Font } from "fontkitten";
|
||||
|
||||
//#region src/weightings.d.ts
|
||||
declare const _default: {
|
||||
latin: {
|
||||
"0": number;
|
||||
"1": number;
|
||||
"2": number;
|
||||
"3": number;
|
||||
"4": number;
|
||||
"5": number;
|
||||
"6": number;
|
||||
"7": number;
|
||||
"8": number;
|
||||
"9": number;
|
||||
",": number;
|
||||
" ": number;
|
||||
t: number;
|
||||
h: number;
|
||||
e: number;
|
||||
o: number;
|
||||
f: number;
|
||||
P: number;
|
||||
p: number;
|
||||
l: number;
|
||||
"'": number;
|
||||
s: number;
|
||||
R: number;
|
||||
u: number;
|
||||
b: number;
|
||||
i: number;
|
||||
c: number;
|
||||
C: number;
|
||||
n: number;
|
||||
a: number;
|
||||
d: number;
|
||||
y: number;
|
||||
w: number;
|
||||
B: number;
|
||||
r: number;
|
||||
z: number;
|
||||
G: number;
|
||||
j: number;
|
||||
T: number;
|
||||
".": number;
|
||||
L: number;
|
||||
k: number;
|
||||
m: number;
|
||||
"]": number;
|
||||
J: number;
|
||||
F: number;
|
||||
v: number;
|
||||
g: number;
|
||||
A: number;
|
||||
N: number;
|
||||
"-": number;
|
||||
H: number;
|
||||
D: number;
|
||||
M: number;
|
||||
I: number;
|
||||
E: number;
|
||||
"\"": number;
|
||||
S: number;
|
||||
"(": number;
|
||||
")": number;
|
||||
x: number;
|
||||
W: number;
|
||||
Q: number;
|
||||
Y: number;
|
||||
q: number;
|
||||
V: number;
|
||||
á: number;
|
||||
K: number;
|
||||
U: number;
|
||||
"=": number;
|
||||
"[": number;
|
||||
O: number;
|
||||
é: number;
|
||||
$: number;
|
||||
":": number;
|
||||
"|": number;
|
||||
"/": number;
|
||||
"%": number;
|
||||
Z: number;
|
||||
";": number;
|
||||
X: number;
|
||||
};
|
||||
thai: {
|
||||
ส: number;
|
||||
ว: number;
|
||||
น: number;
|
||||
บ: number;
|
||||
จ: number;
|
||||
า: number;
|
||||
ก: number;
|
||||
เ: number;
|
||||
ร: number;
|
||||
ม: number;
|
||||
ค: number;
|
||||
ำ: number;
|
||||
ข: number;
|
||||
อ: number;
|
||||
ป: number;
|
||||
ด: number;
|
||||
ใ: number;
|
||||
ภ: number;
|
||||
ท: number;
|
||||
พ: number;
|
||||
ฤ: number;
|
||||
ษ: number;
|
||||
ศ: number;
|
||||
ะ: number;
|
||||
ช: number;
|
||||
แ: number;
|
||||
ล: number;
|
||||
ง: number;
|
||||
ย: number;
|
||||
ห: number;
|
||||
ฝ: number;
|
||||
ต: number;
|
||||
โ: number;
|
||||
ญ: number;
|
||||
ณ: number;
|
||||
ผ: number;
|
||||
ไ: number;
|
||||
ฯ: number;
|
||||
ฟ: number;
|
||||
ธ: number;
|
||||
ถ: number;
|
||||
ฐ: number;
|
||||
ซ: number;
|
||||
ฉ: number;
|
||||
ฑ: number;
|
||||
ฆ: number;
|
||||
ฬ: number;
|
||||
ฏ: number;
|
||||
ฎ: number;
|
||||
ฒ: number;
|
||||
ๆ: number;
|
||||
ฮ: number;
|
||||
"\u0E52": number;
|
||||
"\u0E55": number;
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
//#region src/shared.d.ts
|
||||
type SupportedSubsets = keyof typeof _default;
|
||||
declare const supportedSubsets: SupportedSubsets[];
|
||||
declare const unpackMetricsFromFont: (font: Font) => {
|
||||
familyName: string;
|
||||
fullName: string;
|
||||
postscriptName: string;
|
||||
capHeight: number;
|
||||
ascent: number;
|
||||
descent: number;
|
||||
lineGap: number;
|
||||
unitsPerEm: number;
|
||||
xHeight: number;
|
||||
xWidthAvg: number;
|
||||
subsets: Record<"latin" | "thai", {
|
||||
xWidthAvg: number;
|
||||
}>;
|
||||
};
|
||||
type Font$1 = ReturnType<typeof unpackMetricsFromFont>;
|
||||
interface Options {
|
||||
postscriptName?: string;
|
||||
}
|
||||
declare const fromBuffer: (buffer: Buffer, options?: Options) => Promise<{
|
||||
familyName: string;
|
||||
fullName: string;
|
||||
postscriptName: string;
|
||||
capHeight: number;
|
||||
ascent: number;
|
||||
descent: number;
|
||||
lineGap: number;
|
||||
unitsPerEm: number;
|
||||
xHeight: number;
|
||||
xWidthAvg: number;
|
||||
subsets: Record<"latin" | "thai", {
|
||||
xWidthAvg: number;
|
||||
}>;
|
||||
}>;
|
||||
declare const fromBlob: (blob: Blob, options?: Options) => Promise<{
|
||||
familyName: string;
|
||||
fullName: string;
|
||||
postscriptName: string;
|
||||
capHeight: number;
|
||||
ascent: number;
|
||||
descent: number;
|
||||
lineGap: number;
|
||||
unitsPerEm: number;
|
||||
xHeight: number;
|
||||
xWidthAvg: number;
|
||||
subsets: Record<"latin" | "thai", {
|
||||
xWidthAvg: number;
|
||||
}>;
|
||||
}>;
|
||||
declare const fromUrl: (url: string, options?: Options) => Promise<{
|
||||
familyName: string;
|
||||
fullName: string;
|
||||
postscriptName: string;
|
||||
capHeight: number;
|
||||
ascent: number;
|
||||
descent: number;
|
||||
lineGap: number;
|
||||
unitsPerEm: number;
|
||||
xHeight: number;
|
||||
xWidthAvg: number;
|
||||
subsets: Record<"latin" | "thai", {
|
||||
xWidthAvg: number;
|
||||
}>;
|
||||
}>;
|
||||
//#endregion
|
||||
export { fromBuffer as a, fromBlob as i, Options as n, fromUrl as o, SupportedSubsets as r, supportedSubsets as s, Font$1 as t };
|
||||
238
node_modules/@capsizecss/unpack/dist/shared-KjM_oZR2.mjs
generated
vendored
Normal file
238
node_modules/@capsizecss/unpack/dist/shared-KjM_oZR2.mjs
generated
vendored
Normal file
@@ -0,0 +1,238 @@
|
||||
import { create } from "fontkitten";
|
||||
|
||||
//#region src/weightings.ts
|
||||
var weightings_default = {
|
||||
"latin": {
|
||||
"0": .0053,
|
||||
"1": .0023,
|
||||
"2": .0026,
|
||||
"3": .001,
|
||||
"4": 8e-4,
|
||||
"5": .0015,
|
||||
"6": 7e-4,
|
||||
"7": 5e-4,
|
||||
"8": 7e-4,
|
||||
"9": 6e-4,
|
||||
",": .0083,
|
||||
" ": .154,
|
||||
"t": .0672,
|
||||
"h": .0351,
|
||||
"e": .0922,
|
||||
"o": .0571,
|
||||
"f": .017,
|
||||
"P": .0023,
|
||||
"p": .0163,
|
||||
"l": .0304,
|
||||
"'": .0014,
|
||||
"s": .0469,
|
||||
"R": .0015,
|
||||
"u": .0207,
|
||||
"b": .0114,
|
||||
"i": .0588,
|
||||
"c": .0232,
|
||||
"C": .0031,
|
||||
"n": .0578,
|
||||
"a": .0668,
|
||||
"d": .0298,
|
||||
"y": .0123,
|
||||
"w": .011,
|
||||
"B": .002,
|
||||
"r": .0526,
|
||||
"z": .0011,
|
||||
"G": .0011,
|
||||
"j": 9e-4,
|
||||
"T": .0041,
|
||||
".": .0079,
|
||||
"L": .0012,
|
||||
"k": .0046,
|
||||
"m": .0181,
|
||||
"]": 7e-4,
|
||||
"J": 9e-4,
|
||||
"F": .0015,
|
||||
"v": .0076,
|
||||
"g": .0155,
|
||||
"A": .004,
|
||||
"N": .0014,
|
||||
"-": .0018,
|
||||
"H": .0013,
|
||||
"D": .0013,
|
||||
"M": .0025,
|
||||
"I": .0022,
|
||||
"E": .0011,
|
||||
"\"": .0012,
|
||||
"S": .0041,
|
||||
"(": .001,
|
||||
")": .001,
|
||||
"x": .0025,
|
||||
"W": .0012,
|
||||
"Q": 1e-4,
|
||||
"Y": 3e-4,
|
||||
"q": 8e-4,
|
||||
"V": 5e-4,
|
||||
"á": 1e-4,
|
||||
"K": 7e-4,
|
||||
"U": .0016,
|
||||
"=": 7e-4,
|
||||
"[": .0021,
|
||||
"O": 9e-4,
|
||||
"é": 1e-4,
|
||||
"$": 2e-4,
|
||||
":": 8e-4,
|
||||
"|": .0038,
|
||||
"/": 1e-4,
|
||||
"%": 1e-4,
|
||||
"Z": 2e-4,
|
||||
";": 1e-4,
|
||||
"X": 1e-4
|
||||
},
|
||||
"thai": {
|
||||
"ส": .0258,
|
||||
"ว": .0372,
|
||||
"น": .0711,
|
||||
"บ": .0258,
|
||||
"จ": .0169,
|
||||
"า": .1024,
|
||||
"ก": .0552,
|
||||
"เ": .0419,
|
||||
"ร": .0873,
|
||||
"ม": .0416,
|
||||
"ค": .0214,
|
||||
"ำ": .0097,
|
||||
"ข": .0127,
|
||||
"อ": .0459,
|
||||
"ป": .0204,
|
||||
"ด": .0271,
|
||||
"ใ": .0109,
|
||||
"ภ": .0046,
|
||||
"ท": .0311,
|
||||
"พ": .0175,
|
||||
"ฤ": 9e-4,
|
||||
"ษ": .0042,
|
||||
"ศ": .0063,
|
||||
"ะ": .0255,
|
||||
"ช": .0158,
|
||||
"แ": .0158,
|
||||
"ล": .0339,
|
||||
"ง": .0433,
|
||||
"ย": .0345,
|
||||
"ห": .0197,
|
||||
"ฝ": 6e-4,
|
||||
"ต": .0239,
|
||||
"โ": .0077,
|
||||
"ญ": .0039,
|
||||
"ณ": .0071,
|
||||
"ผ": .0077,
|
||||
"ไ": .0111,
|
||||
"ฯ": 7e-4,
|
||||
"ฟ": .0044,
|
||||
"ธ": .0068,
|
||||
"ถ": .0061,
|
||||
"ฐ": .0033,
|
||||
"ซ": .0046,
|
||||
"ฉ": .0023,
|
||||
"ฑ": 4e-4,
|
||||
"ฆ": 2e-4,
|
||||
"ฬ": 3e-4,
|
||||
"ฏ": 2e-4,
|
||||
"ฎ": 3e-4,
|
||||
"ฒ": .0012,
|
||||
"ๆ": 3e-4,
|
||||
"ฮ": 4e-4,
|
||||
"๒": 1e-4,
|
||||
"๕": 1e-4
|
||||
}
|
||||
};
|
||||
|
||||
//#endregion
|
||||
//#region src/shared.ts
|
||||
const supportedSubsets = Object.keys(weightings_default);
|
||||
const weightingForCharacter = (character, subset) => {
|
||||
if (!Object.keys(weightings_default[subset]).includes(character)) throw new Error(`No weighting specified for character: “${character}”`);
|
||||
return weightings_default[subset][character];
|
||||
};
|
||||
const avgWidthForSubset = (font, subset) => {
|
||||
const sampleString = Object.keys(weightings_default[subset]).join("");
|
||||
const weightedWidth = font.glyphsForString(sampleString).reduce((sum, glyph, index) => {
|
||||
const character = sampleString.charAt(index);
|
||||
let charWidth = font["OS/2"].xAvgCharWidth;
|
||||
try {
|
||||
charWidth = glyph.advanceWidth;
|
||||
} catch (e) {
|
||||
console.warn(`Couldn’t read 'advanceWidth' for character “${character === " " ? "<space>" : character}” from “${font.familyName}”. Falling back to “xAvgCharWidth”.`);
|
||||
}
|
||||
if (glyph.isMark) return sum;
|
||||
return sum + charWidth * weightingForCharacter(character, subset);
|
||||
}, 0);
|
||||
return Math.round(weightedWidth);
|
||||
};
|
||||
const unpackMetricsFromFont = (font) => {
|
||||
const { capHeight, ascent, descent, lineGap, unitsPerEm, familyName, fullName, postscriptName, xHeight } = font;
|
||||
const subsets = supportedSubsets.reduce((acc, subset) => ({
|
||||
...acc,
|
||||
[subset]: { xWidthAvg: avgWidthForSubset(font, subset) }
|
||||
}), {});
|
||||
return {
|
||||
familyName,
|
||||
fullName,
|
||||
postscriptName,
|
||||
capHeight,
|
||||
ascent,
|
||||
descent,
|
||||
lineGap,
|
||||
unitsPerEm,
|
||||
xHeight,
|
||||
xWidthAvg: subsets.latin.xWidthAvg,
|
||||
subsets
|
||||
};
|
||||
};
|
||||
function handleCollectionErrors(font, { postscriptName, apiName, apiParamName }) {
|
||||
if (postscriptName && font === null) throw new Error([
|
||||
`The provided \`postscriptName\` of “${postscriptName}” cannot be found in the provided font collection.\n`,
|
||||
"Run the same command without specifying a `postscriptName` in the options to see the available names in the collection.",
|
||||
"For example:",
|
||||
"------------------------------------------",
|
||||
`const metrics = await ${apiName}('<${apiParamName}>');`,
|
||||
"------------------------------------------\n",
|
||||
""
|
||||
].join("\n"));
|
||||
if (font !== null && font.isCollection) {
|
||||
const availableNames = font.fonts.map((f) => f.postscriptName);
|
||||
throw new Error([
|
||||
"Metrics cannot be unpacked from a font collection.\n",
|
||||
"Provide either a single font or specify a `postscriptName` to extract from the collection via the options.",
|
||||
"For example:",
|
||||
"------------------------------------------",
|
||||
`const metrics = await ${apiName}('<${apiParamName}>', {`,
|
||||
` postscriptName: '${availableNames[0]}'`,
|
||||
"});",
|
||||
"------------------------------------------\n",
|
||||
"Available `postscriptNames` in this font collection are:",
|
||||
...availableNames.map((fontName) => ` - ${fontName}`),
|
||||
""
|
||||
].join("\n"));
|
||||
}
|
||||
}
|
||||
const _fromBuffer = async (buffer, apiName, apiParamName, options) => {
|
||||
const { postscriptName } = options || {};
|
||||
const fontkitFont = create(buffer instanceof Buffer ? buffer : Buffer.from(buffer), postscriptName);
|
||||
handleCollectionErrors(fontkitFont, {
|
||||
postscriptName,
|
||||
apiName,
|
||||
apiParamName
|
||||
});
|
||||
return unpackMetricsFromFont(fontkitFont);
|
||||
};
|
||||
const fromBuffer = async (buffer, options) => {
|
||||
return _fromBuffer(buffer, "fromBuffer", "buffer", options);
|
||||
};
|
||||
const fromBlob = async (blob, options) => {
|
||||
const arrayBuffer = await blob.arrayBuffer();
|
||||
return _fromBuffer(new Uint8Array(arrayBuffer), "fromBlob", "blob", options);
|
||||
};
|
||||
const fromUrl = async (url, options) => {
|
||||
const arrayBuffer = await (await fetch(url)).arrayBuffer();
|
||||
return _fromBuffer(new Uint8Array(arrayBuffer), "fromUrl", "url", options);
|
||||
};
|
||||
|
||||
//#endregion
|
||||
export { supportedSubsets as a, fromUrl as i, fromBlob as n, fromBuffer as r, _fromBuffer as t };
|
||||
Reference in New Issue
Block a user