[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Help on GTK font settings



Hi

As announced [1] by Frans Pop, the debian-installer is soon going to go be graphical: it makes use of GTK for the user interface and the DirectFB GDK backend insead of X. Since the debian-installer supports more than 60 different languages we need to take glyphs from different fonts [2]: FreeSans is the "default" font for latin alphabets, while for different languages we make use of specialized fonts (Sazanami Gothic for Japanese etc..). Now, one annoying issue is that, since FreeSans contains some glyphs from some non-latin languages too (Japanese, Chinese, ...), those are always used instead of the corresponding glyphs from specialized fonts. It was proposed [3] that, every time the user decides to use a different language, an appropriate entry has to be set into the gtkrc to instruct the GTK installer to use a specific font overriding libfontconfig preferences.
To support this, we introduced this portion of code

GdkEventClient event;
event.type = GDK_CLIENT_EVENT;
event.send_event = TRUE;
event.window = NULL;
event.message_type = gdk_atom_intern("_GTK_READ_RCFILES", FALSE);
event.data_format = 8;
gdk_event_send_clientmessage_toall((GdkEvent *)&event);
gtk_rc_reparse_all();
while (gtk_events_pending ()) gtk_main_iteration ();

(note that the GDK-DFB implementation of gdk_event_send_clientmessage_toall() is an emoty dummy function )

into the main function of the GTK frontend of the debian installer, that is called every time something has to be displayed to the user. Unfortunately this has no effects on fonts-choosing: FreeSans font is still used, no matter wha is specified into gtkrc. Does the idea of forcing a GTK app to use a special fonts setting up an appropriate entry into gtkrc is a good idea? and, if it is, is this portion of code enough to make it work?

thanks

Attilio

[1] http://lists.debian.org/debian-devel-announce/2005/11/msg00021.html
[2] http://wiki.debian.org/DebianInstallerGUIFonts
[3] http://lists.debian.org/debian-boot/2005/12/msg00324.html



Reply to: