Skip to content

Latest commit

 

History

History
87 lines (74 loc) · 3.61 KB

NOTES.md

File metadata and controls

87 lines (74 loc) · 3.61 KB

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"!
  • Renamed the font back to DINish after all. Turns out that fonts that are younger than DIN got accepted to Google Fonts anyway with runs of capitals in the name.

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.

Workflow notes

  • 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:

  • clean with make psfnormalize revert_auto_changes, review and commit any changes to git.
  • 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 docker compose build && docker compose up
  • in the build tree, nuke the automatic changes: git checkout sources
  • commit generated files to git from the build directory: git commit docs fonts ofl -m 'Generated files for v2.006'
  • 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.