This repository was initially created from the Altinn-DIN git repo using this process:
git clone https://github.com/Altinn/altinn-din
mkdir ufo
cd src
for font in *.sfd; do fontforge -c 'open(argv[1]).generate(argv[2])' "$font" ../ufo/`basename "$font" .sfd`.ufo; done
A workflow was set up in the form of a naive Makefile (in particular, it
does not contain full dependencies, so running make
without a preceding
make clean
does not guarantee that all changes are reflected in the
generated fonts). This workflow requires these tools (in parentheses the
versions used for the 2.007 release). Of note: ufo2ft must be at least
version 2.24.0 to support the "meta" font table added to 2.007.
- FontForge (20190801)
- fontbakery (0.8.0)
- gftools (0.7.1)
- fontmake (2.4.1)
- ufo2ft (2.24.0)
- psfnormalize (1.5.1.dev0)
- ttfautohint (1.8.3)
We performed many manual touchups on the sources, including:
- adding missing glyphs
- re-ordering all outlines that did not start with a drawing operator; now FontForge and TruFont properly show the outlines
- assigning proper names to a number of glyphs
- making many minor corrections to the font tables and adding missing entries
- renaming the family to DINish
- splitting the sources into three families: DINish, DINish condensed and DINish expanded
- making the naming consistent within the families
- correcting PANOSE entries
- Renamed the font again, this time to Dinish, to avoid opening a can of worms involving CamelCase. But remember, the correct pronunciation is still "DINish"!
There are a few warnings flagged by fontbakery that we chose not to address. In particular:
com.google.fonts/check/outline_alignment_miss
: we tracked down a bunch of them, and the ones we analyzed in depth were all false positives.com.google.fonts/check/outline_short_segments
: These are valid concerns, but at under 24KB for the full .otf, and under 11K for a .woff, the benefits of replacing a handful of splines, each with one short straight segment, with a redrawn spline that obviates the straight line just isn't worth it.com.google.fonts/check/kerning_for_non_ligated_sequences
: fontbakery seems to complain about non-existing ligatures.
- After editing the UFO with a tool, such as trufont, normalize the font and undo undesired automatic changes:
make psfnormalize revert_auto_changes
Always review changes with git diff
to try to catch unintended changes.
Prior to release, sort the fonts from the Trufont Font->Sort menu, then:
make psfnormalize revert_auto_changes clean docs all fontbakery
Review the fontbakery reports for regressions.
To release:
- Make sure fontbakery gives a clean bill of health
- Update FONTLOG.txt and README.md
- Make sure
git status
shows no modified files and no unknown files - tag the tree with
git tag --annotate v2.006 -m 'DINish v2.006: Add DINish Condensed Italic'
(do not use-f
) - rebuild with
make psfnormalize revert_auto_changes clean all docs fontbakery
, commit generated files to git. - Re-tag the tree with the above
git tag
command, this time add-f
- Push the changes up to github with
git push && git push --tags
- Create a new release on Github. Attach the four zips from the
zips/
directory.