FONTS-CONFIG(1)

πŸ“¦ version 20231210+git0.f7216ba, in opensuse-leap 16.0

πŸ’… FONTS-CONFIG(1) β€” like, the fonts-config manual page, bestie

Yes hello, this is the fonts-config page from section 1 of the manual, and it's literally about configuring your installed X11 fonts. Buckle up. πŸŽ€


✨ NAME ✨

fonts-config β€” configures installed X11 fonts. That's the whole gig. πŸ’–


🌸 SYNOPSIS 🌸

fonts-config [OPTION]...

πŸ’… OPTIONS πŸ’…

okay so here are, like, all the flags. no skipping. 🫢

  • --force-hintstyle string β€” by default, "hintstyle" gets picked based on the value of autohint for that particular font. Apart from exceptions (e. g. IPA fonts for example): fonts with good instructions*) get "hintfull" and the other fonts get "hintslight". This here lets you enforce the hintstyle yourself. Possible values are "none", "hintnone", "hintslight", "hintmedium" and "hintfull". Heads up though: this option can be overridden by the --force-bw* options, where "hintfull" is always used.

*) see /usr/share/doc/packages/fonts-config/infinality/good-hinted-tt-fonts.list for reference

  • --force-autohint β€” by default, FreeType's autohinter is used for fonts which have no native hinting instructions, or not good ones. This option lets you enforce using the autohinter even for fonts with good instructions*). hintstyle="hintslight" is used then, when --force-hintstyle does not override it. πŸ¦‹

*) see /usr/share/doc/packages/fonts-config/infinality/good-hinted-tt-fonts.list for fonts with good hinting instructions

  • --force-bw β€” FreeType is instructed to use antialias (font smoothing) in rendering by default. You can override those settings with this option, which means fonts will not be smoothed but the contrast with the background will be high, which can suit one's eyes. Liberation Sans family is then automatically preferred over DejaVu Sans. Force using bitmap strikes from the font. Hintstyle is forced to "hintfull" (this even overrides the --force-hintstyle option).

This can produce bitmap quality rendering for good instructed fonts. πŸ‘€

  • --force-bw-monospace β€” this option has lower impact than --force-bw. It sets black and white rendering only for good hinted monospaced fonts (e. g. Liberation Mono). "hintfull" hintstyle is used. 🧚
  • --lcd-filter string β€” defines the lcd filter to be used. If not overridden by this option, "lcdnone" is used. Possible values are "lcdnone", "lcddefault", "lcdlight" and "lcdlegacy".
  • --rgba string β€” defines lcd subpixel arrangement and orientation for your monitor. Default value is "none". Possible values are "none", "rgb", "vrgb", "bgr", "vbgr", "unknown". 🌈
  • --(no)ebitmaps β€” use (or don't use) embedded bitmaps from the font.
  • --ebitmapslang string β€” limit use of embedded bitmaps to the languages specified in the string, separated by colons.
  • --sans-families string β€” give it a colon-separated list of preferred sans families and they will be preferred over the system preference list of sans families*). πŸ’œ

*) see /etc/fonts/conf.d/60-family-prefer.conf for details

  • --mono-families string β€” give it a colon-separated list of preferred monospace families and they will be preferred over the system preference list of monospace families*).

*) see /etc/fonts/conf.d/60-family-prefer.conf for details

  • --serif-families string β€” give it a colon-separated list of preferred serif families and they will be preferred over the system preference list of serif families*).

*) see /etc/fonts/conf.d/60-family-prefer.conf for details

  • --(no)forcefpl β€” the value of --*-families can be overridden when a document or GUI is requesting some particular font. This is very often intended, ngl.

