• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface
  • Assigned To No-one
  • Operating System All players
  • Severity High
  • Priority Medium
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by jdgordon - 2011-10-17
Last edited by kugel. - 2011-10-29

FS#12337 - r30773 breaks all skin fonts

Adding line height to viewports breaks all skin fonts because their viewports are initialised and the font changed later.

The attached screenshot shows the problem nicely. the only change to cabbiev2.wps there is attached as a diff

Closed by  kugel.
2011-10-29 15:16
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407


this is f course what it is supposed to look like

If I comment two lines in firmware/drivers/lcd_bitmap_common.c my WPS seems to be drawn as intended.

yeah, but that is equivilant to reverting the commit…

This still seems to be happening with r30800. Attached are screendumps showing good and bad wps.

This is much worse than a wps problem.

The attached screendumps are from e200 sim. The procedure to reproduce is:

1. Start sim (fresh install)
2. Go to Settings→Theme Settings→Font and select a different font.

The screendumps show a switch from 12-Adobe-Helvetica.fnt to 19-Nimbus.fnt and, after restart, a switch from 19-Nimbus.fnt to 12-Adobe-Helvetica.fnt

The line height is not adjusted to match the font. Reloading the theme or restarting the device will correct the line height.

r30826 fixes the problem with switching fonts, but the problem in my previous comment still exists.

If it makes a difference, the font used in that them is the sysfont (font 0). When I switch to the menu screen, The sbs displays the artist and song title, also in sysfont, and it also displays the same symptom.

Michael: Try this.

Should be fixed in SVN.

EDIT: I mean the font switching issue, I havent looked at the other sbs one yet.

Here's an updated version to fix the WPS issue. It uses font_get_ui() to determine FONT_UI instead of global_status.font_id[] and updates the viewport height in skin_render_viewport()


The latest patch corrects the wps/sbs issue I was having

The list logic depends on skinlist_is_configured() which is always false for every theme I throw at it. The above patch has a problem for viewports on touchscreens because there is no functioning logic to determine which lists to pad.

Fred: can you come on irc some time? (or did you see my email to the dev ml regarding your last commit?)

For the sbs/wps issue:

I think a similar fix as r30786 should be applied to the SYSFONT case (skin_parser.c:1656 and following). I don't think rendering needs to be touched.

This patch should fix the remaining wps/sbs issue. Try it, I'll play with another idea in the meantime.


Thanks, wps/sbs look good with this patch


Available keyboard shortcuts


Task Details

Task Editing