Softpanorama

Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Bigger doesn't imply better. Bigger often is a sign of obesity, of lost control, of overcomplexity, of cancerous cells

Fonts in the X11

News Recommended Links Xdefaults Configuration
Exporting_display vnc Humor Etc

The X Window system comes with a set of fonts.

To see a listing of the fonts available on your system, try a program called xlsfonts:

xlsfonts | more
Setting up Fonts

There are two font systems in the X Window System. The first is the core X font protocol, and the second is Xft.

Both font systems should be configured for proper font coverage in the X Window System.

Core X Font Protocol

The core X font protocol finds fonts from the server configuration file (xorg.conf or XF86Config). If no font paths exist in the configuration file, the server will fall back to an internal hard-coded path. Assuming the prefix for your X installation is /usr/X11R6, the core fonts will reside in subdirectories of /usr/X11R6/lib/X11/fonts. For each directory in the path, the server reads three files:

The core X fonts protocol uses names such as -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1. These fonts are rendered by the X server without antialiasing. The server itself uses the "cursor" font for painting the mouse cursor, and the protocol specification requires the font "fixed" to be available.

Scalable fonts, such as Type1 and TrueType, are read from fonts.scale files by the server. The core X font system uses the "freetype" module for non-antialiased rendering of these fonts. Ensure that the "freetype" module is loaded in the XF86config or xorg.conf file by adding it to the "Module" section:

Section "Module"
    ...
    Load  "freetype"
    ...
EndSection

The character set used is part of the font name, e.g. "-iso8859-1". It is important that applications which support a non-English interface specify the character set correctly so that the proper glyphs are used. This can be controlled through the X resources, which will be described later.

In some cases, applications rely upon the fonts named "fixed" or something like "9x18". In these cases, it is important that the fonts.alias file specifies the correct character set. Users of ISO-8859-X encodings where X != 1 should modify the /usr/lib/X11/fonts/misc/fonts.alias file by replacing the "iso8859-1" string with the proper encoding name. This is accomplished by running the following command as the root user, substituting the proper value for <X>:

sed -i 's,iso8859-1\( \|$\),iso8859-<X>\1,g' \
    /usr/lib/X11/fonts/{75dpi,100dpi,misc}/fonts.alias

Users of Cyrillic fonts have properly defined aliases in /usr/lib/X11/fonts/cyrillic/fonts.alias. However, this file will not be used unless the /usr/lib/X11/fonts/cyrillic directory is first in the font search path. Otherwise, the /usr/lib/X11/fonts/misc/fonts.alias file will be used.

Xft Font Protocol

Xft provides antialiased font rendering through Freetype, and fonts are controlled from the client side using Fontconfig. The default search path is /usr/share/fonts and ~/.fonts. Fontconfig searches directories in its path recursively and maintains a cache of the font characteristics in fonts.cache-1 files in each directory. If the cache appears to be out of date, it is ignored, and information is (slowly) fetched from the fonts themselves. This cache can be regenerated using the fc-cache command at any time. You can see the list of fonts known by Fontconfig by running the command fc-list.

The X fonts were not installed in a location known to Fontconfig. This prevents Fontconfig from using the poorly rendered Type 1 fonts or the non-scalable bitmapped fonts. Symlinks were created from the OTF and TTF X font directories to /usr/share/fonts/X11-{OTF,TTF}. This allows Fontconfig to use the OpenType and TrueType fonts provided by X (which are scalable and of higher quality).

Fontconfig uses names such as "Monospace 12" to define fonts. Applications generally use generic font names such as "Monospace", "Sans" and "Serif". Fontconfig resolves these names to a font that has all characters that cover the orthography of the language indicated by the locale settings. Knowledge of these font names is included in /etc/fonts/fonts.conf. Fonts that are not listed in this file are still usable by Fontconfig, but they will not be accessible by the generic family names.

