Summary
cozette.bdf was deliberately removed from the core's bundled fonts, but eight plugins still list it as a selectable value in their config_schema.json font dropdowns — 38 enum entries in total. Choosing it can only ever fail.
The core says so itself, in src/font_manager.py:101-102:
# To re-enable: download cozette.bdf from https://github.com/the-moonwitch/Cozette
# and add: "cozette_bdf": "assets/fonts/cozette.bdf"
Still advertising it (versions as installed)
| plugin |
version |
enum entries |
| afl-scoreboard |
1.22.1 |
6 |
| basketball-scoreboard |
1.29.1 |
6 |
| football-scoreboard |
3.4.1 |
6 |
| nrl-scoreboard |
1.21.1 |
6 |
| soccer-scoreboard |
2.24.1 |
6 |
| ledmatrix-music |
1.4.0 |
3 |
| odds-ticker |
1.3.3 |
3 |
| calendar |
1.2.4 |
2 |
Fields are the customization.*_text.font group — score_text, period_text, team_name, status_text, detail_text, rank_text for the sports plugins.
Several plugins have already dropped it in newer releases (clock-simple, jellyfin-now-playing, ledmatrix-stocks, mqtt-notifications, news no longer carry it as installed here), so this looks like a partially-completed cleanup rather than a fresh regression.
Confirmation
The file is nowhere on the rig:
$ ls ~/LEDMatrix/assets/fonts/ | grep -ci cozette
0
$ find ~/LEDMatrix -iname "*cozette*"
(nothing)
Selecting it in calendar:
cd ~/LEDMatrix
python3 scripts/check_plugin.py -p calendar -d ~/LEDMatrix/plugin-repos --golden-dir /tmp/nogolden \
-c '{"customization":{"datetime_text":{"font":"cozette.bdf"},"title_text":{"font":"cozette.bdf"}}}'
Font file not found for datetime: /home/hdpi/LEDMatrix/assets/fonts/cozette.bdf
Font file not found for title: /home/hdpi/LEDMatrix/assets/fonts/cozette.bdf
The render still [PASS]es at all 8 sizes because the plugin falls back to the default font — so from the web UI the setting appears to save successfully and simply has no effect.
Suggested fix
Drop cozette.bdf from the eight remaining schemas, finishing the cleanup the other plugins already had.
If it's wanted back, the core comment names the source — but the schemas shouldn't offer it until the core actually ships it.
A registry-time check would prevent the whole class: for every enum value in a plugin schema that looks like a font filename, assert the file exists in the core's assets/fonts/ or in the plugin's own directory. That's how I found this — the same audit turned up nothing else outside the BDF-loading problem filed separately.
Related
The .bdf options that do exist are also broken in some plugins, for an unrelated reason — see the BDF loading issue.
Environment
256x64 rig, LEDMatrix v3.3.0-4-g0730d952, 49 plugins installed.
Summary
cozette.bdfwas deliberately removed from the core's bundled fonts, but eight plugins still list it as a selectable value in theirconfig_schema.jsonfont dropdowns — 38 enum entries in total. Choosing it can only ever fail.The core says so itself, in
src/font_manager.py:101-102:Still advertising it (versions as installed)
Fields are the
customization.*_text.fontgroup —score_text,period_text,team_name,status_text,detail_text,rank_textfor the sports plugins.Several plugins have already dropped it in newer releases (
clock-simple,jellyfin-now-playing,ledmatrix-stocks,mqtt-notifications,newsno longer carry it as installed here), so this looks like a partially-completed cleanup rather than a fresh regression.Confirmation
The file is nowhere on the rig:
Selecting it in
calendar:The render still
[PASS]es at all 8 sizes because the plugin falls back to the default font — so from the web UI the setting appears to save successfully and simply has no effect.Suggested fix
Drop
cozette.bdffrom the eight remaining schemas, finishing the cleanup the other plugins already had.If it's wanted back, the core comment names the source — but the schemas shouldn't offer it until the core actually ships it.
A registry-time check would prevent the whole class: for every
enumvalue in a plugin schema that looks like a font filename, assert the file exists in the core'sassets/fonts/or in the plugin's own directory. That's how I found this — the same audit turned up nothing else outside the BDF-loading problem filed separately.Related
The
.bdfoptions that do exist are also broken in some plugins, for an unrelated reason — see the BDF loading issue.Environment
256x64 rig, LEDMatrix
v3.3.0-4-g0730d952, 49 plugins installed.