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.
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 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
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.
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 OpenVMS.
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
$
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)
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.
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
$
For more information, type HELP MULTINET FONT LIST.
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.
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)
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.
To stop the MultiNet font server, enter:
$ MULTINET
NETCONTROL FONTSERVER SHUTDOWN
< FS Server Shutdown
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.
|
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.6 at Wed 26-Nov-2019 1:33PM-PST
< OK: FS server configuration reloading
Note: Because the font server provides fonts on request, reloading does not disrupt active connections.
|
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.6 at Wed 26-Nov-2019 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.
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.6 at Wed 26-Nov-2019 1:37PM-PST
< OK: Font Server reset
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.
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]