Standard scalable fonts that come with X provide very poor Unicode coverage. You may notice in applications that use Xft that some characters appear as a box with four binary digits inside. In this case, a font set with the available glyphs has not been found. Other times, applications that don't use other font families by default and don't accept substitutions from Fontconfig will display blank lines when the default font doesn't cover the orthography of the user's language. This happens, e.g., with Fluxbox in the ru_RU.KOI8-R locale.

In order to provide greater Unicode coverage, it is recommended that you install these fonts:

The list above will not provide complete Unicode coverage. For more information, please visit the Unicode Font Guide.

As an example, consider the installation of the DejaVu fonts. From the unpacked source directory, run the following commands as the root user:

install -v -d -m755 /usr/share/fonts/dejavu &&
install -v -m644 *.ttf /usr/share/fonts/dejavu &&
fc-cache -v /usr/share/fonts/dejavu

Setting up Keyboards

In this version of X, non-Latin keyboard layouts do not include Latin configurations as was previous practice. To set up a keyboard for Latin and non-Latin input, change the XkbLayout keyboard driver option in the InputDevice section of the XF86Config or xorg.conf file. For example:

Section "InputDevice"
    Identifier          "Keyboard0"
    Driver              "kbd"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "en_US,ru"
    Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll"
EndSection

In this example, you can use the Alt+Shift combination to switch between keyboard layouts and use the Scroll Lock LED to indicate when the second layout is active.

Setting up XDM

xdm provides a graphical logon capability and is normally set up in /etc/inittab. Most of the information you need to customize xdm is found in its man page. To execute xdm during bootup, change the initdefault level to 5 and add the following lines to /etc/inittab:

# Run xdm as a separate service
x:5:respawn:/usr/X11R6/bin/xdm -nodaemon

If Linux-PAM is installed on your system, you should create a PAM entry for xdm by duplicating the login entry using the following command:

cp -v /etc/pam.d/login /etc/pam.d/xdm
Using X Resources

There are many options that can be set in X and X clients via resources. Typically resources are set in the ~/.Xresources file.

The layout of the ~/.Xresources file consists of a list of specifications in the form of

object.subobject[.subobject...].attribute: value

Components of a resource specification are linked together by either tight, represented by a dot (.), or loose, represented by an asterisk (*), bindings. A tight binding indicates that the components on either side of the dot must be directly next to each other as defined in a specific implementation. An asterisk is a wildcard character that means that any number of levels in a defined hierarchy can be between the components. For example, X offers two special cursors: redglass and whiteglass. To use one of these resources, you need to add the following line:

Xcursor.theme: whiteglass

However, you can specify the background for all clients with:

*background: blue

More specific resource variables will override less specific names.

Resource definitions can be found in the man pages for each respective client.

In order to load your resources, the xrdb program must be called with the appropriate parameters. Typically, the first time resources are loaded, you use:

xrdb -load <filename>

To add resources to X's database in memory, use:

xrdb -merge <filename>

The xrdb instruction is usually placed in ~/.xinitrc or ~/.xsession. To get more information, see the xrdb man page.

For changing default fonts see Overriding Default Fonts in the X Window System


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News ;-)

[Feb 25, 2008] X Window System

The X Window system comes with a huge set of fonts. To see a listing of the fonts available on your system, try a program called xlsfonts:
xlsfonts | more

This lists out many fonts, such as:

-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
-adobe-new century schoolbook-medium-r-normal--34-240-100-100-p-181-iso8859-1
-daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0
-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0
lucidasans-bold-14
cursor

[Feb 25, 2008] X Window System Components

Configuring The X Window System

If you've installed the X Window System in any prefix other than /usr, become the root user and update the library linker's cache by adding /usr/X11R6/lib to /etc/ld.so.conf and running ldconfig.

Additionally, while still the root user, ensure /usr/X11R6/bin and /usr/X11R6/lib/pkgconfig are added to the PATH and PKG_CONFIG_PATH environment variables, respectively. Instructions for doing this are described in the section The Bash Shell Startup Files.

