Font Squirrel CLI
Latest commit dd4877f Jan 3, 2016 @petethepig Merge pull request #4 from johnnyshields/patch-1
Windows support: logger should use STDOUT

Marmot — Unofficial Font Squirrel Webfont Generator Client

Marmot automates font-face generation, making it easier and faster:

marmot Averia-Regular.ttf         # ls .   =>

Marmot supports Font Squirrel configuration files:

marmot  -c generator-config.txt  font.otf

It is especially useful when it comes to your own icon fonts:

marmot  -c config.txt  my-icon-font.otf

Great, how do I install Marmot?

Marmot is a ruby gem:

gem install marmot

Okay, how do I configure it?

Font Squirrel Webfont Generator has a lot of options and by default Marmot will use default ones.

Every Font Squirrel webfont kit comes with a text file called generator_config.txt. Marmot can read it:

marmot  -c generator-config.txt  font.otf

Since the config is actually just a JSON file, you can write your own configs. I use this one for my icons:

  "formats":["ttf", "woff", "svg"],

You can do the same thing from the command line:

marmot  --no-add-hyphens  --formats=ttf,woff  font.otf

Here is a full list of options:

                         --mode <s>
                      --formats <s> 
                --tt-instructor <s> 
                     --fallback <s>
              --fallback-custom <i>
               --options-subset <s>
                 --subset-range <s>
                --subset-custom <s>
          --subset-custom-range <s>
               --css-stylesheet <s>
                  --ot-features <s>
              --filename-suffix <s>
                     --emsquare <i>
           --spacing-adjustment <i>

Oh, this is great, but what is "tt-instuctor" or "subset-custom"?

Some option names can be confusing. Go to generator's page and run this in the console:

  $("input[value='expert'], input[value='advanced']").click();
  $("table input").each(function(){
    $(this).after($("<div style='color:red;'>"+$(this).attr("name")+" : "+$(this).attr("value")+"</div>"));


What else?

Since Marmot is a ruby gem, you can use it in your ruby projects:

require 'marmot'

client =
client.convert"font.ttf"), { 
  formats: ["ttf", "woff"] 

I found a lousy bug, what do I do?

Marmot is only a couple days old, so this can happen. Please, report on the Issues page.

Or contact me on Twitter alpha