FONTSRV(4)

NAME
fontsrv - file system access to host fonts

SYNOPSIS
fontsrv [ -m mtpt ] [ -s srvname ]

fontsrv -p path

DESCRIPTION
Fontsrv presents the host window system's fonts in the standard Plan 9 format (see font((7))). It serves a virtual directory tree mounted at mtpt (if the -m option is given) and posted at srvname (default font).

The -p option changes fontsrv's behavior: rather than serve a file system, fontsrv prints to standard output the contents of the named path. If path names a directory in the served file system, fontsrv lists the directory's contents.

The fonts are arranged in a two-level tree. The root contains directories named for each system font. Each font directory contains subdirectories named for a point size and whether the subfonts are anti-aliased: 10 (bitmap) 10a (anti-aliased greyscale) 12, 12a, and so on. The font directory will synthesize additional sizes on demand: looking up 19a will synthesize the 19-point anti-aliased size if possible. Each size directory contains a font file and subfont files named x0000.bit, x0020.bit, and so on representing 32-character Unicode ranges.

Openfont (see graphics((3))) recognizes font paths beginning with /mnt/font and implements them by invoking fontsrv; it need not be running already. See font((7)) for a full discussion of font name syntaxes.

EXAMPLES
List the fonts on the system:

        % fontsrv &
        % 9p ls font

or:

        % fontsrv -p .

Run acme((1)) using the operating system's Monaco as the fixed-width font:

        % acme -F /mnt/font/Monaco/13a/font

Run sam((1)) using the same font:

        % font=/mnt/font/Monaco/13a/font sam

SOURCE
/src/cmd/fontsrv

SEE ALSO
font((7))

BUGS

Due to OS X restrictions, fontsrv does not fork itself into the background when serving a user-level file system.

Fontsrv has no support for X11 fonts; on X11 systems, it will serve an empty top-level directory.

On OS X, the anti-aliased bitmaps are not perfect. For example, the lower case r in the subfont Times-Roman/14a/x0000.bit appears truncated on the right and too light overall.