Rockbox mail archive
Subject: Re: [PATCH] loadable fonts finally fixed
From: Greg Haerr (greg_at_censoft.com)
: -- with the large fonts menus need to scroll too (the large fonts look
: GREAT by the way)
Yes. The current text display API isn't very helpful to
automate this stuff. I suggest that the lcd_puts and/or
lcd_putsxy automatically set up a string for scrolling
if/when the string is wider than the display width. In this
way, the applications programmers don't need to special-case
everything like the current code is written.
If someone decides to do this, I suggest we move to a new,
fnt_puts (or tputs) API, for a couple of reasons. First, the font
code isn't really lcd driver code. The other reason
is that lcd_puts doesn't take a 'font' argument and lcd_putsxy
does... It's goofy.
: -- all the space icons have dots. (I assume to give them width, but
: this is kind of annoying
I don't know what you mean here.. There shouldn't be
any dots added by my font code.
: -- the game still use the built in fonts. The debug screen and others
: should use these fonts too (maybe the menus?)
This is likely that they need to execute an lcd_setfont(FONT_UI),
which will cause lcd_puts to use the loaded font. The
default is FONT_SYSFIXED, which is the compiled-in font.
The required fix here is that each application that takes over
the screen needs to call a single lcd_setfont (should be renamed
fnt_setfont) that sets the font for all lcd_puts and lcd_putsxy
: -- the built in font is quite ugly (we all know this)
Yes, X5x8 has to go. Anybody have a 8 pixel high font
in bdf format? Where did the original one come from??
: -- on larger fonts, scrolling does not work in the directory browser
: for items that are not "long enough"
Yes, the tree and menu code needs to slightly rethink the
fact that now any height font may be loaded.
: -- nice idea! what about a font browser selection menu (now we have
: .eq , .wps , and .fnt files (make it so my nearly blind granpappy can
: see the fonts without having to load a new font on the computer)
My current font loader will only allow a single font to be
loaded, but this will be rectified when I add a font_free() routine,
which I'll add to my list. Of course, there's nothing wrong
with loading multiple fonts sometime... (the only potential issue
here is we have no malloc() so we're using a fixed-size
static buffer for all font loads... I removed the multiple-font
load capability in the last debug session; I'll put it back)
: -- quick screens (Fx/ON + buttons) are impossible to read with large
: fonts (use the built in font here)
Another idea here might be to allow two fonts to be loaded
(for language reasons): one regular-sized and one large...
This needs more thinking in the font browser selection menu.
(which of course should show the font before allowing the user
to select it)
: -- wormlet menu screen loos improper with large fonts
lcd_setfont will fix this
: that is all for now. keep up the incredible work.
Thanks. It's nice to finally have something working.
Page was last modified "Jan 10 2012" The Rockbox Crew