Convert
One target per run, separate from decompress + review. -2 is --to. The result line states what happened to the outlines.
fontcatalyst convert -2 woff2 fonts/
fontcatalyst convert -2 woff fonts/
fontcatalyst convert -2 otf Family.ttf
-2 / --to | Result |
|---|---|
woff | Lossless zlib wrap. Outlines and hints stay. A variable font adds a note that WOFF2 is the usual container. |
woff2 | Lossless Brotli wrap. Outlines and hints stay. |
otf | TrueType outlines refit as CFF. TrueType instructions are dropped. |
WOFF and WOFF2
The container changes. The SFNT inside does not. A webfont is unwrapped first, then wrapped in the target flavor.
A file that is already the requested flavor is skipped, not reported as an error. head.modified stays the time stored in the source. head.checkSumAdjustment is recalculated because the file bytes changed. WOFF2 may set head flag bit 11 to record its glyf/loca transform, and it drops an empty DSIG stub.
TTF to OTF
The [otf] install runs two further steps. skia-pathops removes overlapping contours before the refit, so a CFF rasterizer does not knock a crossing out. An implied on-curve point left by that step is made explicit before the cubic refit. cffsubr then shares repeated pieces of the CFF, which makes the file smaller and does not change the picture. If either step is missing or fails, that step is undone and the conversion still writes the font. The result line says what was skipped. head.modified stays the time stored in the source.
An existing CFF font is left alone and reported as skipped: it is already an OTF, so no conversion is necessary. Variable TTF to variable OTF is refused. OTF to TTF is refused.
Folder flags
-c, -ct, and -o place that one target the same way as on the default command. A run does not emit a set of formats into labeled distribution folders.