Awesome
Source Sans Pro
Source Sans Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments.
Getting involved
Open an issue or send a suggestion to Source Sans' designer Paul D. Hunt, for consideration.
Releases
Building the fonts from source
Requirements
To build the binary font files from source, you need to have installed the Adobe Font Development Kit for OpenType (AFDKO).
Building one font
The key to building the OTF fonts is makeotf
, which is part of the AFDKO toolset.
Information and usage instructions can be found by executing makeotf -h
. The TTFs
are generated with the otf2ttf
and ttfcomponentizer
tools.
Commands to build the Regular style OTF font:
$ cd Upright/Instances/Regular/
$ makeotf -r -gs -omitMacNames
Commands to generate the Regular style TTF font:
$ otf2ttf SourceSansPro-Regular.otf
$ ttfcomponentizer SourceSansPro-Regular.ttf
Building all non-variable fonts
For convenience, a shell script named build.sh is provided in the root directory. It builds all OTFs and TTFs, and can be executed by typing:
$ ./build.sh
or this on Windows:
> build.cmd
Building the variable fonts
To build the variable TTFs you must install fontmake using this command:
$ pip install fontmake
A shell script named buildVFs.sh is provided in the root directory. It generates four variable fonts (two CFF2-OTFs and two TTFs), and can be executed by typing:
$ ./buildVFs.sh
Building with make
If you want to build directly from poles instead of the instances stored in the repository, or to avoid building all files repetitively, run:
$ make
and it will get everything up to date. To generate only the font.ufo instances from the poles, run:
$ make instances
Note: because font.ufo instances are stored in the repository, you may have to delete them first from your working tree before building from poles; see below.
To clean up makeotf
's defaults and other log files, run:
$ make clean
or to remove all build artefacts, including target font binaries:
$ make cleanall
Because font.ufo instances are committed into the repository, they are not
removed on make clean
. If that is necessary, run:
$ make cleaninstances