Currently all modification dates in the fonts are a few seconds different from each other, due to the time spent actually creating the font. This makes reproducing the released font files a bit more difficult because there are different timestamps to reproduce.
To avoid this issue, now that make-font.py supports
SOURCE_DATE_EPOCH, let's fix the modification time for all fonts
at once.
Should be fixed with fbb8d54e
I had some time to take a closer look and simplify things.
make-font.py was only reading the time to generate a UniqueID in the font table.
However, the standards to not require any specific ID format.
So I just removed the whole timestamp business altogether.
The release date is now stored directly in the Makefile, along with the version. You can still override it with SOURCE_DATE_EPOCH.
I went ahead and pushed a new release, see if that works for you.
sev (132db6e2) at 03 Mar 14:02
Remove Reserved Font Name and update documentation
sev (132db6e2) at 03 Mar 14:02
Remove Reserved Font Name and update documentation
... and 3 more commits
I can just remove the RFN.
I have set up the toolchain for a minor release, but the current FontForge/fonttools introduce some changes that I need to review first. (woff kern classes, locl feature, some contour mismatches)
See comment in !2 (closed)
Should I build the release with a specific timestamp? I could just use the same date as in the FONTLOG, e.g.
SOURCE_DATE_EPOCH=$(date --utc --date="2026-03-02" +%s)
This is unreliable, because Make only builds what is necessary. When a change affects only some of the fonts, they get re-built with a timestamp that differs from the unaffected fonts.
For a release/reproduction, you can already set a global timestamp thanks to !1 (merged):
SOURCE_DATE_EPOCH=? make --always-make all
Is that not sufficient?
Seems reasonable, thanks!
Currently Xolonium cannot be built in a bit-for-bit reproducible way because it embeds the current timestamp into the generated files. The Reproducible Builds projects suggests using the value of the environment variable SOURCE_DATE_EPOCH if it is available. This small patch (currently used by the Debian package fonts-xolonium) implements such logic in make-fonts.py.
I made the Nexuiz / Luminos icons from scratch taking screenshots from the items in game.
Well done. I think that's exactly how I made the old ones. Good to know that GIMP still supports the scripts after so many years.
sev (7c54ef9a) at 05 Nov 17:33
Luminos is older than a decade and superseded by Luma. I don't think it is worth the effort to maintain it, and I would prefer it be removed from master. Though that probably won't happen.
I don't know if the included GIMP scripts still work. Alternatively, the following should add a similar white outline to a 256x256 image. Other sizes may need adjustments to the dilate and blur radius.
magick "source.tga" -auto-orient \( +clone \
-channel a -morphology dilate octagon:6 -blur 0x6 \
-channel rgb -fill white -colorize 100 \) \
-channel a -morphology erode octagon:1 -blur 0x1 \
-channel rgba -compose DstOver -composite "target.tga"
The rendering result should be mostly identical again to the tga files in the data master.
sev (7c54ef9a) at 05 Nov 13:48
Render Luma crosshairs with Inkscape to avoid rsvg inconsistencies
sev (23f0be82) at 04 Nov 17:01
I searched for <filter|color-interpolation-filters to find them all
Note that some (old) svg files are formatted with newlines between attributes.