Change Log of fontaine (fontaine.el)

This document contains the release notes for each tagged commit on the project's main git repository:

The newest release is at the top. For further details, please consult the manual:

Version 0.2.0 on 2022-05-09

  • Fontaine can apply its changes on a per-frame basis. One frame may, for example, use a preset of font configurations for the purposes of a "presentation" while the other has a "small" setup. Concretely, invoke the commands fontaine-set-preset and fontaine-set-face-font with a universal prefix argument (C-u). Without a prefix argument, these commands apply to all frames (as it was before).
  • The fontaine-presets accepts a special t preset which provides "shared fallback values" for all presets. The manual has a section titled "Shared and implicit fallback values for presets" which covers all permutations of fontaine-presets at length. The gist is that the user can write more concise presets. Thanks to Ted Reed for proposing the idea and testing my prototype in the mailing list:
  • Simplified the sample configuration on how to restore the latest saved value or fall back to a preferred preset. Thanks to Christopher League for proposing an elegant expression over at the mailing list:
  • The fontaine-latest-state-file is now handled by the package no-littering. Thanks to Christopher League for adding it there:
  • The new user option fontaine-font-families specifies the preferred font families that are provided as completion candidates of the command fontaine-set-face-font. If left to its default nil value, Fontaine tries to find relevant fonts from the underlying system, though this is not always accurate depending on the build of Emacs and where it runs in.
  • The doc string of fontaine-presets mentions some important caveats or information about font settings in emacs. Thanks to Eli Zaretskii for the feedback on the emacs-devel mailing list:

Version 0.1.0 on 2022-04-28

Initial release of the package. Please read the manual.

The core idea for this package was implemented in the prot-fonts.el file that is part of my dotfiles (now deprecated). I was using it at least since November 2020, though the underlying code was probably implemented at an earlier date.