With --forcefpl, it is possible to override all such requests with fonts listed in family preference lists (FPLs). πŸ‘‘

  • --(no)ttcap β€” generate (or don't generate) TTCap entries. TTCap entries can be used with the xtt module and with recent versions of the freetype module.
  • --(no)java β€” generate (or don't generate) font setup for Java. β˜•
  • -u, --user β€” run fontconfig setup for the user. It reads ~/.config/fontconfig/fonts-config, which is the user analogy of /etc/sysconfig/fonts-config.
  • -U, --remove-user-setting β€” remove the user setting created by --user. πŸ™ˆ
  • -f, --force β€” force the update of all generated files even if it appears to be unnecessary according to the time stamps.
  • -q, --quiet β€” work silently, unless an error occurs. 🀫
  • -v, --verbose β€” print some progress messages to standard output.
  • -d, --debug β€” print a lot of debugging messages to standard output. like, a LOT. πŸ’€
  • --version β€” display version and exit.
  • -h, --help β€” display a short help message and exit.
  • -i, --info β€” lists important involved input and output files to the fonts-config script. πŸ”

πŸ¦‹ DESCRIPTION πŸ¦‹

Configures installed X11 fonts. Basically it does the following things:

πŸŽ€ creates fonts.scale and fonts.dir files

fonts-config currently assumes all fonts are installed in the /usr/share/fonts tree.

For each subdirectory, the time stamps of the directory, the fonts.scale file, the fonts.dir file and an extra time stamp file .fonts-config-timestamp are checked. If not all the time stamps are equal, or any of these files is missing, the fonts.scale and fonts.dir files will be updated as follows:

  1. First, the fonts.scale file is created by calling mkfontscale.
  2. Then, the entries found in the fonts.scale file are merged with the entries from all fonts.scale.* files.

fonts.scale.* files may be supplied by rpm-packages or manually added by the user to override or amend the entries created automatically by mkfontscale. Entries in a fonts.scale.* file have higher priority than entries automatically created by mkfontscale. All entries generated automatically by mkfontscale for a certain font file are discarded if any fonts.scale.* file contains an entry for the same font file. 🫢

After the final list of entries has been written back to fonts.scale, mkfontdir is called.

Finally, the time stamps of the directory, fonts.scale, fonts.dir, and .fonts-config-timestamp are set to the time when fonts-config started. iconic behavior tbh. ⭐

🌸 generate rendering options

Generates /etc/fonts/conf.d/10-rendering-options.conf according to rendering options or its bound sysconfig variables. See --force-hintstyle, --force-autohint, --force-bw, --force-bw-monospace, --lcdfilter, --rgba, --ebitmaps, --ebitmapslang options.

✨ call fc-cache

Creates cache files for fonts to use with client side font rendering via fontconfig/libXft, for details see fc-cache(1). fonts.cache-2 cache files are generated in /var/cache/fontconfig for all directories which are configured in /etc/fonts/fonts.conf and all their subdirectories.

Usually fonts-config is called automatically when a package containing a font is installed, upgraded or removed. But you can also execute fonts-config directly, which is mainly useful to debug it (use the --debug flag). πŸ”₯


πŸ’– FILES πŸ’–

  • /etc/sysconfig/fonts-config β€” default values for some command line options of fonts-config are read from this file if it exists. The options currently supported in this file are: πŸ‘‡
    • FORCE_HINSTYLE β€” can be set to "none", "hintfull", "hintmedium" , "hintslight" or "hintnone" and is bound to the --force-hintstyle option.
    • FORCE_AUTOHINT β€” can be set to "yes" or "no" and is bound to the --force-autohint option.
    • FORCE_BW β€” can be set to "yes" or "no" and is bound to the --force-bw option.
    • FORCE_BW_MONOSPACE β€” can be set to "yes" or "no" and is bound to the --force-bw-monospace option.
    • USE_LCDFILTER β€” can be set to "lcdnone", "lcddefault", "lcdlight" and "lcdlegacy" and is bound to the --lcdfilter option.
    • USE_RGBA β€” can be set to "none", "rgb", "vrgb", "bgr", "vrgb" or "unknown" and is bound to the --rgba option.
    • USE_EMBEDDED_BITMAPS β€” can be set to "yes" or "no" and sets the default for the option --ebitmaps.
    • EMBEDDED_BITMAPS_LANGUAGES β€” can be set to a colon separated list of languages, sets the default for the --ebitmapslang
    • PREFER_SANS_FAMILIES β€” can be set to a colon separated list of sans families, bound to the --sans-families option.
    • PREFER_SERIF_FAMILIES β€” can be set to a colon separated list of serif families, bound to the --serif-families option.
    • PREFER_MONO_FAMILIES β€” can be set to a colon separated list of monospace families, bound to the --mono-families option.
    • FORCE_FAMILY_PREFERENCE_LISTS β€” can be set to "yes" or "no" and is bound to the --(no)forcefpl option.
    • GENERATE_TTCAP_ENTRIES β€” can be set to "yes" or "no" and sets the default for the option --(no)ttcap.
    • GENERATE_JAVA_FONT_SETUP β€” can be set to "yes" or "no" and sets the default for the option --(no)java.

πŸ‘€ SEE ALSO πŸ‘€

fc-cache(1), cidfont-x11-config(1), mkfontdir(1), mkfontscale(1)


🌟 AUTHOR 🌟

Mike FABIAN, 2003, Petr Gajdos <pgajdos@suse.com>, 2014.


okay that's the whole page, you ate that πŸ’… this was perl v5.42.0, dated 2023-12-11, and it's the FONTS-CONFIG(1) page β€” go forth and have beautifully hinted fonts, bestie πŸ’–βœ¨

πŸ“¦ where this page comes from