Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
print Linux font configuration
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
font-config-info is a tiny program that queries and prints a Linux system's font configuration. It is intended to produce brief reports that users can send to developers to aid in debugging font rendering issues. Because users deserve choice, the Linux desktop provides a robust collection of overlapping configuration systems. Developers are then given the opportunity to use their favorite systems from this set to control each application's behavior. The following packages are needed to build font-config-info on an Debian 9 "stretch" system: gcc libc6-dev libfontconfig1-dev libgtk-3-dev libx11-dev On Fedora 21 the prerequisites are gcc glibc-devel fontconfig-devel gtk2-devel libxcb-devel font-config-info currently prints information from the following sources: - GtkSettings (https://developer.gnome.org/gtk3/stable/GtkSettings.html) is part of the GTK+ UI library. It cobbles together settings from various sources (XSETTINGS, gtkrc files, programmatically-set values, etc.) for use by GTK+ applications. - GtkStyle objects (https://developer.gnome.org/gtk2/stable/GtkStyle.html) store theming information used by GTK widgets. I believe that the Pango font descriptions stored here determine which font is used for a given GTK widget. - GSettings (https://developer.gnome.org/gio/stable/GSettings.html) is an implementation of the DConf (https://wiki.gnome.org/dconf) configuration specification. It stores settings for GNOME applications. - X resources (http://en.wikipedia.org/wiki/X_resources) are an archaic means of storing strings in the X Window System. Decades ago, they were all the rage for configuring the appearance of X11 applications. Resources are typically listed in a ~/.Xresources or ~/.Xdefaults file that is loaded by the xrdb program after the X server starts. In addition to application-specific settings, some applications read "Xft."-prefixed resources to configure FreeType's text rendering. - The X server has its own notion of the physical dimensions of connected displays, which can be used to compute a dots-per-inch value that may affect the size at which text is rendered. - The XSETTINGS protocol (http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html) defines a desktop-agnostic method for storing configuration in the X server. Settings are typically defined by the gnome-settings-daemon program. If the dump_xsettings program from https://code.google.com/p/xsettingsd/ is installed, it will be executed to display the configuration stored in XSETTINGS. - Fontconfig (http://www.freedesktop.org/wiki/Software/fontconfig/) provides fine-grained, XML-based configuration of font matching and rendering. A -f flag may be used to pass a Pango font description (as described at http://goo.gl/ERHHTh); otherwise Fontconfig will be queried using the default font for the GtkLabel widget's style. Disturbingly, the above list does not cover all available mechanisms for configuration: - GConf (https://projects.gnome.org/gconf/) is a legacy system that is used to store preferences for GNOME 2 applications. - KDE surely has its own rich history of configuration systems, although I'm unfamiliar with them.