17. Configuring the Font Server

 

This chapter explains how to use the MultiNet font server to provide fonts for X11R5 (and later) X servers on your network. To understand the material in this chapter, you should be familiar with font administration on X11R5 servers.

 

Understanding the Font Server

The MultiNet font server makes fonts on your OpenVMS system available to remote X11R5 (and later) X servers without using a distributed file system, such as NFS, or file transfer via FTP or TFTP.

The main advantages of font servers over distributed file systems or file transfer are:

·         Simplicity of font administration.

·         Redundancy. X servers can use multiple font servers. If one font server fails or is unavailable, the X server can request fonts from another font server.

You can add font servers to an X server font search path the same way you add directories to the font search path. For example, you can add a font server to the font search path of X servers running on UNIX systems with the xset +fp and xset fp+ commands.

·         When an X server needs a font, it sends a request to the font server.

·         If the requested font is on the font server, the font is transferred to the X server.

·         If the font is not on the font server, the X server continues to search the rest of the font search path, which may include other font servers.

You can also configure the font server to return the names of other font servers (known as alternates) that the X server can search when the font server fails to find a requested font.

 

The Font Server Configuration File

The MultiNet font server obtains its configuration parameters from the configuration file MULTINET:FONT_SERVER.CONFIGURATION, which is equivalent to the /usr/lib/X11/fs/config configuration file used by font servers on UNIX systems. Although the file names are different, the file formats are identical; you can use configuration files from UNIX systems on your OpenVMS host.

The configuration file is an ASCII text file that contains a list of configuration parameter names and values. Each parameter name is followed by an equals sign (=) and the desired value.
The table below describes the font server configuration parameters.

Parameter

Accepted Values

Description

cache size

cardinal number

Specifies the size of the font server's font cache. To improve font access speed, specify a large font cache. Default: 10000.

catalogue

list of strings

Lists font path element names, delimited by commas. The MultiNet font server supports only a single catalogue (all), which contains all specified fonts.

alternate-server

list of strings

Lists alternate servers for this font server.

client-limit

cardinal number

Specifies the number of clients this font server supports before refusing service.

default-point-size

cardinal number

Specifies the default point size (in decipoints) for fonts that don't specify a point size.

default-resolutions

comma-delimited list of integers

Specifies the default resolutions the server supports. This information may be used as a hint for pre-rendering, and substituted for scaled fonts which do not specify a resolution.

error-file

string

Specifies the log file into which all warnings and errors are written.

port

cardinal number

Specifies the TCP port on which the server listens for connections.

trusted-clients

comma-delimited list of host names

Determines which hosts can use the font server. If you don't specify any hosts (the default), all hosts can use the font server. If you specify hosts, they are the only ones that can use the font server.

 

An example font server configuration file follows.

# Font server configuration file
# MultiNet Font Server
# Specify the font directories to export.
#
# WARNING: The file DECW$FONT_DIRECTORY.DAT must exist.  If it does not, you
# can create it with the command $ MU FONT MKFONTDIR [directory,...]
#
catalogue = sys$common:[sysfont.decw.100dpi],
    sys$common:[sysfont.decw.75dpi],
    sys$common:[sysfont.decw.common],
    sys$common:[sysfont.decw.cursor16],
    sys$common:[sysfont.decw.cursor32]
#
# Uncomment this line to start logging errors to a file on disk.
# Restart the font server to put logging into effect.
#
#error-file = MultiNet:fs.errors
#
# in decipoints
default-point-size = 120
default-resolutions = 75,75,100,100

Specifying Font Servers

All X11R5 (and later) servers use the same syntax for specifying font servers:

transport/host_name:port_number[/catalogue]

·         transport is "TCP."

·         host_name is the name of the host on which the font server is running.

·         port_number is the port on which the MultiNet font server listens for requests from remote X servers. By convention, the MultiNet font server listens on port 7000.

·         catalogue is the catalogue the MultiNet font server provides (by default, "all"). Catalogues are the equivalent of search paths on the font server. For details on defining catalogues, see the Defining Font Catalogues section.

 

Supported Font Types

The MultiNet font server supports the following font formats:

BDF

MIT SNF

Speedo

DECwindows

PCF

 

 

MultiNet also includes two commands for converting font formats:

MULTINET FONT COMPILE

Compiles BDF fonts into PCF format. Type HELP MULTINET FONT COMPILE for online help.

MULTINET FONT UNCOMPILE

Converts fonts supported by the font server into BDF format. Type HELP MULTINET FONT UNCOMPILE for online help.

 

The default font alias file name is DECW$FONT_ALIAS.DAT to match the default font values used by Hewlett-Packard.

 

Enabling the Font Server

To enable the MultiNet font server, use the SERVER-CONFIG utility (MULTINET CONFIGURE /SERVER). For example, to enable the font server on a single OpenVMS system, enter:

$ MULTINET CONFIGURE /SERVER
SERVER-CONFIG>ENABLE FONTSERVER
SERVER-CONFIG>RESTART
Configuration modified, do you want to save it ? [YES] YES
SERVER-CONFIG>QUIT
$

 

Getting Information About the Font Server

