*** empty log message ***
[lilypond/patrick.git] / scm / output-texstr.scm
blob767623f96041fee672388db36235ebb0a7e99065
1 ;;;; texstr.scm -- implement Scheme output routines for TeX strings
2 ;;;;
3 ;;;;  source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c) 2004--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 (define-module (scm output-texstr))
8 (define this-module (current-module))
10 (use-modules
11  (guile)
12  (ice-9 regex)
13  (srfi srfi-13)
14  (scm framework-tex)
15  (lily))
17 (define (dummy . foo) #f)
19 (map (lambda (x) (module-define! this-module x dummy))
20      (ly:all-stencil-expressions))
22 (define-public (grob-cause . x) "")
23 (define-public (no-origin . x) "")
24 (define-public (placebox
25                 x y what)
26   (if (string? what)
27       what
28       ""))
29 (define-public (text font str)
30   (call-with-output-string
31    (lambda (port)
32      (display (format "\\lilygetmetrics{~a~a}{~a}{1.0}{~a}\n"
33                       
34                       (hash str TEX_STRING_HASHLIMIT)
35                     (ly:font-file-name font)
36                     (ly:font-file-name font)
37                     (sanitize-tex-string str))
38               port)
39      )))