Skip to content

g.mkfontcap

Generates the font configuration file by scanning various directories for fonts.

g.mkfontcap [-s] [extradirs=string] [--verbose] [--quiet] [--qq] [--ui]

Example:

g.mkfontcap

grass.script.run_command("g.mkfontcap", extradirs=None, flags=None, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("g.mkfontcap")

Parameters

extradirs=string
    List of extra directories to scan
    Comma-separated list of extra directories to scan for Freetype-compatible fonts as well as the defaults (see documentation)
-s
    Write font configuration file to standard output instead of $GISBASE/etc
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

extradirs : str, optional
    List of extra directories to scan
    Comma-separated list of extra directories to scan for Freetype-compatible fonts as well as the defaults (see documentation)
flags : str, optional
    Allowed values: s
    s
        Write font configuration file to standard output instead of $GISBASE/etc
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

g.mkfontcap is a utility to generate a GRASS font configuration file ("fontcap") containing details of the fonts available on the current system. If Freetype is not installed, the font list will be limited to the set of Hershey stroke fonts supplied with GRASS. With Freetype enabled however, the module will recursively scan all files within a predefined hierarchy to find Freetype-compatible scalable fonts. The list of directories scanned is currently:

    /usr/lib/X11/fonts
    /usr/share/X11/fonts
    /usr/share/fonts
    /usr/local/share/fonts
    ${HOME}/Library/Fonts
    /Library/Fonts
    /System/Library/Fonts
    ${WINDIR}/Fonts

These correspond to directories where fonts can be found on some common operating systems. Extra directories to search can easily by added using the extradirs parameter, which accepts a comma-separated list. An extra directory may optionally contain an environment variable at the start of the string, if enclosed in ${xxx} syntax (see examples above).

The module will normally write to the standard fontcap file location, $GISBASE/etc/fontcap. If the environment variable GRASS_FONT_CAP is set, the output will instead be written to the file specified by that variable. This is useful if you don't have permission to modify $GISBASE/etc/fontcap: in this case you can use e.g.

# use local file version instead of system copy
GRASS_FONT_CAP=$HOME/.gfontcap
export GRASS_FONT_CAP

g.mkfontcap

to create a personal copy and then to make GRASS use that file instead of the system copy.

The output list of fonts is sorted first by type (Stroke fonts first, followed by Freetype) and within each type by the short name of the font.

SEE ALSO

d.font

AUTHOR

Paul Kelly

SOURCE CODE

Available at: g.mkfontcap source code (history)
Latest change: Thursday May 08 14:35:40 2025 in commit 9528b1e