1 Status of the GTK+ 2.0 port :
2 ---------------------------
6 GtkList and GtkCList ==> GtkTreeView conversion :
9 - gtk_font_selection_dialog_set_filter doesn't exist anymore (but hasn't
10 been removed from the documentation). There is no way to filter the
11 font selection to get only fixed width fonts; in a message at
13 http://mail.gnome.org/archives/gtk-devel-list/2002-July/msg00202.html
15 Owen Taylor explains why Pango (and hence GTK+ 2.0) doesn't know what
16 fonts are fixed-width and what fonts aren't:
18 From: Owen Taylor <otaylor redhat com>
19 To: Allin Cottrell <cottrell wfu edu>
20 Cc: gtk-devel-list.gnome.org
21 Subject: Re: fonts in gtk-2.0/pango
22 Date: Sat, 27 Jul 2002 10:06:52 -0400 (EDT)
26 > Second observation: Pango has an elaborate classification system for
27 > fonts, but this system has some serious blind spots. So far as I can
28 > tell, Pango maintains no record of whether a font is monospaced or
29 > proportional. (I believe the X11 backend to pango reads this
30 > information when it queries the X server for available fonts, but then
31 > throws it away.) I presume this has something to do with its failure
32 > to provide correct metrics for Lucida Typewriter. I presume, too,
33 > that it has something to do with the removal of the "filter" mechanism
34 > on the GTK font selection dialog between 1.2 and 2.0. That is, you
35 > used to be able to specify that the font selection should show only
36 > monospaced fonts (rather essential for terminal/console type
37 > applications) but you can't any more -- I guess, because pango has no
38 > notion of what's a monospaced font and what's not.
40 Give us code that can distinguish reliably between monospaced and
41 not-monospaced fonts for Type1 and TrueType fonts and at that
42 point it becomes reasonable to think about such an API. It's
43 not all that easy to do.
45 Even then, there are still problems - Pango by default will
46 draw characters not in the main font using fallback fonts --
47 whose metrics almost certainly don't match your grid. So,
48 you'd have to be able to turn this off.
50 - the spacing between lines in the tree view is too big ;
52 - gdk_font_from_description() may return NULL. It would be better to use
53 pango and drop GdkFont (and functions which use it, like
54 gdk_string_width, gdk_draw_string).