GNU bug report logs -
#57963
[PATCH 0/1] Support user's fontconfig.
Previous Next
Full log
View this message in rfc822 format
Am Donnerstag, dem 29.09.2022 um 23:36 +0900 schrieb Taiju HIGASHI:
> * gnu/home/services/fontutils.scm: Support user's fontconfig.
> ---
> gnu/home/services/fontutils.scm | 86 ++++++++++++++++++++++++++++++-
> --
> 1 file changed, 80 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/home/services/fontutils.scm
> b/gnu/home/services/fontutils.scm
> index 6062eaed6a..32127740f6 100644
> --- a/gnu/home/services/fontutils.scm
> +++ b/gnu/home/services/fontutils.scm
> @@ -1,6 +1,7 @@
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2021 Andrew Tropin <andrew <at> trop.in>
> ;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
> +;;; Copyright © 2022 Taiju HIGASHI <higashi <at> taiju.info>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -20,9 +21,16 @@
> (define-module (gnu home services fontutils)
> #:use-module (gnu home services)
> #:use-module (gnu packages fontutils)
> + #:use-module (gnu services configuration)
> #:use-module (guix gexp)
> + #:use-module (guix records)
> + #:use-module (srfi srfi-1)
> + #:use-module (sxml simple)
> + #:use-module (ice-9 match)
>
> - #:export (home-fontconfig-service-type))
> + #:export (home-fontconfig-service-type
> + home-fontconfig-configuration
> + default-font))
>
> ;;; Commentary:
> ;;;
> @@ -33,15 +41,81 @@ (define-module (gnu home services fontutils)
> ;;;
> ;;; Code:
>
> -(define (add-fontconfig-config-file he-symlink-path)
> +(define (default-font-sanitizer type)
> + (lambda (value)
> + (if (null? value)
> + value
> + `(alias
> + (family ,type)
> + (prefer
> + (family ,value))))))
> +
> +(define-record-type* <default-font> default-font
> + make-default-font
> + default-font?
> + (serif default-font-serif
> + (default '())
> + (sanitize (default-font-sanitizer 'serif)))
> + (sans-serif defalut-font-sans-serif
default-font-sans-serif
> + (default '())
> + (sanitize (default-font-sanitizer 'sans-serif)))
> + (monospace default-font-monospace
> + (default '())
> + (sanitize (default-font-sanitizer 'monospace))))
Rather than having a null default and sanitizing the field as here, can
we have an #f default and omit the field?
Btw. I'm not sure whether making this an extra record is the right
idea. Wouldn't "default-(serif|sans-serif|monospace)-family" at the
root make more sense?
Cheers
This bug report was last modified 216 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.