]> git.donarmstrong.com Git - lilypond.git/commitdiff
Resurrect sodipodi output.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 7 May 2004 19:52:19 +0000 (19:52 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 7 May 2004 19:52:19 +0000 (19:52 +0000)
ChangeLog
buildscripts/mf-to-table.py
scm/output-ps.scm
scm/output-sodipodi.scm
scm/output-tex.scm

index bcca2259f6f1472ca26ae6e2c466179316257812..d66a9cc1e4fe537db4fbbcf5603a37e851516f35 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-05-07  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scm/output-sodipodi.scm: Resurrect sodipodi output.
+
 2004-05-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
        * scm/bass-figure.scm (format-bass-figure): don't set
index 017bb420b1904bccfd7a3abeb752c16df55f2f7a..3e102d76ad102da5bf08bb64f1e698fda28a52cb 100644 (file)
@@ -69,6 +69,8 @@ def parse_logfile (fn):
                tags = string.split(l, '@:')
                if tags[0] == 'group':
                        group = tags[1]
+               elif tags[0] == 'puorg':
+                       group = ''
                elif tags[0] == 'char':
                        name = tags[9]
                        if group:
index 681db247763dafc8bcc85217104674a346676b03..1e6fec5ce0fcbc499e0314496af44b301fb19b44 100644 (file)
    (ly:gulp-file "lilyponddefs.ps")
    (ly:gulp-file "music-drawing-routines.ps")))
 
+;; WTF is this in every backend?
 (define (horizontal-line x1 x2 th)
-  (draw-line th x1  0 x2 0))
+  (draw-line th x1 0 x2 0))
 
 (define (lily-def key val)
   (let ((prefix "lilypondpaper"))
index 18fcf28f00f13e1ce2b21845b486b33d520761a8..954372a18ccf86882f2de8ec6663fa68edacb9a5 100644 (file)
 
 ;; Global vars
 
-(define output-scale 1)
+;;; Global vars
+(define page-count 0)
+(define page-number 0)
+
+;;(define output-scale 2.83464566929134)
+(define output-scale (* 2 2.83464566929134))
 (define system-y 0)
 ;; huh?
 (define urg-line-thickness 0)
    ((equal? (ly:unit) "pt") (/ 72.0  72.27))
    (else (error "unknown unit" (ly:unit)))))
 
-;; alist containing fontname -> fontcommand assoc (both strings)
-;;(define font-name-alist '())
-
 ;; Helper functions
-
-
 (define (tagify tag string . attribute-alist)
   (string-append
    "<" tag
            `(d . ,(string-append (svg-bezier first #f)
                                  (svg-bezier second first-c0))))))
   
-(define (char i)
-  (if #t
-      ;;(tagify "tspan" (format #f "&#xe0~2,'0x;" i))
-      (tagify "tspan" (ascii->upm-string i))
-      (begin
-       (format #t "can't display char: ~x\n" i)
-       " ")))
+(define (char font i)
+  (tagify "tspan"
+         (dispatch `(fontify ,font ,(ascii->upm-string i)))))
 
+(define (nchar font i)
+  (format (current-error-port) "can't display char: ~x\n" i)
+  " ")
 
 (define (comment s)
   (string-append "<!-- " s " -->\n"))
 