Ensure you replace /usr/X11R6 with $XORG_PREFIX in the previous two paragraphs if you did not create the compatibility symlink in the previous step.

As the root user create a basic X Window System configuration file with the following commands:

For Xorg:

cd ~ &&
Xorg -configure

For XFree86:

cd ~ &&
XFree86 -configure

The screen will go black and you may hear some clicking of the monitor. This command will create a file in your home directory, xorg.conf.new for Xorg, or XF86Config.new for XFree86.

Edit the newly created configuration file to suit your system. The details of the files are located in the xorg.conf.5x and XF86Config.5x man pages. Some things you may want to do are:

Test the system with one of the following commands:

For Xorg:

X -config ~/xorg.conf.new

For XFree86:

XFree86 -xf86config ~/XF86Config.new

You will only get a gray background with an X-shaped mouse cursor, but it confirms the system is working. Exit with Control+Alt+Backspace. If the system does not work, take a look at /var/log/Xorg.0.log or /var/log/XFree86.0.log to see what went wrong.

As the root user, create the configuration directory and move the configuration file to the new directory:

For Xorg:

install -v -m644 -D ~/xorg.conf.new /etc/X11/xorg.conf

For XFree86:

install -v -m644 -D ~/XF86Config.new /etc/X11/XF86Config

As a convenience, Xorg-7.2 users should populate the /etc/X11 directory with symlinks to various configuration directories that were located in /etc/X11 with previous versions of Xorg. This step is not needed for XFree86 users. Execute the following commands as the root user:

mkdir $XORG_PREFIX/share/X11/twm &&
ln -svt /etc/X11 \
    $XORG_PREFIX/lib/X11/{fs,lbxproxy,proxymngr,rstart} \
    $XORG_PREFIX/lib/X11/{xdm,xinit,xserver,xsm} \
    $XORG_PREFIX/share/X11/{app-defaults,twm,xkb}

As the root user, create .xinitrc:

cat > ~/.xinitrc << "EOF"
# Begin .xinitrc file
xterm  -g 80x40+0+0   &
xclock -g 100x100-0+0 &
twm
EOF

This provides an initial screen with a small clock that is managed by a simple window manager, Tab Window Manager. For details of twm, see the man page.

... ... ...

Setting up Fonts

There are two font systems in the X Window System. The first is the core X font protocol, and the second is Xft. Toolkits that use the core X font protocol include Xt, Xaw, Motif clones and GTK+-1.2. Toolkits that use Xft include GTK+-2 and Qt and use Fontconfig for control. Both font systems should be configured for proper font coverage in the X Window System.

Core X Font Protocol

The core X font protocol finds fonts from the server configuration file (xorg.conf or XF86Config). If no font paths exist in the configuration file, the server will fall back to an internal hard-coded path. Assuming the prefix for your X installation is /usr/X11R6, the core fonts will reside in subdirectories of /usr/X11R6/lib/X11/fonts. For each directory in the path, the server reads three files:

The core X fonts protocol uses names such as -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1. These fonts are rendered by the X server without antialiasing. The server itself uses the "cursor" font for painting the mouse cursor, and the protocol specification requires the font "fixed" to be available.

Scalable fonts, such as Type1 and TrueType, are read from fonts.scale files by the server. The core X font system uses the "freetype" module for non-antialiased rendering of these fonts. Ensure that the "freetype" module is loaded in the XF86config or xorg.conf file by adding it to the "Module" section:

Section "Module"
    ...
    Load  "freetype"
    ...
EndSection

The character set used is part of the font name, e.g. "-iso8859-1". It is important that applications which support a non-English interface specify the character set correctly so that the proper glyphs are used. This can be controlled through the X resources, which will be described later.

In some cases, applications rely upon the fonts named "fixed" or something like "9x18". In these cases, it is important that the fonts.alias file specifies the correct character set. Users of ISO-8859-X encodings where X != 1 should modify the /usr/lib/X11/fonts/misc/fonts.alias file by replacing the "iso8859-1" string with the proper encoding name. This is accomplished by running the following command as the root user, substituting the proper value for <X>:

