On Tue, 2007-03-13 at 21:13 -0700, Don Hopkins wrote: > 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?
Don't use "standard old X library functions". Freetype is your friend. Or Pango + Cairo, which use freetype underneath. > 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. Technically you shouldn't have to scale your point sizes, right? ie 1 pt is defined as 1/72 of an inch IIRC, which is completely resolution independent. 1/72 of an inch is the same on a 96dpi display as it is on a 200dpi display because the font renderer should compensate for the increased resolution but keep the visual size the same. > 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? This is complicated somewhat because we're running in Xephyr in the sugar-jhbuild environment, which I think throws some DPI calculations off. I'm not entirely sure what the solution is here. But as far as I know, if you tell Pango to render a 12pt font on the XO, it should come out the same physical size (ie, 1/6th of an inch) as on your laptop, because that's what points are supposed to do. Dan _______________________________________________ Sugar mailing list [email protected] http://mailman.laptop.org/mailman/listinfo/sugar