-(define (define-fonts internal-external-name-mag-pairs)
-  (comment (format #f "Fonts used: ~S" internal-external-name-mag-pairs)))
+(define (define-fonts paper font-list)
+  (comment (format #f "Fonts used: ~S" font-list)))
 
 (define (end-output)
   "</g></svg>")
 
-;;TODO
-;(define (horizontal-line x1 x2 th)
-;  (draw-line th x1  0 x2 0))
-
 (define (filledbox breapth width depth height)
   (round-filled-box breapth width depth height line-thickness))
 
     ("cmr8" . ,(string-append
                  font-cruft
                  "font-family:cmr;font-style:normal;font-size:8;"))
+    ("ecrm10" . ,(string-append
+                 font-cruft
+                 "font-family:ecmr;font-style:normal;font-size:10;"))
     ("feta13" . ,(string-append
                  font-cruft
                  "font-family:LilyPond-Feta;font-style:-Feta;font-size:13;"))
                      font-cruft
                      "font-family:LilyPond-Parmesan;font-style:-Parmesan;font-size:20;"))))
 
-(define (get-font name-mag-pair)
-  ;; name-mag-pair: (quote ("feta20" . 0.569055118110236))"feta20"(quote ("feta20" . 0.569055118110236))
-  (let ((f (assoc (caadr name-mag-pair) font-alist)))
-    (if (pair? f)
-       (cdr f)
-       (begin
-         (format #t "font not found: ~s\n" (caadr name-mag-pair))
-         (cdr (assoc "feta20" font-alist))))))
+(define (get-font font)
+  (let* ((name (ly:font-filename font))
+        (magnify (ly:font-magnification font)))
+    ;; name-mag-pair: (quote ("feta20" . 0.569055118110236))"feta20"(quote ("feta20" . 0.569055118110236))
+    (let ((font-string (assoc-get name font-alist)))
+      (if (not font-string)
+         (begin
+           (format #t "font not found: ~S\n" font)
+           (cdr (assoc "feta20" font-alist)))
+         font-string))))
 
 (define (header-end)
   (comment "header-end"))
 
-(define (header creator generate)
+(define (header creator time-stamp paper page-count- classic?)
   (string-append
    xml-header
    (comment creator)
-   (comment generate)
+   (comment time-stamp)
    svg-header))
   
+;; FIXME: duplicated in other output backends
+;; FIXME: silly interface name
+(define (output-scopes paper scopes fields basename)
+  (format (current-error-port) "TODO: FIX ps/tex/interface\n"))
+
+;; FIXME: duplictates output-scopes, duplicated in other backends
+;; FIXME: silly interface name
+(define (output-paper-def pd)
+  (format (current-error-port) "TODO: FIX ps/tex/interface\n"))
 
 (define (lily-def key val)
   (cond
 
 
 (define (placebox x y expr)
-  (tagify "g" (dispatch expr)
+  (tagify "g"
+         ;; FIXME -- JCN
+         ;;(dispatch expr)
+         expr
          `(transform .
                      ,(string-append
                        "translate("
 
   
 ;; TODO: use height, set scaling?
-(define (start-system width height)
+(define (start-system origin dim)
+;;(define (start-system width height)
   (let ((y system-y))
-    ;;"<g transform='translate(50,-250)'>
-    (set! system-y (+ system-y height))
-    ;;(format #f "<g transform='translate(0,~1,'~f)'>" y)))
+    (set! system-y (+ system-y (cdr dim)))
     (string-append
      "\n"
      (comment "start-system")
      (format #f "<g transform='translate(0.0,~f)'>\n" (* output-scale y)))))
 
-(define (stop-system)
+(define (stop-system last?)
   (string-append
    "\n"
    (comment "stop-system")
    "</g>\n"))
 
-(define stop-last-system stop-system)
+(define (fontify font expr)
+  (string-append
+;;   (tagify "text" (dispatch expr) (cons 'style (get-font font)))))
+   (tagify "text" expr (cons 'style (get-font font)))))
+
+(define (utext font s)
+  (tagify "tspan"
+         (apply string-appendb
+                (map (lambda (x) (ascii->upm-string (char->integer x)))
+                     (string->list s)))))
 
-(define (text s)
+(define (text font s)
+  ;;  (fontify font
   ;; to unicode or not?
-  (if #t
-      (tagify "tspan" s)
-      (tagify "tspan"
-             (apply string-appendb
-                    (map (lambda (x) (ascii->upm-string (char->integer x)))
-                         (string->list s))))))
+  (tagify "tspan" (dispatch `(fontify ,font ,s))))
+
+(define (start-page)
+  (set! page-number (+ page-number 1))
+  (comment "start-page"))
+
+(define (stop-page last?)
+  (comment "stop-page"))
+
+;; WTF is this in every backend?
+(define (horizontal-line x1 x2 th)
+;;  (draw-line th x1 0 x2 0))
+  (filledbox (- x1) (- x2 x1) (* .5 th) (* .5 th)))
+
index c8997b78d438f53ad08af5c45a43d3358f54b6a8..51453320e47c6a064216ad4130e3cdc350d763ad 100644 (file)
       ;; FIXME: still used by lilypond.py for --preview
       "}%\n%\n\\interscoreline\n%\n"))
 
+;; WTF is this in every backend?
 (define (horizontal-line x1 x2 th)
-  (filledbox (- x1)  (- x2 x1) (* .5 th)  (* .5 th )))
+  (filledbox (- x1) (- x2 x1) (* .5 th) (* .5 th)))
 
 (define (filledbox breapth width depth height)
   (if (and #f (defined? 'ps-testing))