]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.103
authorfred <fred>
Wed, 27 Mar 2002 00:02:04 +0000 (00:02 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:02:04 +0000 (00:02 +0000)
buildscripts/tfm2afm.scm [new file with mode: 0644]
input/test/jazz-chords.ly
ly/engraver.ly
scm/auto-beam.scm [new file with mode: 0644]
scm/chord-names.scm
scm/font.scm
scm/lily.scm
scm/slur.scm
scripts/as2text.scm

diff --git a/buildscripts/tfm2afm.scm b/buildscripts/tfm2afm.scm
new file mode 100644 (file)
index 0000000..c6d685c
--- /dev/null
@@ -0,0 +1,174 @@
+#!@GUILE@ \
+-e main -s
+!#
+;;;; tfm2afm.scm -- convert tfm to afm, with the aid of tfmtodit
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;; 
+;;;; (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+
+(debug-enable 'backtrace)
+
+;;;; library funtions
+(use-modules
+  (ice-9 debug)
+  (ice-9 format)
+  (ice-9 getopt-long)
+  (ice-9 string-fun)
+  (ice-9 regex))
+
+;;; Script stuff
+(define program-name "tfm2afm")
+
+(define cur-output-name "-")
+(define cur-output-file '())
+
+(define subst-version "@TOPLEVEL_VERSION@")
+
+(define program-version        
+  (if (eq? subst-version (string-append "@" "TOPLEVEL_VERSION" "@"))
+      "unknown"
+      subst-version))
+
+(define (show-version port)
+  (display (string-append 
+           program-name " - LilyPond version " program-version "\n")
+          port))
+
+(define (show-help)
+  (display "Convert TFM to AFM
+
+Usage: tfm2afm [OPTION]... TFM-FILE
+
+Options:
+  -h,--help          this help
+  -o,--output=FILE   set output file
+  -v,--version       show version
+
+Example: tfm2afm `kpsewhich cmr10.tfm`
+"))
+
+(define (gulp-file name)
+  (let* ((file (open-input-file name))
+        (text (read-delimited "" file)))
+    (close file)
+    text))
+        
+(define (dump-file name text)
+  (let ((file (open-output-file name)))
+    (display text file)
+    (close file)))
+
+;; urg, this kind of naming costs too much indenting
+(define (split c s r)
+  (separate-fields-discarding-char c s r))
+
+
+;;; Script entry point
+(define (main args)
+  (let ((options (getopt-long args
+                             `((output (single-char #\o)
+                                          (value #t))
+                               (help (single-char #\h))
+                               (version (single-char #\v))))))
+    (define (opt tag default)
+      (let ((pair (assq tag options)))
+        (if pair (cdr pair) default)))
+
+    (if (assq 'help options)
+       (begin (show-version (current-output-port)) (show-help) (exit 0)))
+
+    (if (assq 'version options)
+       (begin (show-version (current-output-port)) (exit 0)))
+
+    (show-version (current-error-port))
+    (let ((output-name (opt 'output "-"))
+         (files (let ((foo (opt '() '())))
+                     (if (null? foo) 
+                         (list "-")
+                         foo))))
+        (do-file (car files) output-name))))
+
+(define (string->dim scale string)
+  (/ (string->number string) scale))
+
+;; C 0 ; WX 7 ; N  rests-0 ;  B 0 -3125 7
+(define (afm-char scale number name width height depth)
+  (let ((w (string->dim scale width))
+       (h (string->dim scale height))
+       (d (string->dim scale depth)))
+    ;; ARG: can't find doco for (format): ~s prints string in quotes
+    ;;(format "C ~s ; WX ~d ; N ~s ; B 0 ~,3f ~,3f ~,3f ;\n"
+    ;;   number (inexact->exact w) name d w h)
+    (string-append "C " number " ; "
+                  (format "WX ~d ; " (inexact->exact w))
+                  "N " name " ; "
+                  (format "B 0 ~,3f ~,3f ~,3f ;\n" d w h))))
+
+;; # width[,height[,depth[,italic_correction[,left_italic_correction[,subscript_correction]]]]]
+(define (dit-to-afm-char scale x)
+  (if (> (string-length x) 0)
+      (let* ((l (split #\ht x list))
+            (name (car l))
+            (dimensions (append (split #\, (cadr l) list) '("0" "0" "0"))))
+       (let ((number (substring name (+ (string-index name #\- ) 1)))
+             (width (car dimensions))
+             (height (cadr dimensions))
+             (depth (caddr dimensions)))
+         (afm-char scale number name width height depth)))
+       ""))
+
+;;
+;; Hmm, this is a 10-liner in awk,
+;; what am I doing wrong?
+;;
+(define (do-file tfm-name output-name)
+  (let* ((font (basename tfm-name '.tfm))
+        (afm-name (string-append font '.afm))
+        (dit-name (string-append font '.dit))
+        (chart-name (string-append font '.chart))
+        (chart (let loop ((i 0) (s ""))
+                 (if (= i 256)
+                     s
+                     (let ((n (number->string i)))
+                       (loop (+ i 1) (string-append s n " Character-" n "\n")))))))
+    
+    (dump-file chart-name chart)
+    
+    (if (= 0 (primitive-fork))
+       (execlp 'tfmtodit tfm-name tfm-name chart-name dit-name)
+       (waitpid 0))
+    
+    (let* ((dit (gulp-file dit-name))
+          (sections (split #\np (regexp-substitute/global
+                                 #f
+                                 "name \|\ninternalname \|\nspacewidth \|\nchecksum\|\ndesignsize \|\nkernpairs\n\|\ncharset\n"
+                                 dit 'pre "\f" 'post)
+                           list))
+          (dit-vector (list->vector (cdr sections))))
+      
+      (dump-file
+       afm-name
+       (let ((name (vector-ref dit-vector 0))
+            (internalname (vector-ref dit-vector 1))
+            (spacewidth (vector-ref dit-vector 2))
+            (checksum (vector-ref dit-vector 3))
+            (designsize (vector-ref dit-vector 4))
+            (kernpairs (vector-ref dit-vector 5))
+            (charset (split #\nl (vector-ref dit-vector 6) list)))
+        (let ((scale (/ (string->number designsize) 100)))
+          (string-append
+           "FontName cmr
+StartFontMetrics
+StartCharMetrics "
+           (number->string (- (length charset) 2))
+           "\n"
+           (apply string-append
+                  (map (lambda (x) (dit-to-afm-char scale x))
+                       charset))
+           "EndCharMetrics
+EndFontMetrics"
+           )))))))
+     
+    
+  
\ No newline at end of file
index 5c79a485d5d915ba72b8bba8d559bc2188c9158e..3ec8bd437d5a4b5f8c1fc3c84791a4593729f3f5 100644 (file)
@@ -1,46 +1,64 @@
-\version "1.3.96"
 %% This should only be necessary if your kpathsea setup is broken
-%%
-%% Make sure the correct msamxx.tfm is where lily can find it
-%% (ie cwd or lily's tfm dir).
-%%
-%% For normal (20pt) paper, do
-%%
-%%   cp locate `msam9.tfm` $LILYPONDPREFIX/tfm
+%
+% Make sure the correct msamxx.tfm is where lily can find it
+% (ie cwd or lily's tfm dir).
+%
+% For normal (20pt) paper, do
+%
+%   cp locate `msam9.tfm` $LILYPONDPREFIX/tfm
+%
 
-#(set! chord::names-alist-american
-      (append 
-      '(
-        ;; any changes here, see scm/chord-names.scm
+chord = \notes\transpose c''\chords{
+\property ChordNames.ChordNames \push #'style = #"jazz"
+% major chords
+c
+c:6            % 6 = major triad with added sixth
+c:maj          % triangle = maj
+c:6.9^7                % 6/9 
+c:9^7          % add9
 
+% minor chords
+c:m            % m = minor triad
+c:m.6          % m6 = minor triad with added sixth
+c:m.7+         % m triangle = minor major seventh chord
+c:3-.6.9^7     % m6/9 
+c:m.7          % m7
+c:3-.9         % m9
+c:3-.9^7       % madd9
 
-        ;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super "o7"))
-        ;jazz: the delta, see jazz-chords.ly
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . math) "N")))
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
+% dominant chords
+c:7            % 7 = dominant
+c:7.5+         % +7 = augmented dominant
+c:7.5-         % 7b5 = hard diminished dominant
+c:9            % 7(9)
+c:9-           % 7(b9)
+c:9+           % 7(#9)
+c:13^9.11      % 7(13)
+c:13-^9.11     % 7(b13)
+c:13^11                % 7(9,13)
+c:13.9-^11     % 7(b9,13)
+c:13.9+^11     % 7(#9,13)
+c:13-^11       % 7(9,b13)
+c:13-.9-^11    % 7(b9,b13)
+c:13-.9+^11    % 7(#9,b13)
 
-        ;(((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (super "x7"))
-        ; slashed o
-       )
-      chord::names-alist-american))
+% half diminished chords
+c:m5-.7                % slashed o = m7b5
+c:9.3-.5-      % ø7(pure 9)
+
+% diminished chords
+c:m5-.7-       % o = diminished seventh chord
 
-chord = \notes\transpose c''\chords{
-       \property ChordNames.ChordNames \push #'style = #"american"
-       c:m5-.7-
-       c:m5-.7
 }
 
 \score{
-    <
-       \context ChordNames \chord
-       \context Staff \chord
-    >
+<
+\context ChordNames \chord
+\context Staff \chord
+>
     \paper
     {
-         \translator { 
-               \ChordNamesContext
-               ChordNames \push #'word-space = #1 
-         }
+        \translator { \ChordNamesContext ChordNames \push #'word-space = #1 }
+%        \translator { \LyricsContext textScriptWordSpace = #0.3 }
     }
 }
-
index c66da4a8312112acbbcbfc992a04b710653ca30b..020e781ca48535fe5f323afe47bfb465bb724aaf 100644 (file)
@@ -441,10 +441,6 @@ ScoreContext = \translator {
        % TODO: uniform naming.;  
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
-
-
-       \include "auto-beam-settings.ly";
-
 }
 
 OrchestralScoreContext= \translator {
diff --git a/scm/auto-beam.scm b/scm/auto-beam.scm
new file mode 100644 (file)
index 0000000..280974b
--- /dev/null
@@ -0,0 +1,114 @@
+;;;
+;;; auto-beam.scm -- Auto-beam settings
+;;;
+;;; source file of the GNU LilyPond music typesetter
+;;; 
+;;; (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;
+
+;;; setup for auto-beam engraver
+;;;
+;;; specify generic beam end times
+
+;;; format:
+;;;
+;;;     [time-signature]'beamAutoEnd'[duration]
+;;;
+;;; where
+;;;
+;;;     time-signature = 'time'[numerator]'_'denominator; eg: 3_4
+;;;     duration = [numerator]'_'denominator; eg: 3_8, _16
+;;;
+
+;;; in 3/2 time:
+;;;   end beams each 1/2 note
+;;;   end beams with 16th notes each 1/4 note
+;;;   end beams with 32th notes each 1/8 note
+
+
+;;;
+;;;UGH UGH. 
+;;;
+;;;Fixme: should use an alist
+;;;
+;;;autoBeamSettings = (list
+;;;  (cons (list (make-moment MEASURE) TIME-SIGNATURE) (make-moment INTERVAL)
+;;;  ..
+;;;
+;;;  )
+;;;
+;;;
+
+(define auto-beam-settings
+  (list
+   `(
+     ((end * * 3 2) . ,(make-moment 1 2))
+     ((end 1 16 3 2) . ,(make-moment 1 4))
+     ((end 1 32 3 2) . ,(make-moment 1 8))
+
+     ((begin 1 8 3 4) . ,(make-moment 1 4))
+
+     ((end * * 3 4) . ,(make-moment 3 4))
+     ((begin 1 16 3 4) . ,(make-moment 1 16))
+     ((end 1 16 3 4) . ,(make-moment 1 4))
+     ;;((begin 1 32 3 4) . ,(make-moment 1 8))
+     ((end 1 32 3 4) . ,(make-moment 1 8))
+
+     ((begin 1 16 3 8) . ,(make-moment 1 8))
+     ((end * * 3 8) . ,(make-moment 3 8))
+
+     ;; in common time:
+     ;;   end beams each 1/2 note
+     ;;   end beams with 32th notes each 1/8 note
+     ;;   end beams with 1/8 triplets each 1/4 note
+
+     ((end * * 4 4) . ,(make-moment 1 2))
+     ((end 1 12 4 4) . ,(make-moment 1 4))
+     ((end 1 16 4 4) . ,(make-moment 1 4))
+     ((end 1 32 4 4) . ,(make-moment 1 8))
+
+     ((end * * 2 4) . ,(make-moment 1 4))
+     ((end 1 12 2 4) . ,(make-moment 1 4))
+     ((end 1 16 2 4) . ,(make-moment 1 4))
+     ((end 1 32 2 4) . ,(make-moment 1 8))
+
+
+     ((end * * 4 8) . ,(make-moment 1 4))
+     ((end 1 16 4 8) . ,(make-moment 1 4))
+     ((end 1 32 4 8) . ,(make-moment 1 8))
+
+     ((end * * 4 16) . ,(make-moment 1 8))
+
+     ((end * * 6 8) . ,(make-moment 3 8))
+     ((end 1 16 6 8) . ,(make-moment 3 8))
+     ((end 1 32 6 8) . ,(make-moment 1 8))
+
+     ((end * * 9 8) . ,(make-moment 3 8))
+     ((end 1 16 9 8) . ,(make-moment 3 8))
+     ((end 1 32 9 8) . ,(make-moment 1 8))
+
+     ((end * * 12 8) . ,(make-moment 3 8))
+     ((end 1 16 12 8) . ,(make-moment 3 8))
+     ((end 1 32 12 8) . ,(make-moment 1 8))
+     )))
+
+;;; Users may override in most cases, simply by issuing
+;;;
+;;;    ;;; from here on consider ending beam every 1/4 note
+;;;    \property Voice.beamAutoend1_1 = (make-moment 1 4)
+;;;
+;;;    ;;; no autobeaming
+;;;    \property Voice.beamAuto = f  
+;;;
+;;;or, more globally, by doing:
+;;;
+;;; \paper{
+;;;        \translator{
+;;;            \VoiceContext
+;;;            ;;; consider ending beam at every 1/2 note
+;;;            beamAutoend1_1 = (make-moment 1 2)
+;;;        }
+;;;    }
+;;;
+;;; see also input/test/auto-beam-override.ly
+
index 14b8de6192f2599310f3115b8a7ecf70d34ccf03..418882146d677dd00d059bfa31e2e5ce2484a0c2 100644 (file)
@@ -87,7 +87,7 @@
         (((0 . 0) (2 . 0) (4 . 0) (6 . -1)) . ("7"))
         (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . ("m(maj7)"))
         ;jazz: the delta, see jazz-chords.ly
-        ;;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . "math") "N"))
+        ;;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . math) "N"))
         ;; slashed o
         (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
         (((0 . 0) (2 . 0) (4 . 1) (6 . -1)) . ("aug7"))
         )
       chord::names-alist-american))
 
-;; Jazz chords, by Atte André Jensen
-;; Note: This uses the american list as a base
+;; Jazz chords, by Atte André Jensen <atte@post.com>
+;; NBs:        This uses the american list as a base.
+;;     Some defs take up more than one line,
+;; be carefull when messing with ;'s!!
 
+
+;; FIXME
+;;
+;; This is getting out-of hand?  Only exceptional chord names that
+;; cannot be generated should be here.
+;; Maybe we should have inner-jazz-name and inner-american-name functions;
+;; 
+;;       
+;;
 (define chord::names-alist-jazz '())
 (set! chord::names-alist-jazz
       (append 
       '(
-         ; half diminished seventh chord = slashed o
-         (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (("o" (type . "super")) ("/" (size . -2) (offset . (-0.58 . 0.5))) ))
-         ; diminished seventh chord =  o
-         (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (("o" (type . "super"))))
-         ; major seventh chord = triangle
-         (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  ((super ((font-family . "math") "N")) (size . -3)))
-         ; minor major seventh chord = m triangle
-         (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) .  (("m") ((super ((font-family . math) "N")) (size . -3))))
-         ; augmented dominant = +7
-         (((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (super "+7"))
+       ;; major chords
+       ; major sixth chord = 6
+       (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . (((raise . 0.5) "6")))
+       ; major seventh chord = triangle
+       (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  (((raise . 0.5)((font-family . "math") "M"))))
+       ; major chord add nine = add9
+       (((0 . 0) (2 . 0) (4 . 0) (1 . 0)) . (((raise . 0.5) "add9")))
+       ; major sixth chord with nine = 6/9
+       (((0 . 0) (2 . 0) (4 . 0) (5 . 0) (1 . 0)) . (((raise . 0.5) "6/9")))
+
+       ;; minor chords
+       ; minor sixth chord = m6
+       (((0 . 0) (2 . -1) (4 . 0) (5 . 0)) . (rows("m")((raise . 0.5) "6")))
+       ; minor major seventh chord = m triangle
+       (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . (rows ("m") ((raise . 0.5)((font-family . "math") "M"))))
+       ; minor seventh chord = m7
+       (((0 . 0) (2 . -1) (4 . 0) (6 . -1)) . (rows("m")((raise . 0.5) "7")))
+       ; minor sixth nine chord = m6/9
+       (((0 . 0) (2 . -1) (4 . 0) (5 . 0) (1 . 0)) . (rows("m")((raise . 0.5) "6/9")))
+       ; minor with added nine chord = madd9
+       (((0 . 0) (2 . -1) (4 . 0) (1 . 0)) . (rows("m")((raise . 0.5) "add9")))
+       ; minor ninth chord = m9
+       (((0 . 0) (2 . -1) (4 . 0) (6 . -1) (1 . 0)) . (rows("m")((raise . 0.5) "9")))
+
+       ;; dominant chords
+       ; dominant seventh = 7
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1)) . (((raise . 0.5) "7")))
+       ; augmented dominant = +7
+       ;(((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (((raise . 0.5) "+7"))) ; +7 with both raised
+       (((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (rows("+")((raise . 0.5) "7"))) ; +7 with 7 raised
+       ;(((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (rows((raise . 0.5) "7(")
+       ;       ((raise . 0.3)(music (named ("accidentals-1"))))
+       ;       ((raise . 0.5) "5)"))); 7(#5)
+       ; dominant flat 5 = 7(b5)
+       (((0 . 0) (2 . 0) (4 . -1) (6 . -1)) . (rows((raise . 0.5) "7(")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.5) "5)")))
+       ; dominant 9 = 7(9)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . 0)) . (((raise . 0.8)"7(9)")))
+       ; dominant flat 9 = 7(b9)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . -1)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"9)")))
+       ; dominant sharp 9 = 7(#9)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . +1)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals-1"))))
+               ((raise . 0.8)"9)")))
+       ; dominant 13 = 7(13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (5 . 0)) . (((raise . 0.8)"7(13)")))
+       ; dominant flat 13 = 7(b13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (5 . -1)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"13)")))
+       ; dominant 9, 13 = 7(9,13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . 0) (5 . 0)) . (((raise . 0.8)"7(9, 13)")))
+       ; dominant flat 9, 13 = 7(b9,13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . -1) (5 . 0)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"9, 13)")))
+       ; dominant sharp 9, 13 = 7(#9,13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . +1) (5 . 0)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals-1"))))
+               ((raise . 0.8)"9, 13)")))
+       ; dominant 9, flat 13 = 7(9,b13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . 0) (5 . -1)) . (
+               ((raise . 0.8)"7(9, ")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"13)")))
+       ; dominant flat 9, flat 13 = 7(b9,b13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . -1) (5 . -1)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"9, ")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"13)")))
+       ; dominant sharp 9, flat 13 = 7(#9,b13)
+       (((0 . 0) (2 . 0) (4 . 0) (6 . -1) (1 . +1) (5 . -1)) . (
+               ((raise . 0.8)"7(")
+               ((raise . 0.3)(music (named ("accidentals-1"))))
+               ((raise . 0.8)"9, ")
+               ((raise . 0.3)(music (named ("accidentals--1"))))
+               ((raise . 0.8)"13)")))
+
+       ;; diminished chord(s)
+       ; diminished seventh chord =  o
+       ;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (((raise . 0.8)"o"))); works, but "o" is a little big
+       (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (("°")))
+
+       ;; half diminshed chords
+       ; half diminished seventh chord = slashed o
+       (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (((raise . 0.8)"ø"))); works, but "ø" is a little big
+       ; half diminished seventh chord  with major 9 = slashed o cancelation 9
+       (((0 . 0) (2 . -1) (4 . -1) (6 . -1) (1 . 0)) . (
+               ((raise . 0.8)"ø(")
+               ((raise . 0.3)(music (named ("accidentals-0"))))
+               ((raise . 0.8)"9)"))); works, but "ø" is a little big
 
 ;; Missing jazz chord definitions go here (note new syntax: see american for hints)
 
