--- /dev/null
+#!@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
-\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 }
}
}
-
% TODO: uniform naming.;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- \include "auto-beam-settings.ly";
-
}
OrchestralScoreContext= \translator {
--- /dev/null
+;;;
+;;; 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
+
(((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)
((-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")
(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"))
+;;;
+;;; 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))
-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)