Next: , Previous: FONTLIB programmers usage, Up: FONTLIB



9.3 FreeType library usage

VRR uses the version 2.1.9 of the FreeType library. The homepage of the FreeType project is at http://www.freetype.org/ and FreeType is currently probably the best open source font rendering library available.

However, during our very intensive usage of FreeType in VRR we encountered an enormous amount of bugs, failures and design faults inside the FreeType library. The errors we discovered include:

Therefore, we chose one particular version of the library, which seemed to be the most stable one, and included its source together with the VRR source code. During the project compilation, the FreeType library is compiled, too. But this is not all, FreeType cannot be simply linked to the binaries because of the namespace conflicts with the FreeType library version used by the GTK library.

The solution is the following: the library is compiled and during the FONTLIB initialization, it is dynamically loaded into the running executable via the system function dlopen(). Every utilized symbol is then searched via the dlsearch() function and given another name, prefixed by font_. See the main FONTLIB source font/font.c and the internal header font/internal.h for implementation details.

We consider our solution to be a working, but quite dirty hack and we are waiting for the FreeType library to stabilize to remove it.