| 66 | ); |
| 67 | |
| 68 | const subset = (source: string, output: string): Promise<void> => |
| 69 | run( |
| 70 | [ |
| 71 | "uv", |
| 72 | "run", |
| 73 | "--quiet", |
| 74 | "--with", |
| 75 | "fonttools[woff]", |
| 76 | "--with", |
| 77 | "brotli", |
| 78 | "pyftsubset", |
| 79 | path.join(workDir, "package/dist/fonts", source), |
| 80 | "--flavor=woff2", |
| 81 | "--layout-features=kern,liga,calt,tnum", |
| 82 | `--unicodes=${UNICODES}`, |
| 83 | `--output-file=${path.join(fontsDir, output)}`, |
| 84 | ], |
| 85 | workDir, |
| 86 | ); |
| 87 | |
| 88 | await subset("geist-sans/Geist-Variable.woff2", "geist-sans.woff2"); |
| 89 | await subset("geist-mono/GeistMono-Variable.woff2", "geist-mono.woff2"); |