]> git.donarmstrong.com Git - lilypond.git/blob - scm/font.scm
* scm/font.scm (paper20-font-vector): add bold-narrow series (only
[lilypond.git] / scm / font.scm
1 ;;;
2 ;;; font.scm -- implement Font stuff
3 ;;;
4 ;;; source file of the GNU LilyPond music typesetter
5 ;;; 
6 ;;; (c)  2000--2003 Jan Nieuwenhuizen <janneke@gnu.org>
7 ;;;
8
9 ;; Should separate default sizes
10 ;; into separate list/alist ?
11
12
13 "
14 Each entry in this vector has the following format
15
16
17  (cons
18   #(QUALIFIERS)
19   (cons DEFAULT-SIZE
20         #(SIZE-FONT-ENTRIES... ) ))
21
22 where each SIZE-FONT-ENTRY is
23
24   (cons DESIGN-SIZE FONT-NAME)
25
26 or
27
28   (cons DESIGN-SIZE (list FONT-NAME1 FONT-NAME2 .. )) 
29
30 "
31
32
33 (define-public paper20-font-vector
34   '((#(medium upright number) .
35      (10 . #((10.0  . "feta-nummer10"))))
36     (#(medium upright roman) .
37      (10.0 . #((6.0 . "cmr6")
38                (8.0 . "cmr8") 
39                (10.0 . "cmr10")
40                (17.0 . "cmr17")
41                )))
42     (#(* * music). 
43      (20.0 . #((11.22 . ("feta11" "parmesan11"))
44                (12.60 . ("feta13" "parmesan13"))
45                (14.14 . ("feta14" "parmesan14"))
46                (15.87 . ("feta16" "parmesan16"))
47                (17.82 . ("feta18" "parmesan18"))
48                (20.0 . ("feta20" "parmesan20"))
49                (22.45 . ("feta23" "parmesan23"))
50                (25.20 . ("feta26" "parmesan26"))
51                )))
52     (#(medium upright sans) .
53      (10.0  . #((8.0 . "cmss8")
54                 (10.0 . "cmss10")
55                 (12.0 . "cmss12")
56                 (17.0 . "cmss17")
57                 )))
58     (#(medium upright typewriter) .
59      (10.0 . #((8.0 .  "cmtt8")
60                (10.0 . "cmtt10")
61                (12.0 . "cmtt12")
62                )))
63     (#(bold italic roman) .
64      (10.0 . #((8.0 . "cmbxti8")
65                (10.0 . "cmbxti10")
66                (14.0 . "cmbxti14")
67                )))
68     (#(medium italic roman) .
69      (10.0 . #((7.0 . "cmti7")
70                (10.0 . "cmti10")
71                (12.0 . "cmti12")
72                )))
73     (#(bold upright roman) .
74      (10.0 . #((6.0 . "cmbx6")
75                (8.0 . "cmbx8")
76                (10.0 . "cmbx10")
77                (12.0 . "cmbx12")
78                )))
79     (#(bold-narrow upright roman) .
80      (10.0 . #((10.0 . "cmb10")
81                )))
82     (#(medium caps roman) .
83      (10.0 . #((10.0 . "cmcsc10"))))
84
85     ;; this is a little pointless, since feta-din scales linearly
86     (#(* * dynamic) .
87      (14.0 .  #((8.0 . "feta-din10")
88                 (10.0 . "feta-din10")
89                 (14.0 . "feta-din14")
90                 (17.0 . "feta-din17")
91                 )))
92     (#(* * math) .
93      (10.0 . #((10.0 . "msam10"))))
94      ))
95
96 (define (scale-font-entry entry factor)
97   (cons
98    (car entry)
99    (cons (* (cadr entry) factor)
100          (cddr entry))))
101
102 (define size-independent-fonts
103   '((#(* * braces) .
104      (10 . #((10.0 . ("feta-braces00"
105                       "feta-braces10"
106                       "feta-braces20"
107                       "feta-braces30"
108                       "feta-braces40"
109                       "feta-braces50"
110                       "feta-braces60"
111                       "feta-braces70"
112                       "feta-braces80")))))))
113
114 (define-public (scale-font-list factor)
115   (append size-independent-fonts
116           (map (lambda (y) (scale-font-entry y factor))   paper20-font-vector)
117   ))
118     
119 ;
120