]> git.donarmstrong.com Git - lilypond.git/commitdiff
eps inclusion: clip correctly, and strip binary data before examining.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 26 Jan 2007 15:45:32 +0000 (16:45 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 26 Jan 2007 15:45:32 +0000 (16:45 +0100)
scm/stencil.scm

index 283f04fe2d6665055ab605b3eb564a0b63e8f874..32a64fdedee300616c5cccca1490fe29beef80f4 100644 (file)
@@ -274,14 +274,21 @@ encloses the contents.
 (define-public (eps-file->stencil axis size file-name)
   (let*
       ((contents (ly:gulp-file file-name))
-       (bbox (get-postscript-bbox contents))
+       (bbox (get-postscript-bbox (car (string-split contents #\nul))))
        (bbox-size (if (= axis X)
                      (- (list-ref bbox 2) (list-ref bbox 0))
                      (- (list-ref bbox 3) (list-ref bbox 1))
                      ))
        (factor (exact->inexact (/ size bbox-size)))
        (scaled-bbox
-       (map (lambda (x) (* factor x)) bbox)))
+       (map (lambda (x) (* factor x)) bbox))
+       (clip-rect-string (format
+                         "~a ~a ~a ~a rectclip"
+                         (list-ref bbox 0) 
+                         (list-ref bbox 1) 
+                         (- (list-ref bbox 2) (list-ref bbox 0))
+                         (- (list-ref bbox 3) (list-ref bbox 1)))))
+    
 
     (if bbox
        (ly:make-stencil
@@ -293,9 +300,11 @@ encloses the contents.
 gsave
 currentpoint translate
 BeginEPSF
-~a ~a scale
+~a dup scale
+~a 
 %%BeginDocument: ~a
-"         factor factor
+"         factor clip-rect-string
+
           file-name
           )
           contents