gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Fontaine version 1.0.0


From: ELPA update
Subject: [GNU ELPA] Fontaine version 1.0.0
Date: Sat, 11 Feb 2023 05:03:32 -0500

Version 1.0.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
                            info@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 1.0.0,
  released on 2023-02-11.  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 1.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://git.sr.ht/~protesilaos/fontaine>.

The newest release is at the top.  For further details, please consult
the manual: <https://protesilaos.com/emacs/fontaine>.


Version 1.0.0 on 2023-02-11
═══════════════════════════

  Fontaine has been in a stable state for several months now.  I am thus
  increasing the major version number to reflect this fact.  Otherwise,
  this is a small release with only one sizeable addition.


Inherit the properties of another named preset
──────────────────────────────────────────────

  Preset font configuration can now optionally inherit (and thus extend)
  the properties of another named preset.

  When defining multiple presets, we may need to duplicate properties
  and then make tweaks to individual values.  Suppose we want to have
  two distinct presets for presentations: one is for coding related
  demonstrations and the other for prose.  Both must have some common
  styles, but must define distinct font families each of which is
  suitable for the given task.  In this case, we do not want to fall
  back to the generic `t' preset (per the default behaviour) and we also
  do not wish to duplicate properties manually, potentially making
  mistakes in the process.  Fontaine thus provides a method of
  inheriting a named preset's properties by using the `:inherit'
  property with a value that references the name of another preset
  (technically, the `car' of that list).  Here is the idea:

  ┌────
  │ (setq fontaine-presets
  │       '((regular
  │      :default-height 100)
  │     (code-demo
  │      :default-family "Source Code Pro"
  │      :default-weight semilight
  │      :default-height 170
  │      :variable-pitch-family "Sans"
  │      :bold-weight extrabold)
  │     (prose-demo
  │      :inherit code-demo ; copy the `code-demo' properties
  │      :default-family "Sans"
  │      :variable-pitch-family "Serif"
  │      :default-height 220)
  │     (t
  │      :default-family "Monospace"
  │      ;; more generic fallback properties here...
  │      )))
  └────

  In this scenario, the `regular' preset gets all its properties from
  the `t' preset.  We omit them here in the interest of brevity (see the
  default value of `fontaine-presets' and its documentation for the
  details).  In turn, the `code-demo' specifies more properties and
  falls back to `t' for any property not explicitly referenced therein.
  Finally, the `prose-demo' copies everything in `code-demo', overrides
  every property it specifies, and falls back to `t' for every other
  property.

  In the interest of simplicity, Fontaine does not support recursive
  inheritance.  If there is a compelling need for it, we can add it in
  future versions.


Bug fixes
─────────

  • Fixed a faulty setup for the `:height' attribute of the `bold' face.
    Using the commands `fontaine-set-preset' or `fontaine-set-face-font'
    with a prefix argument (`C-u' with default key bindings) does not
    produce an error anymore.  The prefix argument limits the operation
    to the current frame.

  • Updated the `Commentary' section of `fontaine.el' to use the
    FONTAINE backronym I have had on my website for a long time.
    Namely, I changed `FONTs Are Irrelevant in Non-graphical Emacs',
    which was cheating on a few letters, to `Fonts, Ornaments, and Neat
    Typography Are Irrelevant in Non-graphical Emacs'.  What do you mean
    this is not a bug fix? 🙃


Version 0.4.0 on 2022-09-07
═══════════════════════════

  ⁃ Made it possible for the user option `fontaine-presets' to cover the
    `fixed-pitch-serif' face.  This face is used by the default Emacs
    faces in Info buffers to render inline code elements.  A list of
  …  …

reply via email to

[Prev in Thread] Current Thread [Next in Thread]