sed -i 's,iso8859-1\( \|$\),iso8859-<X>\1,g' \
    /usr/lib/X11/fonts/{75dpi,100dpi,misc}/fonts.alias

Users of Cyrillic fonts have properly defined aliases in /usr/lib/X11/fonts/cyrillic/fonts.alias. However, this file will not be used unless the /usr/lib/X11/fonts/cyrillic directory is first in the font search path. Otherwise, the /usr/lib/X11/fonts/misc/fonts.alias file will be used.

Xft Font Protocol

Xft provides antialiased font rendering through Freetype, and fonts are controlled from the client side using Fontconfig. The default search path is /usr/share/fonts and ~/.fonts. Fontconfig searches directories in its path recursively and maintains a cache of the font characteristics in fonts.cache-1 files in each directory. If the cache appears to be out of date, it is ignored, and information is (slowly) fetched from the fonts themselves. This cache can be regenerated using the fc-cache command at any time. You can see the list of fonts known by Fontconfig by running the command fc-list.

The X fonts were not installed in a location known to Fontconfig. This prevents Fontconfig from using the poorly rendered Type 1 fonts or the non-scalable bitmapped fonts. Symlinks were created from the OTF and TTF X font directories to /usr/share/fonts/X11-{OTF,TTF}. This allows Fontconfig to use the OpenType and TrueType fonts provided by X (which are scalable and of higher quality).

Fontconfig uses names such as "Monospace 12" to define fonts. Applications generally use generic font names such as "Monospace", "Sans" and "Serif". Fontconfig resolves these names to a font that has all characters that cover the orthography of the language indicated by the locale settings. Knowledge of these font names is included in /etc/fonts/fonts.conf. Fonts that are not listed in this file are still usable by Fontconfig, but they will not be accessible by the generic family names.

Standard scalable fonts that come with X provide very poor Unicode coverage. You may notice in applications that use Xft that some characters appear as a box with four binary digits inside. In this case, a font set with the available glyphs has not been found. Other times, applications that don't use other font families by default and don't accept substitutions from Fontconfig will display blank lines when the default font doesn't cover the orthography of the user's language. This happens, e.g., with Fluxbox in the ru_RU.KOI8-R locale.

In order to provide greater Unicode coverage, it is recommended that you install these fonts:

The list above will not provide complete Unicode coverage. For more information, please visit the Unicode Font Guide.

As an example, consider the installation of the DejaVu fonts. From the unpacked source directory, run the following commands as the root user:

install -v -d -m755 /usr/share/fonts/dejavu &&
install -v -m644 *.ttf /usr/share/fonts/dejavu &&
fc-cache -v /usr/share/fonts/dejavu

Setting up Keyboards

In this version of X, non-Latin keyboard layouts do not include Latin configurations as was previous practice. To set up a keyboard for Latin and non-Latin input, change the XkbLayout keyboard driver option in the InputDevice section of the XF86Config or xorg.conf file. For example:

Section "InputDevice"
    Identifier          "Keyboard0"
    Driver              "kbd"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "en_US,ru"
    Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll"
EndSection

In this example, you can use the Alt+Shift combination to switch between keyboard layouts and use the Scroll Lock LED to indicate when the second layout is active.

Setting up XDM

xdm provides a graphical logon capability and is normally set up in /etc/inittab. Most of the information you need to customize xdm is found in its man page. To execute xdm during bootup, change the initdefault level to 5 and add the following lines to /etc/inittab:

# Run xdm as a separate service
x:5:respawn:/usr/X11R6/bin/xdm -nodaemon

If Linux-PAM is installed on your system, you should create a PAM entry for xdm by duplicating the login entry using the following command:

cp -v /etc/pam.d/login /etc/pam.d/xdm
Using X Resources

There are many options that can be set in X and X clients via resources. Typically resources are set in the ~/.Xresources file.