index e59f95857dee450e02bba635170c9caab5391ce8..9454f91ffb4d7085d59f3f224379502c69133283 100644 (file)
@@ -60,6 +60,9 @@
     ((-2 medium upright number feta-nummer 6) . "feta-nummer6")
     ((-3 medium upright number feta-nummer 5) . "feta-nummer5")
     ((-4 medium upright number feta-nummer 4) . "feta-nummer4")
+
+    ((4 medium upright roman cmr 20) . "cmr20")
+    ((3 medium upright roman cmr 16) . "cmr16")
     ((2 medium upright roman cmr 14) . "cmr14")
     ((1 medium upright roman cmr 12) . "cmr12")
     ((0 medium upright roman cmr 10) . "cmr10")
     ((-3 medium upright roman cmr 6) . "cmr6" )
     ((-4 medium upright roman cmr 5) . "cmr5" )
     ((-5 medium upright roman cmr 4) . "cmr4" )
-    ((-3 medium italic roman cmti 5) . "cmti6")    
-    ((-2 medium italic roman cmti 6) . "cmti7")
-    ((-1 medium italic roman cmti 8) . "cmti8")    
-    ((0 medium italic roman cmti 10) . "cmti10")
+
+    ((3 medium italic roman cmti 16) . "cmti16")
+    ((2 medium italic roman cmti 14) . "cmti14")
     ((1 medium italic roman cmti 12) . "cmti12")
