2 ;;; font.scm -- implement Font stuff
4 ;;; source file of the GNU LilyPond music typesetter
6 ;;; (c) 2000--2003 Jan Nieuwenhuizen <janneke@gnu.org>
9 ;; Should separate default sizes
10 ;; into separate list/alist ?
14 Each entry in this vector has the following format
20 #(SIZE-FONT-ENTRIES... ) ))
22 where each SIZE-FONT-ENTRY is
24 (cons DESIGN-SIZE FONT-NAME)
28 (cons DESIGN-SIZE (list FONT-NAME1 FONT-NAME2 .. ))
32 (define-public magstep (exp (* (/ 1 6) (log 2))))
35 (define-public paper20-font-vector
36 '((#(medium upright number) .
37 (10 . #((10.0 . "feta-nummer10"))))
38 (#(medium upright roman) .
39 (10.0 . #((6.0 . "cmr6")
45 (20.0 . #((11.22 . ("feta11" "parmesan11"))
46 (12.60 . ("feta13" "parmesan13"))
47 (14.14 . ("feta14" "parmesan14"))
48 (15.87 . ("feta16" "parmesan16"))
49 (17.82 . ("feta18" "parmesan18"))
50 (20.0 . ("feta20" "parmesan20"))
51 (22.45 . ("feta23" "parmesan23"))
52 (25.20 . ("feta26" "parmesan26"))
54 (#(medium upright sans) .
55 (10.0 . #((8.0 . "cmss8")
60 (#(medium upright typewriter) .
61 (10.0 . #((8.0 . "cmtt8")
65 (#(bold italic roman) .
66 (10.0 . #((8.0 . "cmbxti8")
70 (#(medium italic roman) .
71 (10.0 . #((7.0 . "cmti7")
75 (#(bold upright roman) .
76 (10.0 . #((6.0 . "cmbx6")
81 (#(bold-narrow upright roman) .
82 (10.0 . #((10.0 . "cmb10")
84 (#(medium caps roman) .
85 (10.0 . #((10.0 . "cmcsc10"))))
87 ;; this is a little pointless, since feta-din scales linearly
89 (14.0 . #((8.0 . "feta-din10")
95 (10.0 . #((10.0 . "msam10"))))
98 (define (scale-font-entry entry factor)
101 (cons (* (cadr entry) factor)
104 (define size-independent-fonts
106 (10 . #((10.0 . ("feta-braces00"
114 "feta-braces80")))))))
116 (define-public (scale-font-list factor)
117 (append size-independent-fonts
118 (map (lambda (y) (scale-font-entry y factor)) paper20-font-vector)