Version 2.1.0 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 2.1.0,
  released on 2024-09-02.  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 2.2.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 2.1.0 on 2024-09-02


Version 2.1.0 on 2024-09-02
═══════════════════════════

  Fontaine is in a stable state and I find it very useful every day.
  This release includes some small quality-of-life improvements.


Use the `fontaine-toggle-preset' command
────────────────────────────────────────

  It will switch between the last preset and the one you are currently
  using. If it cannot find an older preset, it will prompt for one using
  minibuffer completion.

  Presets are set with the `fontaine-set-preset' command, either
  interactively or from Lisp (e.g. in the `init.el' file).

  Internally, `fontaine-toggle-preset' takes care to only switch between
  existing presets, so old preset names (such as from the time of some
  experiment) will be skipped if they are not part of the current value
  of `fontaine-presets'.


All entries in the `fontaine-presets' accept and optional width attribute
─────────────────────────────────────────────────────────────────────────

  This is for users who need to set an explicit width value to the
  underlying face they are targeting. This, of course, depends on the
  capabilities of the font family that is used. Those that do not
  support varying widths will have no effect.

  The width attribute for all existing entries is composed by the name
  of the face plus the `-width' suffix, such as `:fixed-pitch-width'.
  Check the Fontaine manual for a complete example.

  Thanks to Adam Porter for making the suggestion to cover the width
  attribute in issue 6:
  <https://github.com/protesilaos/fontaine/issues/6>.

  The `fontaine-presets' can look very long if all values are set, as we
  cover all typography-related faces and all their attributes. But do
  not let this intimidate you. Your configuration can be short and still
  highly usable. For example:

  ┌────
  │ (setq fontaine-presets
  │       '((coding ; get the fallback values and override the `:default-height'
  │      :default-height 120)
  │     (reading  ; change more stuff from the fallback values
  │      :default-height 140
  │      :default-family "Fira Sans"
  │      :fixed-pitch-family "Fira Mono"
  │      :variable-pitch-family "Merriweather")
  │     (presentation
  │      :inherit reading ; copy the attributes of `reading', then override the 
`:default-height'
  │      :default-height 220)
  │     (t ; everything falls back to this
  │      :default-family "Iosevka Comfy"
  │      :default-height 100
  │      :fixed-pitch-family "Iosevka Comfy Motion"
  │      :variable-pitch-family "Iosevka Comfy Duo")))
  └────

  With these, you can switch between `coding', `reading', and
  `presentation' to match your evolving workflow requirements.

  These allow you to switch between not only different font families,
  but also font combinations to match a certain style, with higher or
  lower heights, and so on.


The `fontaine-set-preset' prompt only uses relevant default presets
───────────────────────────────────────────────────────────────────

  When you invoke the command `fontaine-set-preset' it tries to find a
  previous preset to set it as the default minibuffer value. This means
  that if you press `RET' without selecting anything, the default will
  be used (check with your minibuffer package in case this does not
  happen, or contact me if you need help).

  Before, the default value was the last selected preset. This could be
  out-of-date though if the `fontaine-presets' were rewritten in the
  meantime. Now we take care to only produce a default value that is …
  …

Reply via email to