User Tools

Site Tools


client:gtk:gtk1:fonts

Fonts

The old GTK-1 gcfclient had some font lookups hardcoded inside the client/gtk/text.c file.
The newer GTK-2 gcfclient2 likely uses values found in HOME/.gtkrc-2.0 .

Dependent on the fonts available on the user's machine, the fonts displayed inside the gtk1-client had been different each user.

My comparatively minimalist Linux installation prints these available ones, when the client starts up :

[  INFO  ] (gtk::load_a_font) Loaded font -*-fixed-medium-r-*-*-*-120-*-*-*-*-iso8859-*.
[  INFO  ] (gtk::load_a_font) Loaded font -*-fixed-bold-r-*-*-*-120-*-*-*-*-iso8859-*.
[  INFO  ] (gtk::load_a_font) Loaded font -*-fixed-medium-o-*-*-*-120-*-*-*-*-iso8859-*.

…meaning, that I have 1 / 3 fonts available for three events.

List of hard coded “known” font lists:

/*
 * Parse message, extract multimedia information, and push
 * as appropriate in the GtkText
 */
static const char *const arcane_medium_fontname[] = {
    "-*-cuneifontlight-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-linotext-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-blackforest-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-becker-*-*-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-arnoldboecklin-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-caligula-*-*-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const hand_medium_fontname[] = {
    "-*-dobkinscript-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-coronetscript-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-muriel-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-genoa-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-parkavenue-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-rechtmanscript-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const strange_medium_fontname[] = {
    "-*-annstone-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-shalomstick-*-r-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
 
};
 
static const char *const print_medium_fontname[] = {
    "-*-arial-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-bookman-light-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-agate-normal-r-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const print_bold_fontname[] = {
    "-*-arial-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-bookman-demi-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-agate-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const print_italic_fontname[] = {
    "-*-arial-medium-i-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-bookman-light-i-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-agate-normal-i-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const print_italicbold_fontname[] = {
    "-*-arial-bold-i-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-bookman-demi-i-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-agate-bold-i-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const fixed_medium_fontname[] = {
    "-*-fixed-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-courrier-medium-*-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-andale mono-medium-*-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const fixed_bold_fontname[] = {
    "-*-fixed-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-courrier-bold-*-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-andale mono-medium-*-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const fixed_italic_fontname[] = {
    "-*-fixed-medium-o-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-courrier-medium-o-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-andale mono-medium-*-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};
 
static const char *const fixed_italicbold_fontname[] = {
    "-*-fixed-bold-i-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-courrier-bold-o-*-*-*-120-*-*-*-*-iso8859-*",
    "-*-andale mono-*-*-*-*-*-120-*-*-*-*-iso8859-*",
    NULL
};

The function load_a_font() pulls in the first font found (apparently) :

static GdkFont *load_a_font(const char *const font_list[]) {
    GdkFont* result;
    int i;
    for (i=0; font_list[i]!=NULL;i++){
        result = gdk_font_load(font_list[i]);
        if (result != NULL){
            LOG(LOG_INFO,"gtk::load_a_font","Loaded font %s.",font_list[i]);
            return result;
        }
    }
    return NULL;
}

The GTK-1 client never had some font selection GUI ….

If you want to experiment with fonts, then you likely need to download them,
install them, and run the utilities to make these fonts available to the system and X-Server.

A site that lists fonts, that I had found using *Bing* search for “cuneifontlight” : https://fonts2u.com/cuneifont-light.font

client/gtk/gtk1/fonts.txt · Last modified: 2018/04/04 04:11 by karl