| FONTSRV(4) | 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`, `x0100.bit`, and so on representing 256-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.
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
| `/usr/local/plan9/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.