]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/font.scm
*** empty log message ***
[lilypond.git] / scm / font.scm
index ba06c70c25cc8007eeff3fbc663df46ea75df582..d0ffe6565567d250213ead8555bd2309382ff875 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
 ;; As an excercise, do it with records.
 ;; Should use GOOPS, really.
                                        ; Each size family is a vector of fonts, loaded with a delay.
                                        ; The vector should be sorted according to ascending design size.
                                        ;
+(define feta-alphabet-size-vector
+  (if (defined? 'ly:kpathsea-find-file)
+      `#(,(delay  (ly:font-load "feta-alphabet11"))
+        ,(delay  (ly:font-load "feta-alphabet13"))
+        ,(delay  (ly:font-load "feta-alphabet14"))
+        ,(delay  (ly:font-load "feta-alphabet16"))
+        ,(delay  (ly:font-load "feta-alphabet18"))
+        ,(delay  (ly:font-load "feta-alphabet20"))
+        ,(delay  (ly:font-load "feta-alphabet23"))
+        ,(delay  (ly:font-load "feta-alphabet26")))
+      (list->vector
+       (map (lambda (tup)
+             (cons (ly:pt (cdr tup))
+                   (format "feta-alphabet~a ~a"
+                           (car tup)
+                           (ly:pt (cdr tup)))))
+           '((11 . 11.22)
+             (13 . 12.60)
+             (14 .  14.14)
+             (16 . 15.87)
+             (18 . 17.82)
+             (20 . 20)
+             (23 . 22.45)
+             (26 . 25.20))))))
 
 (define-public (add-music-fonts node factor)
   (for-each
               (list (cons 'font-encoding (car x)))
               (cons (* factor (cadr x))
                     (caddr x))))
-   `((fetaNumber ,(ly:pt 20)
-                #(,(delay  (ly:font-load "feta-alphabet11"))
-                  ,(delay  (ly:font-load "feta-alphabet13"))
-                  ,(delay  (ly:font-load "feta-alphabet14"))
-                  ,(delay  (ly:font-load "feta-alphabet16"))             
-                  ,(delay  (ly:font-load "feta-alphabet18"))
-                  ,(delay  (ly:font-load "feta-alphabet20"))             
-                  ,(delay  (ly:font-load "feta-alphabet23"))             
-                  ,(delay  (ly:font-load "feta-alphabet26"))))
-     
-     (fetaDynamic ,(ly:pt 20.0)  #(,(delay  (ly:font-load "feta-alphabet11"))
-                                  ,(delay  (ly:font-load "feta-alphabet13"))
-                                  ,(delay  (ly:font-load "feta-alphabet14"))
-                                  ,(delay  (ly:font-load "feta-alphabet16"))
-                                  ,(delay  (ly:font-load "feta-alphabet18"))
-                                  ,(delay  (ly:font-load "feta-alphabet20"))
-                                  ,(delay  (ly:font-load "feta-alphabet23"))
-                                  ,(delay  (ly:font-load "feta-alphabet26"))))
-     
+   `((fetaDynamic ,(ly:pt 20.0)  ,feta-alphabet-size-vector)
+     (fetaNumber ,(ly:pt 20.0)  ,feta-alphabet-size-vector)
      (fetaMusic ,(ly:pt 20.0)
-               #(,(delay  (ly:font-load "emmentaler11"))
-                 ,(delay  (ly:font-load "emmentaler13"))                 
-                 ,(delay  (ly:font-load "emmentaler14"))
-                 ,(delay  (ly:font-load "emmentaler16"))                 
-                 ,(delay  (ly:font-load "emmentaler18"))
-                 ,(delay  (ly:font-load "emmentaler20"))                 
-                 ,(delay  (ly:font-load "emmentaler23"))                 
-                 ,(delay  (ly:font-load "emmentaler26"))))
+               #(,(delay  (ly:font-load "emmentaler-11"))
+                 ,(delay  (ly:font-load "emmentaler-13"))                
+                 ,(delay  (ly:font-load "emmentaler-14"))
+                 ,(delay  (ly:font-load "emmentaler-16"))                
+                 ,(delay  (ly:font-load "emmentaler-18"))
+                 ,(delay  (ly:font-load "emmentaler-20"))                
+                 ,(delay  (ly:font-load "emmentaler-23"))                
+                 ,(delay  (ly:font-load "emmentaler-26"))))
 
      (fetaBraces ,(ly:pt 20.0) #(,(delay
                            (ly:font-load "aybabtu")))))))
                  ,(delay (ly:font-load "ectt10"))
                  ,(delay (ly:font-load "ectt12"))))))))
 
-(define-public (add-pango-fonts node family factor)
+(define-public (add-pango-fonts node lily-family family factor)
   (define (add-node shape series)
     (add-font node
-             `((font-family . ,family)
+             `((font-family . ,lily-family)
                (font-shape . ,shape)
                (font-series . ,series)
                (font-encoding . latin1) ;; ugh.
   (let ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
     (add-music-fonts n factor)
     (add-cmr-fonts n factor)
-    (if (ly:kpathsea-find-file "lmr10.pfb")
-       (add-cork-lm-fonts n factor))
-    (if (ly:kpathsea-find-file "ecrm10.pfa")
-       (add-ec-fonts n factor))
+    (if (defined? 'ly:kpathsea-find-file)
+       (begin
+         (if (ly:kpathsea-find-file "lmr10.pfb")
+             (add-cork-lm-fonts n factor))
+         (if (ly:kpathsea-find-file "ecrm10.pfa")
+             (add-ec-fonts n factor))))
     n))
 
 (define-public (make-century-schoolbook-tree factor)
   (let ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
     (add-music-fonts n factor)
-    (add-pango-fonts n "Century Schoolbook L" factor)
+    (add-pango-fonts n 'roman "Century Schoolbook L" factor)
+    (add-pango-fonts n 'sans "Luxi Sans" factor)
     n))
 
 (define-public (magstep x)