[sugar] X fonts, and Cairo fonts

Don Hopkins dhopkins
Wed Mar 14 00:13:20 EDT 2007


Two questions about fonts:

For an X application, which fonts are available? Which are recommended? 
xlsfonts does not list a lot of them, and the ones listed have ugly 
sounding names. (Does the latest build add more fonts? I'm downloading 
it now.) Are there more fonts available to X applications that I can't 
see with xlsfonts? Specifically the OLPC Human Interface Guidelines 
recommends Bitstream Vera Sans, which I would like to use. What font 
string can I pass to the standard old X library functions to get that 
nice font, and what sizes are available?

Maybe I'm just hallucinating, but for a Cairo/Pango application (pie 
menus), it seems that the size a font is rendered depends on the screen 
resolution. On my laptop/vmware/fedora core/x11 development system, I 
configured all the pie menu fonts so they looked nice on the 75dpi 
screen. But then when I ran the same Python code on the actual OLPC's 
200 dpi screen, the fonts came out way too big compared to the graphics. 
So I had to reduce the point size of the font by multiplying by a factor 
of 75/200 or so. But that was clumsy because Cairo font specs are 
strings that look like "zapf-dingbats 64", and the point size is not a 
number that's easy to scale mathematically.

It's kinda weird that the text adjust the font size for the dpi, but the 
rest of the graphics don't. Is this a Pango thing or a Cairo thing? 
Should I be checking the dpi and factoring that into the scale of the 
graphics I draw, but not the text? (That's pretty inconvenient... Not 
the way PostScript works. I'd prefer that all drawing scales according 
to the screen resolution, not just fonts.) Is there a way to fake out 
the dots per inch so the development machine acts like it has a 200 dpi 
screen? Maybe the X configuration file? Or is there a better approach 
that would enable the program to work correctly on any dpi screen, 
without bending over backwards?

    -Don



More information about the Sugar-devel mailing list