Sources for the Lato font family

Lato is a sanserif typeface family designed in the Summer 2010 and extended in the Summer 2013 by Warsaw-based designer Lukasz Dziedzic (“Lato” means “Summer” in Polish). It tries to carefully balance some potentially conflicting priorities: it should seem quite “transparent” when used in body text but would display some original traits when used in larger sizes. The classical proportions, particularly visible in the uppercase, give the letterforms familiar harmony and elegance. At the same time, its sleek sanserif look makes evident the fact that Lato was designed in the 2010s, even though it does not follow any current trend. The semi-rounded details of the letters give Lato a feeling of warmth, while the strong structure provides stability and seriousness. In 2013-2014, the family was greatly extended (with the help of Adam Twardoch and Botio Nikoltchev) to cover 3000+ glyphs over nine weights with italics. It now supports 100+ Latin-based languages, 50+ Cyrillic-based languages as well as Greek and IPA phonetics. The Lato fonts are available free of charge under the SIL Open Font License from


To contact the Lato team, create a Github account and open a Github issue on this repository.


  1. Download or clone this repo
  2. Download and install most recent FontLab 7
  3. Install Python 3
  4. Run:
python3 -m pip install --user --upgrade git+[interpolatable,lxml,plot,symfont,type1,ufo,unicode,woff] git+ afdko psautohint
  1. Go to the tools folder
  2. Run FontLab 7
  3. In FontLab 7, open the 01_export_fontlab_lato.vfpy script. Wait until it exports the fonts as DesignSpace + UFO and quits
  4. In Terminal, go to the tools folder and run:

Technical details

Selective building

With python3 -h you can check additional build options. For example, python3 ttf will only build static TTFs.

Mark attachment

In this version, dynamic mark attachment (mark and mkmk is limited to combining marks, and to Latin and Cyrillic base glyphs that don’t have precomposed marks). In FontLab, in Glyph panel, OT Glyph Definition Class for those base glyphs is set to Simple, which translates to the otsimp virtual tag. The marks are set as Mark, which translates to the otmark virtual tag. The FEA code has a portion between #> vtags and #< vtags which includes the virtual tags as FEA classes. Then the portion:

table GDEF {
    GlyphClassDef @otsimp, @otliga, @otmark, [];

ensures that fontmake only builds anchor-based mark attachment (mark and mkmk for the @otsimp base glyphs and @otmark marks).


Version 3.100.dev2 (2020-08-16)

Version 3.002.dev1 (2019-10-14)

Version 3.001.dev0 (2018-09-28)

Version 2.015 (2015-08-06)

Version 2.015 (2015-08-06)

Version 2.010 (2014-09-01)

Version 2.007 (2014-02-27)

Version 1.104 (2011-11-08)

Version 1.102 (2011-10-28)

Version 1.101 (2011-09-30)

Version 1.100 (2011-09-12)

Version 1.011 (2010-12-29)

Version 1.010 (2010-12-13)