Show Font (show-font.el)

Preview fonts in Emacs

This document contains the release notes for each tagged commit on the project’s main git repository: https://github.com/protesilaos/show-font.

The newest release is at the top. For further details, please consult the manual: https://protesilaos.com/emacs/show-font.

1. Version 0.2.0 on 2025-01-25

This version includes quality-of-life refinements.

1.1. Show fonts in a tabulated listing

The command show-font-tabulated will produce a listing of font families and their preview that uses the built-in tabulated interface. This interface is the same as the one used by M-x list-packages. Users can sort fonts by font family name (move point to the given column and type S or call M-x tabulated-list-sort).

When show-font-tabulated is called with a prefix argument (C-u by default), it prompts for a string or regular expression. It then shows only the font families matching the given input.

1.2. Limit font listing using a regular expression

The command show-font-list which we already had in version 0.1.0 is like the show-font-tabulated, but uses a bespoke buffer where each font and its preview are shown one after the other. Now it also accepts an optional prefix argument to limit the list to only the matching fonts.

1.3. The show-font-display-buffer-action-alist controls buffer placement

The preview buffers we use will now conform with the value of the new user option show-font-display-buffer-action-alist. This is a more advanced feature, due to how display-buffer works, so you may want to check the video I did recently about controlling where buffers are displayed: https://protesilaos.com/codelog/2024-02-08-emacs-window-rules-display-buffer-alist/.

The default value of show-font-display-buffer-action-alist will show the buffer at the bottom of the frame.

2. Version 0.1.0 on 2024-09-10

With show-font the user has the means to preview fonts inside of Emacs. This can be done in the following ways:

  • The command show-font-select-preview uses the minibuffer to prompt with completion for a font on the system. The selected font is then displayed in a bespoke buffer.
  • The command show-font-list produces a list with all the fonts available on the system. Each font on display is styled with its given character set.
  • The show-font-mode is a major mode that gets activated when the user visits a .ttf or .otf file. It will preview with the font, if it is installed on the system, else it will provide a helpful message and an option to install the font (NOTE 2024-09-10: this only works on Linux).

The previews include a pangram, which is controlled by the user option show-font-pangram. The default value is a playful take on the more familiar “the quick brown fox jumps over the lazy dog” phrase. Users can select among a few presets, or define their own custom string.

The function show-font-pangram-p is available for those who wish to experiment with writing their own pangrams (it is not actually limited to the Latin alphabet).

The user option show-font-character-sample provides a more complete character set that is intended for use in full buffer previews (i.e. not in the list of fonts). It can be set to any string. The default value is a set of alphanumeric characters that are commonly used in programming: a good monospaced font should render all of them unambiguously.

Finally, the following faces control the appearance of various elements.

  • show-font-small
  • show-font-regular
  • show-font-medium
  • show-font-large
  • show-font-title
  • show-font-title-small
  • show-font-misc
  • show-font-button