+    ((0 medium italic roman cmti 10) . "cmti10")
+    ((-1 medium italic roman cmti 8) . "cmti8")    
+    ((-2 medium italic roman cmti 7) . "cmti7")
+    ((-3 medium italic roman cmti 6) . "cmti6")    
+
     ((2 bold upright roman cmbx 14) . "cmbx14")
     ((1 bold upright roman cmbx 12) . "cmbx12")
     ((0 bold upright roman cmbx 10) . "cmbx10")
     ((-1 bold upright roman cmbx 8) . "cmbx8")
     ((-2 bold upright roman cmbx 7) . "cmbx7")
-    ((-3 medium upright math msam 10) . "msam10")
-    ((-2 medium upright math msam 10) . "msam10")
-    ((-1 medium upright math msam 10) . "msam10")
-    ((0 medium upright math msam 10) . "msam10")
     ;; should use the same brace font every where and fix C++ code.
-    ((0 medium upright braces feta-braces 20) . "feta-braces20")
+
     ((2 medium upright braces feta-braces 26) . "feta-braces26")
     ((1 medium upright braces feta-braces 23) . "feta-braces23")
-    ((3 bold italic dynamic feta 13) . "feta-din13")
-    ((2 bold italic dynamic feta 13) . "feta-din13")
-    ((1 bold italic dynamic feta 11) . "feta-din11")
-    ((0 bold italic dynamic feta 10) . "feta-din10")
-    ((-1 bold italic dynamic feta 8) . "feta-din8")
-    ((-2 bold italic dynamic feta 7) . "feta-din7")
-    ((-3 bold italic dynamic feta 6) . "feta-din6")
-    ((-4 bold italic dynamic feta 5) . "feta-din5")
-    ((-5 bold italic dynamic feta 4) . "feta-din4")
+    ((0 medium upright braces feta-braces 20) . "feta-braces20")
+
+    ((3 bold italic dynamic feta-din 13) . "feta-din13")
+    ((2 bold italic dynamic feta-din 13) . "feta-din13")
+    ((1 bold italic dynamic feta-din 11) . "feta-din11")
+    ((0 bold italic dynamic feta-din 10) . "feta-din10")
+    ((-1 bold italic dynamic feta-din 8) . "feta-din8")
+    ((-2 bold italic dynamic feta-din 7) . "feta-din7")
+    ((-3 bold italic dynamic feta-din 6) . "feta-din6")
+    ((-4 bold italic dynamic feta-din 5) . "feta-din5")
+    ((-5 bold italic dynamic feta-din 4) . "feta-din4")
+
     ((2 medium upright music feta 26) . "feta26")
     ((1 medium upright music feta 23) . "feta23")
     ((0 medium upright music feta 20) . "feta20")
     ((-0.5 medium upright music feta 20) . "feta19")    
     ((-1 medium upright music feta 16) . "feta16")
     ((-2 medium upright music feta 13) . "feta13")