The layout of the ~/.Xresources file consists of a list of specifications in the form of

object.subobject[.subobject...].attribute: value

Components of a resource specification are linked together by either tight, represented by a dot (.), or loose, represented by an asterisk (*), bindings. A tight binding indicates that the components on either side of the dot must be directly next to each other as defined in a specific implementation. An asterisk is a wildcard character that means that any number of levels in a defined hierarchy can be between the components. For example, X offers two special cursors: redglass and whiteglass. To use one of these resources, you need to add the following line:

Xcursor.theme: whiteglass

However, you can specify the background for all clients with:

*background: blue

More specific resource variables will override less specific names.

Resource definitions can be found in the man pages for each respective client.

In order to load your resources, the xrdb program must be called with the appropriate parameters. Typically, the first time resources are loaded, you use:

xrdb -load <filename>

To add resources to X's database in memory, use:

xrdb -merge <filename>

The xrdb instruction is usually placed in ~/.xinitrc or ~/.xsession. To get more information, see the xrdb man page.

Solaris X Window System Reference Manual

The xfontsel application provides a simple way to display the fonts known to your X server, examine samples of each, and retrieve the X Logical Font Description ("XLFD") full name for a font.
If -pattern is not specified, all fonts with XLFD 14-part names will be selectable. To work with only a subset of the fonts, specify -pattern followed by a partially or fully qualified font name; e.g., ``-pattern * medium* ''will select that subset of fonts which contain the string ``medium'' somewhere in their font name. Be careful about escaping wildcard characters in your shell.
If -print is specified on the command line the selected font specifier will be written to standard output when the quit button is activated. Regardless of whether or not -print was specified, the font specifier may be made the PRIMARY (text) selection by activating the select button.
The -sample option specifies the sample text to be used to display the selected font if the font is linearly indexed, overriding the default.
The -sample16 option specifies the sample text to be used to display the selected font if the font is matrix encoded, overriding the default.
The -noscaled option disables the ability to select scaled fonts at arbitrary pixel or point sizes. This makes it clear which bitmap sizes are advertised by the server, and can avoid an accidental and sometimes prolonged wait for a font to be scaled.

Linux.com Packaging new fonts for a new year

There's nothing like a new set of typefaces for starting off the new year. Like snowflakes, no two are alike -- and also like snowflakes, they have to be handled just right. After you've found the fonts you want to spend the next 12 months with, here's how you can install them correctly and easily on your Linux system by getting your package management program to do it for you. Chances are that the fonts you've downloaded are of TrueType format. Most free fonts are made with the Macromedia Fontographer application, in which this is the default. With TrueType fonts, the only file that matters is the one with the .ttf extension; this is the actual font data.

Overriding Default Fonts in the X Window System

Peter.Buttuls@ualberta.ca, CNS Network Services

When a colleague commented that he would like to see larger fonts in the windows of my X Window System (X) workstation, I wondered how many other X users on campus would like to do the same on their workstations. After studying up on the subject, I would like to pass on the information, and, since IBM, Sun, SGI, and other UNIX workstations all use the basic X Window System with small variations and add-ons, most of the information in this article should be valid regardless of the type of workstation you are using.

X Font Basics

Type the following at the command line:

xlsfonts > tmp

This command will return a file called tmp with the names of all the fonts in your current font path. Your machine can use these fonts in programs like terminal emulators, command buttons, clocks, etc. The output related to each font occupies a separate line in the file, for example:

-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1

You can see that each font name is made up of fields delimited by dashes. The fields follow a certain order, a symbolic format, which is shown below:

-fndry-fmly-wght-slant-sWdth-pxlsz-ptSz-resx-resy-spc-avgWdth-rgstry-encdng

The symbolic fields shown above, their meanings, and some corresponding values from the adobe-courier example are shown in the table below.

fndry

the font's developer, or foundry - e.g., adobe

fmly

font family - e.g., courier

wght

weight of the font - valid values are medium and bold

slant

slant of the font - valid values are roman (r), italic (i), and oblique (o)

sWdth

set width, a font's proportionate width - valid values are normal, condensed, semi-condensed, narrow, and double-width

pxlsz

size of the font in pixels - e.g., 24

ptSz

ten times the size of the font in points - e.g., 240

resx

horizontal resolution of the font in dots per inch - e.g., 75

resy

vertical resolution of the font in dots per inch - e.g., 75

spc

spacing - valid values are monospace (m), proportional (p), and character (c)

avgWdth

average width, measured in tenths of a pixel - e.g., 150

rgstry, encdng

these two fields combined are the character set - e.g., iso8859-1


Selecting Fonts for a Program

So, how do you use the tmp file information described above to choose the font you want to use in a particular program? At the lowest level, it's very simple: just check whether the program accepts the -fn option. If it does, you can select any of the fonts contained in the tmp file for use with the program.

Most terminal emulators support the -fn option. For example, type the following at the command line:

xterm -fn '-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1' &

This command will cause the adobe-courier font, in 14-point size, to be used for text in the xterm terminal emulator window. Since terminal emulators such as aixterm (IBM RS/6000s), cmdtool and shelltool (Suns), and winterm (SGIs) also support the -fn option, we can substitute any of them for xterm in the command shown above.

An Alternate Method

An alternate way of selecting fonts for terminal emulators is to put the font information in the .Xdefaults file of the machine where your output appears (there is some machine dependency with this method). Don't enclose the font name in quotes when using this method, and be sure to use the xrdb .Xdefaults command each time you make changes to the .Xdefaults file, or the changes will not take effect.

For example, in the case of an IBM RS/6000 using aixterm, put the following in the .Xdefaults file:

aixterm*font: -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1

On Sun workstations using cmdtool and shelltool, put the following in the .Xdefaults file:

*Font.Name: -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1

On SGIs using winterm, put the following in the .Xdefaults file:

winterm*font: -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1

When using the xterm terminal emulator on most X Window machines, the following line in the .Xdefaults file will work:

xterm*font: -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1


Selecting Larger Fonts

Is the adobe-courier font at 14-points too small on-screen? No problem. Look at the contents of the tmp file again. Two other entries in the file are:

-adobe-courier-medium-r-normal--18-180-75-75-m-110-iso8859-1

-adobe-courier-medium-r-normal--24-240-75-75-m-150-iso8859-1

You can see that these entries represent font sizes of 18 and 24 points respectively, which will give you larger type. In the case of the 24-point font, the resulting terminal emulator window will adjust itself to the size of your whole screen! However, don't expect the actual size of the font on-screen to be exactly the point size that is specified in the line of the tmp file. The reason for this is that the values of the horizontal resolution (resx) and vertical resolution (resy) fields in the tmp file may not be close to your default screen resolution. For example, a 24-point font with a resx-resy value of 100-100 will appear larger than the same size font with a resx-resy value of 75-75.


Scalable Fonts

X Window System Release 5 (X11R5) provides a number of scalable fonts. This means you are not constrained to using the point sizes of fonts listed by xlsfonts, but can use any point size you like. These scalable fonts have the pixel size, point size, and average width fields (i.e., pxlsz, ptSz, and avgWdth) set to 0. Here is an example scalable font from the tmp file:

-b&h-lucida bright-demibold-i-normal--0-0-0-0-p-0-iso8859-1

To get a huge (e.g., 60-point size) lucida-bright font, modify the line to:

-b&h-lucida bright-demibold-i-normal--0-600-0-0-p-0-iso8859-1


Wildcards in Font Specifications

An asterisk (*) can be used to represent any part of the character string of which a font name consists. Therefore, you can usually get the font you want to use in a program by specifying only the font family, the weight, the slant, and the size, and then you can use wildcarding for the rest. Thus, to get the 14-point adobe-courier font we used as an example in "Selecting Fonts for a Program," we can enter:

xterm -fn '*courier-medium-r-normal*140*'

There is a useful test to determine whether you are getting the unique font you desire by wildcarding, and that is to use the wildcarded font as an argument in the xlsfonts command, as shown below:

xlsfonts -fn '*courier-medium-r-nor-mal*140*'

If you only get one line of output, your choice is unique, and therefore wildcarding has been a success.


The Xfontsel Program

Type the following at the command line:

xfontsel &

This command causes a window to appear that displays your system's fonts, with the symbolic names of the font fields appearing as clickable buttons that can be used for value selection. You can use any mouse button to click on a field which causes a pop-up menu to appear, listing the possible values for the field. Thus font families, weights, slants, and sizes can be selected and changed and the appearance of the resulting font can be seen instantly. Clicking the left mouse button while the mouse pointer is on the xfontsel SELECT widget places the resulting font name in the "cut and paste buffer."

If you have an xterm window active while using xfontsel, there is an even better shortcut available to directly select the xterm font you want. After selecting the font you want with xfontsel, click on the xfontsel SELECT widget. Now move the mouse pointer to the xterm window, press mouse button #3 while holding the Control (CTRL) key down, and you'll get the xterm fonts menu entitled "VT FONTS." Select the menu item at the bottom labelled "Selection" and your xterm program will use the font you selected via xfontsel.


The XFD Program

There is one more program you can try called xfd. This program displays each font character in a grid of boxes. Character values like index, width, ascent, and descent can be displayed at the top of the window by clicking on a displayed character with the mouse.

Font Troubleshooting Guide

Added 05 May 2002

- Christof Pintaske

This guide tries to give hints and backgrounds for the most frequent reported problems together with rules of thumb to get over them. The problems described here refer to OpenOffice.org versions 641D and 1.0 on the Linux and the Solaris platform. If you have problems with older versions please update to the current stable release first and see if the problem has already been fixed.

This guide is written with the intention to be useful. Nevertheless don't expect it to be complete or error free. It is a work in progress. To suggest enhancements, corrections or additions please write a mail to dev@gsl.openoffice.org .

The pattern "openoffice_dir" refers to the directory of your OpenOffice.org installation.

Table of Contents

Installing Liberation Fonts on Linux

"Red Hat recently released a set of free fonts designed to be a metrically-exact replacement for the Microsoft Core TrueType fonts. Installing fonts on Linux, however, has not always been the easiest of tasks so Tectonic dug around a little to make a simple guide to installing these, and other, fonts on most flavours of Linux.

"The first thing to do is get you hands on the fonts you want to install. Red Hat's Liberation fonts can be found here. These are TrueType fonts so they will need to be installed in the appropriate folder..."

Installing Fonts on Linux Linux Journal

One of the things I always enjoy when creating presentations, letters, videos, graphics and other documents is playing with different fonts. Fonts can change a boring text-only presentation or paper into an exciting, stylish, wild or classic experience. Yes, it is very easy to get carried away, but that is part of the fun -- trying to achieve the perfect balance between form and function.

During my computer-using years, I have collected quite a few fonts. Some were included with clip-art packages I purchased over the years, some came pre-installed on computers I used to own, others were downloaded from Web sites and so on.

You might have a similar collection of fonts. Or, maybe you have only a few that you really, really like. Thankfully, Linux has no problem with your Windows TrueType and OpenType fonts, and installing them is simple.

If you are downloading fonts from a site on the Internet, they probably come in a zip archive. Many Web sites have fonts freely available for download and offer both Windows and Macintosh versions; be sure to download the Windows version.

Recommended Links

Font HOWTO

X Window System core protocol - Wikipedia, the free encyclopedia

Fonts in the X Window System

Overriding Default Fonts in the X Window System

Steve's RHCE Study Guide X Window System

Carla Schroder

Installing Liberation Fonts on Linux(Jun 01, 2007)

All About Linux: The Case of Some Flash Based Games Unable to Display Text...(Jul 31, 2006)



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019