Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting TTF to WOFF

I have been trying to convert TTF to WOFF using various command line and online tools. I have tried following :

Command line :

  • sfntwoff : https://people-mozilla.org/~jkew/woff/
  • ttf2woff : http://wizard.ae.krakow.pl/~jb/ttf2woff/
  • ruby gem : https://coderwall.com/p/kyc8lw/convert-fonts-from-the-command-line

Online :

  • font squirrel : https://www.fontsquirrel.com/tools/webfont-generator
  • transfonter : http://transfonter.org/

I have ttf file of size ~220KB. All these tools generate woff file of size around 100KB except for font-squirrel which generates a size optimized file of ~20KB.

I am curious as to what font-squirrel does which no other command-line (read open source) tool is able to do. And if possible how can I do the same via command-line, even if it involves writing or hacking some code.

like image 760
Umang Gupta Avatar asked Dec 20 '16 01:12

Umang Gupta


2 Answers

Simply doing WOFF compression should yield very similar file sizes, regardless of tool used.

I expect Font Squirrel is doing more to account for that extra 80kB savings, like stripping hints, dropping OpenType features like small caps, or subsetting to support only western languages.

You could use TTX/FontTools to inspect the files before and after conversion, and see what's changed.

like image 59
RoelN Avatar answered Sep 30 '22 09:09

RoelN


I'm using Jonathan Kew's sfnt2woff program and am amazed to see how small the .woff files are.

I couldn't believe that compression is lossless. Thus I tried:

sfnt2woff CharisSIL-R.ttf
woff2sfnt CharisSIL-R.woff > CharisSIL-R_converted.ttf 
cmp CharisSIL-R.ttf CharisSIL-R_converted.ttf
echo $?

according to cmp(1) there is no difference between the font converted to woff and back to ttf and the original ttf file.

like image 31
Reinhard Kotucha Avatar answered Sep 30 '22 10:09

Reinhard Kotucha