This section describes how to get information about a specific font server. Use the MULTINET FONT command to obtain the following information about the font server:

·         Current font server configuration (see the Checking the Font Server Configuration section)

·         Names of available fonts (see the Listing Available Fonts section)

·         Font file data (see the Viewing Font Data section)

 

Checking the Font Server Configuration

To check the status of the MultiNet font server, enter:

$ MULTINET FONT INFO /SERVER=font_server_name:port_number

·         font_server_name is the name of the font server you want to check. Use the font server name syntax described in the Specifying Font Servers section.

·         port_number is the port on which the font server listens. By convention, the MultiNet font server listens on port 7000.

The following example shows the information generated by this command on a system that acts as a font server with no alternates.

$ MULTINET FONT INFO /SERVER=WHORFIN:7000
name of server: WHORFIN:7000
version number: 2
vendor string:  ABC, Incorporated
vendor release number:  5001
maximum request size:   16384 longwords (65536 bytes)
number of catalogues:   1
all
Number of alternate servers: 0
number of extensions:   0
$

For more information, type HELP MULTINET FONT INFO.

 

Listing Available Fonts

To list the names of available fonts on a font server, enter:

$ MULTINET FONT LIST /SERVER=font_server_name font_spec

·         font_server_name is the name of the font server from which you want to obtain the list of fonts. Use the font server name syntax described in Specifying Font Servers.

·         font_spec is a font specification, in which you may include wildcard characters.

The following example shows the command that lists all "fixed" fonts on the font server.

$ MULTINET FONT LIST /SERVER=WHORFIN:7000 *FIXED*

-misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-1
-misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1
-misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1
-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
-misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-1
-misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1
-misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-1
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
-misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
-misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1
-misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1
-misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-1
-misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
-sony-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-1
-sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
-sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1
fixed
fixed
$

For more information, type HELP MULTINET FONT LIST.

 

Viewing Font Data

To list the data that comprises a specific font, log into the host running the font server, and enter:

$ MULTINET FONT SHOW /SERVER=font_server_name font_spec

·         font_server_name is the name of the font server from which you want to obtain the font data. Use the font server name syntax described in the Specifying Font Servers section.

·         font_spec is a font specification, in which you may include wildcard characters.

For information on other MULTINET FONT SHOW qualifiers, refer to the MultiNet Administrator's Reference.

The following example shows the command that lists the data for two characters in the Courier font:

$ MULTINET FONT SHOW /SERVER=WHORFIN:7000 /START=52 /END=53 *COURIER*

opened font *COURIER*
Direction: Left to Right
Range:  32 to 255
Default char: 32
Min bounds:
Left: -2     Right: 1      Ascent: -1     Descent: -5     Width: 6
Max bounds:
Left: 3      Right: 7      Ascent: 9      Descent: 2      Width: 6
Font Ascent: 8  Font Descent: 2
FONT    -Adobe-Courier-Bold-O-Normal--11-80-100-100-M-60-ISO8859-1
FOUNDRY Adobe
FAMILY_NAME     Courier
WEIGHT_NAME     Bold
SLANT   O
SETWIDTH_NAME   Normal
ADD_STYLE_NAME
PIXEL_SIZE      11
POINT_SIZE      80
RESOLUTION_X    100
RESOLUTION_Y    100
SPACING M
AVERAGE_WIDTH   60
CHARSET_REGISTRY        ISO8859
CHARSET_ENCODING        1
CAP_HEIGHT      6
X_HEIGHT        5
FACE_NAME       Courier Bold Oblique
COPYRIGHT       Copyright (c) 1984, 1987 Adobe Systems Incorporated. All
Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation.
All Rights Reserved.
NOTICE  No mark
_DEC_DEVICE_FONTNAMES   PS=Courier-BoldOblique
_DEC_PRODUCTINFO        DECwindows Fonts V2.2, 07-Nov-1991
RELATIVE_SETWIDTH       50
RELATIVE_WEIGHT 70
CHARSET_COLLECTIONS     ASCII ISO8859-1 ADOBE-STANDARD
FULL_NAME       Courier Bold Oblique
RESOLUTION      138
QUAD_WIDTH      6
char #52 '4'
Left: 0      Right: 5      Ascent: 7      Descent: 0      Width: 6
---##
--###
-#-##
#--#-
#####
--##-
--##-
char #53 '5'
Left: 0      Right: 6      Ascent: 7      Descent: 0      Width: 6
--####
-##---
-###--
--##-
---##-
#--##-
###---
$

For more information, type HELP MULTINET FONT SHOW.

 

Controlling the MultiNet Font Server

This section describes how to control the font server.

Use the MULTINET NETCONTROL FONTSERVER command for the following tasks:

·         Starting the font server (see the Starting the Font Server section)

·         Stopping the font server (see the Stopping the Font Server section)

·         Restarting the font server (see the Restarting the Font Server section)

·         Reloading the font server configuration (see the Reloading the Font Server Configuration section)

·         Flushing the font server cache (see the Flushing the Font Server Cache section)

·         Resetting the font server (see the Resetting the Font Server section)

 

