Skip to content

cozette.bdf is still offered in 8 plugins' font dropdowns but was removed from the core's bundled fonts #460

Description

@ChuckBuilds

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions