How a new version of D2Coding is published. tools/release.py does the mechanical steps;
the steps that need judgment stay manual.
Put the four new TTFs into fonts/ttf/ under the existing names:
D2Coding-Regular.ttf D2Coding-Bold.ttf
D2Codingligature-Regular.ttf D2Codingligature-Bold.ttf
pip install fonttools brotli uharfbuzz
python3 tools/release.py X.Y.ZThe script, in order:
- prints the version records inside the four binaries, so you can confirm they match
X.Y.Zbefore anything is published - bumps the version in
README.md(download link),site/index.html(download button, hero note) andsite/app.js(sample header, report template) - opens a dated
## X.Y.Zsection at the top ofCHANGELOG.mdwith a TODO body - regenerates
site/data.jsand the WOFF2 web fonts from the new binaries - builds
dist/D2Coding-VerX.Y.Z-YYYYMMDD.zipin the same layout as previous releases:D2Coding/,D2CodingLigature/andD2CodingAll/, with the TTCs assembled from the four TTFs, plusOFL.txt
--date YYYYMMDD uses a date other than today; --skip-site and --skip-dist leave
those steps out.
Replace the TODO in CHANGELOG.md: plain sentences, and link the issues that were fixed.
- The "Character coverage" numbers in
README.md, if glyphs were added or removed. The new counts are at the top of the regeneratedsite/data.js. - The captures in
site/(preview.png,alignment.png,distinction.png,smooth.png) and the social cardog.png, if letterforms changed. Regeneration commands are insite/README.md; remember the?v=bump whenog.pngchanges.
Commit and push to master, then wait for the Deploy specimen page workflow. On
https://naver.github.io/d2-coding-font/ the hero stats and the ligature list come
straight from the regenerated data.js, so wrong numbers there mean step 2 was skipped.
git tag VERX.Y.Z
git push origin VERX.Y.Z
gh release create VERX.Y.Z dist/D2Coding-VerX.Y.Z-YYYYMMDD.zip \
--title "D2Coding Ver X.Y.Z" --notes-file notes.mdBase the release notes on the CHANGELOG entry, and keep the reminder to uninstall any previously installed version before installing the new one.