Vai al contenuto

Convertitore di formati di font

Font Converter

Converte TTF e OTF in WOFF e viceversa dentro il browser e scrive la regola @font-face che serve; il WOFF2 richiede Brotli, non lo fa e ti indirizza a un programma da scrivania.

Converte fra i formati sfnt e il WOFF 1.0 nelle due direzioni, ricavando dal file trascinato quale strada prendere. Entrambe le direzioni sono senza perdite: il WOFF è un contenitore, quindi impacchettare e spacchettare restituisce le stesse tabelle, con `head.checkSumAdjustment` ricalcolato perché il risultato sia valido. Il WOFF2 viene rifiutato, e la pagina spiega perché invece di fallire in silenzio.

🔒 Funziona interamente nel tuo browserfontconvertwoff2webfont

TTF · OTF → WOFF, oppure WOFF → TTF · OTF

Trascina un file e la direzione la trova da sé. Tutto avviene in questa scheda.

Cosa funziona e cosa no

  • · TTF e OTF ⇄ WOFF 1.0: zlib tabella per tabella, con un’intestazione e un indice di 44 byte, come dice la specifica WOFF (W3C, 2012). A comprimere è il CompressionStream('deflate') del browser, e in apertura l’sfnt viene rimontato con i checksum originali perché head.checkSumAdjustment torni giusto. Entrambe le direzioni sono senza perdita.
  • · WOFF2 non si può né costruire né aprire. Serve Brotli, e la piattaforma web non espone Brotli a una pagina. Se ti serve davvero il WOFF2, usa uno strumento da scrivania: di solito è un altro 20–30% più piccolo del WOFF.
  • · TTF ⇄ OTF (CFF), cioè cambiare il formato dei contorni, è un ridisegno e non una conversione, quindi non viene offerto. Un .otf che dentro è TrueType e inganna solo nell’estensione viene trattato normalmente.
  • · La licenza di un font (OS/2 fsType) non cambia con la conversione. Controlla le condizioni di distribuzione prima di metterlo su un server.

Per il peso, ridurre un font ai caratteri usati batte di gran lunga il cambio di formato: taglia oltre il 90% di un font hangul quando lo si porta al set di 2.350 sillabe.

Come si usa

  1. Trascinare un file solo

    Un TTF o un OTF viene impacchettato in WOFF; un WOFF viene spacchettato di nuovo in TTF o in OTF a seconda dei contorni che contiene. Non c’è un interruttore per la direzione perché la firma nei primi quattro byte dice già da che parte andare.

  2. Controllare le dimensioni prima e dopo

    Passare a WOFF toglie di norma il 40–50%, ed è zlib tabella per tabella e niente di più astuto. Se il peso non si muove quasi, il font è probabilmente già fatto di dati compressi: per esempio un font CFF con molte charstring impacchettate.

  3. Prendere il file e l’@font-face

    La dichiarazione presuppone che il file stia accanto al foglio di stile, e i valori di peso e corsivo sono letti dalle tabelle OS/2 e post del font invece di essere indovinati dal nome del file.

Domande frequenti

Perché non fa il WOFF2?

Il WOFF2 è compresso con Brotli e per giunta riordina e trasforma le tabelle dei glifi. La piattaforma web dà a una pagina `CompressionStream` con deflate e gzip soltanto: Brotli non c’è, quindi nessuna delle due direzioni è possibile in un browser. Su un computer lo fanno fonttools (`pyftsubset --flavor=woff2`) o `woff2_compress`, per all’incirca un altro 20–30% rispetto al WOFF.

Può trasformare un TTF in un vero OTF?

No, e non può farlo nulla di onesto. Il TrueType usa curve quadratiche e il CFF cubiche; passare dalle une alle altre è un riadattamento delle curve con una tolleranza, che modifica i contorni: è ridisegnare il font, non convertirlo. Quello che questo strumento gestisce è il caso comune di un `.otf` che dentro ha contorni TrueType, dove è solo l’estensione a trarre in inganno.

Il WOFF serve ancora, o il TTF va bene?

Un TTF servito con gzip o brotli dal server arriva vicino al WOFF, quindi il formato conta meno di un tempo. Il WOFF vale comunque la pena: comprime anche quando il server non lo fa, e ogni browser che conti lo supporta da dieci anni. Il guadagno di gran lunga maggiore è il subsetting, non il contenitore.

La conversione cambia quello che la licenza consente?

No. Il fsType di OS/2 e tutti i record dei nomi passano immutati, il che significa che un font che non si può incorporare resta un font che non si può incorporare anche dopo essere diventato un WOFF. Le condizioni di distribuzione vanno controllate prima di metterlo su un server; l’ispettore mostra quei record.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.