]> git.donarmstrong.com Git - lilypond.git/commitdiff
(output-stencil): New function.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 26 Feb 2004 18:42:23 +0000 (18:42 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 26 Feb 2004 18:42:23 +0000 (18:42 +0000)
ChangeLog
scm/define-markup-commands.scm
scm/output-ps.scm

index e30844ffb1195c55a102d08f1a83cc64f67051a9..8e6fab09e515d5059dcb577030ca724b43b461cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-02-26  Jan Nieuwenhuizen  <janneke@gnu.org>
 
+       * scm/output-ps.scm (output-stencil): New function.
+
        * scripts/lilypond-book.py (do_file): Bugfix: change search order
        of snippet types; fixes @ignore and @verbatim blocks.
 
index df32a05e7a2223faefc0c08920cec224d1389fdc..1c24c49ceb5dbef65ca61dc986a18b3a1da71783 100644 (file)
@@ -122,6 +122,7 @@ some punctuation. It doesn't have any letters.  "
   (interpret-markup paper (prepend-alist-chain 'font-size -3 props) arg))
 
 (def-markup-command (caps paper props arg) (markup?)
+  "Set font shape to @code{caps}."
   (interpret-markup paper (prepend-alist-chain 'font-shape 'caps props) arg))
 
 (def-markup-command (dynamic paper props arg) (markup?)
index 7c9e516769918b9f36dd4abf120238ba4b239609..111542abeaaf2327062e6493c257af6f03b27a81 100644 (file)
               (("cmbx10"  . 0.569055118110236) "cmbx10" . 1.0)
               (("cmr10"   . 0.569055118110236) "cmr10" . 1.0)
               (("cmr10"   . 0.638742773474948) "cmr10" . 1.0)
-              (("cmcsc10" . 0.451659346558038) "cmcs10" . 1.0)
-              (("cmcsc10" . 0.638742773474948) "cmcs10" . 1.0)
+              (("cmcsc12" . 0.376382788798365) "cmcsc12" . 1.0)
+              (("cmcsc12" . 0.752765577596731) "cmcsc12" . 1.0)
+              (("cmcsc12" . 0.948425196850394) "cmcsc12" . 1.0)
+
+              (("cmr10" . 0.7169645218575) "cmr10" . 1.0)
+              (("cmr10" . 0.638742773474948) "cmr10" . 1.0)
+
+              (("cmcsc10" . 0.451659346558038) "cmcsc10" . 1.0)
+              (("cmcsc10" . 0.638742773474948) "cmcsc10" . 1.0)
               (("cmbx8"   . 0.564574183197548) "cmbx8" . 1.0)))
               
        (props '(((font-family . roman)
                  (word-space . 1)
+                 (baseline-skip . 2)
                  (font-shape . upright)
-                 (font-size . -2)))))
+                 ;;(font-size . -2)
+                 (font-size . 0)
+                 ))))
 
   
     (define (output-scope scope)
 
             ;; output markups ourselves
             ((markup? val) (string-append
-                            (expression->string
-                             (ly:stencil-get-expr
-                              (interpret-markup paper props val)))
+                            (write-me "expr:"
+                                      ;; siamo bionde :-)
+                                      ;;(expression->string
+                                      (output-stencil
+                                       (ly:stencil-get-expr
+                                        (interpret-markup paper props val))
+                                       '(0 . 0)
+                                       ))
                             "\n"))
             ((number? val) (ps-number-def
                             "lilypond" sym (if (integer? val)
      " 0 0 moveto\n"
      (define-fonts nmp)
      (apply string-append (map output-scope scopes)))))
+
+(define (add-offsets a b)
+  (cons (+ (car a) (car b))
+       (+ (cdr a) (cdr b))))
+
+(define (input? foe)
+  #f)
+
+;; TODO:
+;; de-urg me
+;; implement ly:input stuff
+;; replace C++ variant
+;; stencil->string?
+(define (output-stencil expr o)
+  (let ((s ""))
+    (format (current-output-port) "output-stencil: ~S\n" expr)
+    (while
+     (pair? expr)
+     (let ((head (car expr)))
+       (format (current-output-port) "head: ~S\n" head)
+       (cond ((input? head)
+             (set! s (string-append
+                      s (define-origin (ly:input-file-string head))))
+             (set! expr (cadr expr)))
+            ((eq? head 'no-origin)
+             (set! s (string-append s expression->string head))
+             (set! expr (cadr expr)))
+            ((eq? head 'translate-stencil)
+             (set! o (add-offsets o (cadr expr)))
+             (set! expr (caddr expr)))
+            ((eq? head 'combine-stencil)
+             (set! s (string-append s (output-stencil (cadr expr) o)))
+             (set! expr (caddr expr)))
+            (else
+             (set!
+              s (string-append
+                 s
+                      (placebox (car o) (cdr o)
+                                (expression->string expr))))
+             (set! expr #f)))))
+;;   (set! expr (cadr expr)))
+  s))