Skip to content

Nickez/bb02 lvgl font#1973

Closed
NickeZ wants to merge 6 commits into
BitBoxSwiss:masterfrom
NickeZ:nickez/bb02-lvgl-font
Closed

Nickez/bb02 lvgl font#1973
NickeZ wants to merge 6 commits into
BitBoxSwiss:masterfrom
NickeZ:nickez/bb02-lvgl-font

Conversation

@NickeZ

@NickeZ NickeZ commented May 13, 2026

Copy link
Copy Markdown
Collaborator

It should look exactly the same, I even applied our manual fixes to the 9px Arial. You can test unicode characters in message signing. For example, try signing Zürich.

I propose that we fix the truncation issues by migrating the label component to rust: #1974

The new font format is more efficient, so the Bootloader is about 700B smaller with the same character set. Firmware size is increased by 7kB

@NickeZ NickeZ requested a review from benma May 13, 2026 21:41
@NickeZ NickeZ force-pushed the nickez/bb02-lvgl-font branch 5 times, most recently from eab5042 to 14012c5 Compare May 19, 2026 11:30
@NickeZ NickeZ force-pushed the nickez/bb02-lvgl-font branch from c2699d6 to 637e61b Compare May 21, 2026 08:15
@NickeZ NickeZ force-pushed the nickez/bb02-lvgl-font branch 3 times, most recently from 2c5be2d to 0a206bb Compare June 8, 2026 22:18
NickeZ added 3 commits June 9, 2026 00:46
Add a local ttf2lvgl converter that emits the LVGL fmt_txt font subset used by the BB02 OLED UI.

Document the new workflow and remove the old ttf2ugui submodule now that generated fonts no longer use the uGUI format.
Check in the generated Arial, Monogram, and password font data in LVGL fmt_txt form.

Add the local LVGL include shim used by these generated font sources.
@NickeZ NickeZ force-pushed the nickez/bb02-lvgl-font branch from 0a206bb to 8059edb Compare June 8, 2026 22:48
NickeZ added 3 commits June 9, 2026 01:06
Switch the BB02 OLED UI from the old uGUI font structs to LVGL font objects and local fmt_txt callbacks.

Wire the new font names through C, CMake, Rust bindings, and tests, and remove the superseded uGUI font sources.
Show valid UTF-8 messages directly when every character is supported by the default BB02 font, falling back to hex otherwise.

Truncate long displayable pages on UTF-8 boundaries so label bodies stay within the existing C label buffer limit.
Link the BB02 bootloaders against generated font subsets instead of the full firmware LVGL font data.

The Arial subset is sliced from the checked-in arial_9.c data so the existing hand-edited glyph data is preserved for the ASCII range used by the bootloader.
@NickeZ NickeZ force-pushed the nickez/bb02-lvgl-font branch from 8059edb to 14b9265 Compare June 8, 2026 23:06
@NickeZ NickeZ requested a review from cedwies June 9, 2026 12:00
@NickeZ

NickeZ commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator Author

Updates to the container are necessary, reopning from another branch

@NickeZ NickeZ closed this Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant