GNOME Basic is an attempt to provide a 100% compatible replacement for Visual Basic, VBA, VBScript, and other associated languages. It was originaly focused at making VBA macros work inside gnumeric, but due to scope slippage it executes some forms, parses most VB, and executes simple ASPs. With better Bonobo integration, a fully compatible MS environment will become feasible.
Libgda is a (relatively small) database access library. It provides a wrapper like ODBC but with more features for accessing several database engines, a general data model for use with CSV or XML files, a metadata extractor that retrieves information about database objects in a common way, and a SQL console application (like mysql, psql or sqlite3 consoles).
Gnome-GCJ is a set of GTK+ and GNOME bindings for Java. It compiles with the GCJ compiler (part of egcs) and uses the GCJ runtime library libgcj. GCJ is capable of compiling Java source code to native machine code, which makes Java code almost as fast as C++ code. As the interface between Java and GTK+, CNI (Cygnus Native Interface) and C++ will be used instead of the more traditional JNI and C. This means that support for other Java runtimes has been sacrificed in favour of GCJ and its faster CNI.
The fontutils package includes the programs bpltobzr, bzrto, charspace, fontconvert, gsrenderfont, imageto, imgrotate, limn, and xbfe. These create fonts for use with Ghostscript or TeX (starting with a scanned type image and converting the bitmaps to outlines), convert between font formats, etc. The package also includes the libraries libbzr.a, libgf.a, libpbm.a, libpk.a, libtfm.a, and libwidgets.a.
GNU Portable Threads (Pth) is a very portable POSIX/ANSI-C based library for Unix platforms providing non-preemptive priority-based scheduling for multiple threads of execution ("multithreading") inside server applications. All threads run in the same address space, but each thread has its own individual program-counter, run-time stack, signal mask and errno variable. The scheduling is done in a cooperative way, i.e. the threads are dispatched based on priority and pending events. The event facility allows threads to wait until various types of events occur, including pending I/O on filedescriptors, elapsed timers, pending I/O on message ports, thread and process termination, and even customized callback functions.