-    ((-3 medium upright music feta 13) . "feta11")
-    ((-4 medium upright music feta 13) . "feta11")
+    ((-3 medium upright music feta 11) . "feta11")
+    ((-4 medium upright music feta 11) . "feta11")
+
+    ((0 medium upright math msam 10) . "msam10")
     ((-1 medium upright math msam 10) . "msam10")
     ((-2 medium upright math msam 10) . "msam10")
     ((-3 medium upright math msam 10) . "msam10")
index 8dad0147d05c99ea509c9da7babf8d7fc8c656c3..a50b23c9155a978d0f5797a992e72c828ba54d07 100644 (file)
       (if (< x 0) -1 1)))
 
 (define (gulp-file name)
-  (let* ((port (open-file name "r"))
-        (content (let loop ((text ""))
-                      (let ((line (read-line port)))
-                           (if (or (eof-object? line)
-                                   (not line)) 
-                               text
-                               (loop (string-append text line "\n")))))))
-       (close port)
-       content))
+  (let* ((file (open-input-file name))
+        (text (read-delimited "" file)))
+    (close file)
+    text))
 
 ;; urg: Use when standalone, do:
 ;; (define ly-gulp-file scm-gulp-file)
 (begin
   (eval-string (ly-gulp-file "interface.scm"))
   (eval-string (ly-gulp-file "slur.scm"))
-  (eval-string (ly-gulp-file "font.scm"))  
+  (eval-string (ly-gulp-file "font.scm"))
+  (eval-string (ly-gulp-file "auto-beam.scm"))  
   (eval-string (ly-gulp-file "generic-property.scm"))
   (eval-string (ly-gulp-file "basic-properties.scm"))
   (eval-string (ly-gulp-file "chord-names.scm"))
index f22bc5131e259cce290136a937fc0f383bd11472..66cb8c2e6642eb2a14f61575679914ca5a6d4a6b 100644 (file)
@@ -1,3 +1,10 @@
+;;;
+;;; slur.scm -- Slur scheme stuff
+;;;
+;;; source file of the GNU LilyPond music typesetter
+;;; 
+;;; (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;
 
 (define (attached-to-stem slur dir)
   (let* ((note-columns (ly-get-elt-property slur 'note-columns))
index e4e80e262d50d7be0c2dda1d1ee6723fea100735..4efa72737c6a28483bc0265859bab18053ecb24b 100644 (file)
@@ -45,6 +45,9 @@ Options:
   -v,--version       show version
 "))
 
+;;
+;; FIXME: use (separate-fields-discarding-char) and (read-delimited "")
+;;
 (define (gulp-file name)
   (let ((port (if (equal? name "-")
                  (current-input-port)