Starting the Font Server

To start the MultiNet font server, enter:

$ MULTINET NETCONTROL FONTSERVER START
< FS Server Started, process id pid

When the font server starts, it reads the master configuration file, MULTINET:FONT_SERVER.CONFIGURATION. For information about the master configuration file, see The Font Server Configuration File section.

 

Stopping the FS Server

To stop the MultiNet font server, enter:

$ MULTINET NETCONTROL FONTSERVER SHUTDOWN
< FS Server Shutdown

Restarting the Font Server

Restarting the font server is a convenient alternative to first stopping and then starting it as described in the Starting the Font Server section and the Stopping the Font Server section.

When the font server restarts, it reads the configuration file, MULTINET:FONT_SERVER.CONFIGURATION. For information about the font server configuration file, see The Font Server Configuration File section.

To restart the MultiNet font server, enter:

$ MULTINET NETCONTROL FONTSERVER RESTART
< FS Server Started, process id pid

Note! Because the font server provides fonts on request, restarting does not disrupt any connections.

 

Reloading the Font Server Configuration

Changes to the font server configuration file (MULTINET:FONT_SERVER.CONFIGURATION) only take effect when the font server is started, restarted, or when the configuration files are reloaded. Reloading the font server allows you to reload font server configuration files without restarting the font server.

For information on the font server configuration file, see The Font Server Configuration File section. To reload the font server configuration file, enter:

$ MULTINET NETCONTROL FONTSERVER RELOAD
< WHORFIN.EXAMPLE.COM Network Control 5.5 (nnn) at Wed 26-Nov-2015 1:33PM-PST
< OK: FS server configuration reloading

Note! Because the font server provides fonts on request, reloading does not disrupt active connections.

 

Flushing the Font Server Cache

To improve performance, the font server keeps copies of requested fonts in a cache. To flush the font cache, enter:

$ MULTINET NETCONTROL FONTSERVER FLUSH
< WHORFIN.EXAMPLE.COM Network Control 5.5(nnn) at Wed 26-Nov-2015 1:36PM-PST
< OK: Font Server cache flushed

The size of this cache is defined in the font server configuration file, MULTINET:FONT_SERVER.CONFIGURATION. For details about the font server configuration, see The Font Server Configuration File section.

 

Resetting the Font Server

For convenience, MultiNet provides a RESET command to flush and reload the font server. To reset the font server, enter:

$ MULTINET NETCONTROL FONTSERVER RESET
< WHORFIN.EXAMPLE.COM Network Control 5.5(nnn) at Wed 26-Nov-2015 1:37PM-PST
< OK: Font Server reset

 

Defining Font Catalogues

Font catalogues are the font server equivalent of X server font search paths. To make fonts available via the font server, add the directories in which they reside to the "catalogue" line in the font server configuration file MULTINET:FONT_SERVER.CONFIGURATION.

For example, the default catalogue definition supplied with MultiNet is defined as:

catalogue = sys$common:[sysfont.decw.100dpi],
            sys$common:[sysfont.decw.75dpi],
            sys$common:[sysfont.decw.common],
            sys$common:[sysfont.decw.cursor16],
            sys$common:[sysfont.decw.cursor32]

If you modify the font server configuration file, the changes only take effect when you start, restart, reload, or reset the font server.

 

Adding Fonts to the Font Server

To make a new font available via the font server:

1. Install the font file in the appropriate font directory on the font server host. If the font is in BDF format, you may want to convert the font into PCF format with the MULTINET FONT COMPILE command to improve font server performance (type HELP MULTINET FONT COMPILE for online help).

2. Update the font directory's DECW$FONT_DIRECTORY.DAT file with the MULTINET FONT MKFONTDIR command (type HELP MULTINET FONT MKFONTDIR for online help). This command creates the DECW$FONT_DIRECTORY.DAT file.

Note! If the DECW$FONT_DIRECTORY.DAT file is not found, the font server fails. Be sure to run MULTINET FONT MKFONTDIR manually in each DECwindows font directory in which you add a font file. Failing to do so may result in the font server not serving the standard DECwindows fonts.

Note! When using MU FONT MKFONTDIR you must specify directories, not logical disks. For example, MU FONT MKFONTDIR MULTINET: is not valid.

3. If desired, add an alias for the new font to the font directory's DECW$FONT_ALIAS.DAT file.

4. Make sure the font directory is included in the "catalogue" statement in the font server configuration file MULTINET:FONT_SERVER.CONFIGURATION. For details, see the Defining Font Catalogs section. If you must modify the configuration file, reload the font server configuration (see the Reloading the Font Server Configuration section).

For example, to configure the MultiNet font server to provide the fonts included in the NCDware 3.0 distribution for VMS, include the following font directories in your catalogue definition:

NCD_ROOT:[FONTS.PCF.100DPI]
NCD_ROOT:[FONTS.PCF.75DPI]
NCD_ROOT:[FONTS.PCF.DW100DPI]
NCD_ROOT:[FONTS.PCF.DW75DPI]
NCD_ROOT:[FONTS.PCF.MISC]
NCD_ROOT:[FONTS.PCF.XOL]