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.