branch: externals/fontaine
commit 10c4fa74e56edbb1e9c5209d8189cfa30cbd8512
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>

    Update to version 1.0.0
---
 CHANGELOG.org | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 README.org    |  7 +++--
 fontaine.el   |  2 +-
 3 files changed, 86 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 518b0691ba..c5c15ce24a 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -9,6 +9,88 @@ 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
+:PROPERTIES:
+:CUSTOM_ID: h:bb9803bd-6491-4b58-a685-822b0247fffc
+:END:
+
+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
+:PROPERTIES:
+:CUSTOM_ID: h:f842797f-5b46-40e4-adc3-e98b289d85bf
+:END:
+
+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:
+
+#+begin_src emacs-lisp
+(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...
+         )))
+#+end_src
+
+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
+:PROPERTIES:
+:CUSTOM_ID: h:d44c3958-e7d2-4190-93cf-92d983eb8e02
+:END:
+
+- 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
 :PROPERTIES:
 :CUSTOM_ID: h:757a185d-d367-4712-8313-ad17265e597f
diff --git a/README.org b/README.org
index 4079679b01..6434b4e33d 100644
--- a/README.org
+++ b/README.org
@@ -4,9 +4,9 @@
 #+language:              en
 #+options:               ':t toc:nil author:t email:t num:t
 #+startup:               content
-#+macro:                 stable-version 0.4.0
-#+macro:                 release-date 2022-09-07
-#+macro:                 development-version 0.5.0-dev
+#+macro:                 stable-version 1.0.0
+#+macro:                 release-date 2023-02-11
+#+macro:                 development-version 1.1.0-dev
 #+export_file_name:      fontaine.texi
 #+texinfo_filename:      fontaine.info
 #+texinfo_dir_category:  Emacs misc features
@@ -416,7 +416,6 @@ intend to change their values).  We then have this 
transformation:
 :CUSTOM_ID: h:9604c817-9b01-46d6-9455-58b8c393e441
 :END:
 
-[ Part of {{{development-version}}}. ]
 [[#h:35bc7f51-6368-4718-ad25-b276a1f2cc08][Shared and implicit fallback values 
for presets]].
 
 When defining multiple presets, we may need to duplicate properties
diff --git a/fontaine.el b/fontaine.el
index 44a5c076f4..c071fa549c 100644
--- a/fontaine.el
+++ b/fontaine.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Fontaine Development <~protesilaos/[email protected]>
 ;; URL: https://git.sr.ht/~protesilaos/fontaine
 ;; Mailing-List: https://lists.sr.ht/~protesilaos/fontaine
-;; Version: 0.4.1
+;; Version: 1.0.0
 ;; Package-Requires: ((emacs "27.1"))
 
 ;; This file is NOT part of GNU Emacs.

Reply via email to