blob: b466313012e4abddb236f830ecef865b9a022e6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
(define-module (suweren home services fontutils)
#:use-module ((gnu home services fontutils)
#:prefix gnu:home:services:fontutils:)
#:use-module ((gnu services)
#:prefix gnu:services:))
(define antialias
'(match (@ (target "font"))
(edit (@ (mode "assign")
(name "antialias"))
(bool "true"))))
(define hinting
'(match (@ (target "font"))
(edit (@ (mode "assign")
(name "hinting"))
(bool "true"))))
(define hintstyle
'(match (@ (target "font"))
(edit (@ (mode "assign")
(name "hintstyle"))
(const "hintfull"))))
(define (indent-xml level)
(let* ((depth (* level 2))
(indentation (make-string depth
#\space)))
(string-append "\n"
indentation)))
(define rules
(let* ((monospace '(alias (family "monospace")
(prefer (family "Unifont"))))
(rgba '(match (@ (target "font"))
(edit (@ (mode "assign")
(name "rgba"))
(const "rgb"))))
(sans-serif '(alias (family "sans-serif")
(prefer (family "Unifont"))))
(serif '(alias (family "serif")
(prefer (family "Unifont")))))
(list
(indent-xml 1)
antialias
(indent-xml 1)
hinting
(indent-xml 1)
hintstyle
(indent-xml 1)
rgba
(indent-xml 1)
monospace
(indent-xml 1)
sans-serif
(indent-xml 1)
serif
(indent-xml 0))))
(define-public suweren-home-fontconfig-service-type
(gnu:services:simple-service
'suweren-fontconfig
gnu:home:services:fontutils:home-fontconfig-service-type
(list rules)))
|