Version 3.0.1 of package Fontaine has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Fontaine describes itself as: ===================================== Set font configurations using presets ===================================== More at https://elpa.gnu.org/packages/fontaine.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FONTAINE.EL: SET FONT CONFIGURATIONS USING PRESETS Protesilaos Stavrou i...@protesilaos.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This manual, written by Protesilaos Stavrou, describes the customization options for `fontaine' (or `fontaine.el'), and provides every other piece of information pertinent to it. The documentation furnished herein corresponds to stable version 3.0.0, released on 2025-02-20. Any reference to a newer feature which does not yet form part of the latest tagged commit, is explicitly marked as such. Current development target is 3.1.0-dev. ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━━━━━━ CHANGE LOG OF FONTAINE.EL ━━━━━━━━━━━━━━━━━━━━━━━━━━━ This document contains the release notes for each tagged commit on the project's main git repository: <https://github.com/protesilaos/fontaine>. The newest release is at the top. For further details, please consult the manual: <https://protesilaos.com/emacs/fontaine>. Table of Contents ───────────────── Version 3.0.0 on 2025-02-20 Version 3.0.0 on 2025-02-20 ═══════════════════════════ This version changes the underlying implementation of Fontaine's font configuration presets. In principle, this should not have any effect on how users experience the package, though there are some important details that are different. Fontaine is now a "theme" ───────────────────────── Fontaine has always modified typography-related faces, such as `default', `fixed-pitch', and `variable-pitch', to apply the font family, height, and weight specified by the user. In the past, this was done in a way that could get overridden under certain conditions, such as by loading a theme after setting a Fontaine preset configuration. By making Fontaine a theme, we guarantee that its settings are not undone. In practice, this means that users do not have to re-apply the current preset after loading a theme. The function `fontaine-apply-current-preset' is thus obsolete. In Emacs, a "theme" is a bundle of configurations. Those typically cover colours (such as with my `modus-themes'), but a theme can focus on other settings as well. For example, the popular `use-package' is internally done as a theme (check the value of `custom-known-themes'). Fontaine is a theme in the same way `use-package' is, meaning that it will (i) persist its effects, (ii) not show up in the `custom-enabled-themes' and so not be affected by something like `(mapc #'disable-theme custom-enabled-themes)', and (iii) not be an option among those presented by `load-theme'. There are no known bugs, though please contact me if you encounter a scenario where Fontaine does not do the right thing. Thanks, in this regard, to Haruko and Emily Hyland for reporting a couple of bugs: • <https://github.com/protesilaos/fontaine/issues/14>. • <https://github.com/protesilaos/fontaine/issues/15>. Fontaine no longer has frame-specific effects ───────────────────────────────────────────── In the past, users could apply a Fontaine preset to the current frame without affecting other frames. While this could be useful in certain situations, it was ultimately making the code more complex for marginal gains. As part of the transition to a theme, which is anyway global, I am removing everything related to frame-specific functionality. Quality-of-life refinements ─────────────────────────── • The `fontaine-generic-face-families' are used when necessary to guard against `nil' values. Those font families are symbolic references to whatever the operating system is configured to use (e.g. on Linux this is handled by fontconfig). • If Fontaine is instructed to load an invalid preset, it displays a warning and does nothing else. Before, it would produce an error, which could prevent Emacs from starting up normally if this were to happen at startup. A warning is enough to inform the user of what is happening. • Same principle as above when Emacs is not ran in a graphical interface. In text terminals, Fontaine cannot work because it is not possible to have different font families, styles, and heights, than those of the terminal (hence the backronym of FONTAINE "Fonts, Ornaments, and Neat Typography Are Irrelevant in Non-graphical Emacs"). Thanks to Jorge Gomez for the patch in pull request 13: <https://github.com/protesilaos/fontaine/pull/13>. Further tweaks by … …