[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: GTK/RENDER: more information



Dave McGuire (mcguire@xxxxxxxxxxxxx) wrote:
>
>    I've successfully gotten the Sun-supplied gnome stuff (I've tried
> gnome-terminal and mahjongg) running against a freshly-compiled GTK+
> v2.6.2.  And I must say, the fonts look *great*.  I'm currently using
> the Ghostscript fonts; I didn't know what else to try and I had them
> lying around from an unrelated project that also used Freetype...if
> anyone has any pointers to any other fonts I ought to have, I'd
> appreciate it.

Well Solaris comes with nice looking Truetype fonts, which for some
reason are seldom used. Look in /usr/openwin/lib/X11/fonts/TrueType/.

So if you put

<dir>/usr/openwin/lib/X11/fonts/Truetype</dir>

into your <prefix>/etc/fonts/local.conf you can then make your fontconfiged
apps use the Arial fonts for menus etc by creating a ~/.gtkrc-2.0 with the
following content:

gtk-font-name = "Arial 12"


 >    Anyway, the secret is to use the packaged xrender/render/xft
> distributions rather than the stuff from the XFree86 v4.4 distribution.
>   If you use the latter stuff, you will wind up with a libgdk-x11 that
> will not talk to an X server which lacks the RENDER extension.  I don't
> know if it will *use* that extension if it is present, and I'm honestly
> not sure how to check.

Hard to tell, I just verified that pcb-gtk running on Solaris displays
well on an Xserver that supports XRENDER (XFree86) as well as the standard
Solaris Xserver that doesn't support XRENDER. It's my understanding that
XRENDER is used to speed up the font anti-aliasing, with the libs I pointed
to I think they revert back to good old pixel pushing in case XRENDER isn't
there.

>    Now I'm going to pull down Bill's source tree and see if I can get it
> built.

If you edit gui-top-window.c and make the gui_output_set_name_label function
look like this you can even load a layout into PCB !

  /* Set the PCB name label.
  */
void
gui_output_set_name_label(gchar *name)
	{
	gchar	*str;

	if (!name) {
	  name = "Unnamed";
	}

	str = g_strdup_printf(" <b><big>%s</big></b> ", name);
	gtk_label_set_markup(GTK_LABEL(gui->name_label), str);
	g_free(str);
	}


/Daniel