arranger = \markup { The Arranger \circle f \draw-circle #3 #0.5 ##t }
copyright = "The Copyright"
keywords = "pdfmark, metadata, DOCINFO, lilypond"
+ modDate = "Test for special characters : \ ) ("
}
\layout { ragged-right= ##t }
(display "%%EndProlog\n" port)
(display "%%BeginSetup\ninit-lilypond-parameters\n%%EndSetup\n\n" port))
+(define (ps-quote str)
+ (fold
+ (lambda (replacement-list result)
+ (string-join
+ (string-split
+ result
+ (car replacement-list))
+ (cadr replacement-list)))
+ str
+ '((#\\ "\\\\") (#\( "\\(") (#\) "\\)"))))
+
;;; Create DOCINFO pdfmark containing metadata
;;; header fields with pdf prefix override those without the prefix
(define (handle-metadata header port)
(fallbackval (ly:modules-lookup (list header) fallbackvar))
(val (if overrideval overrideval fallbackval)))
(if val
- (format port "/~a (~a)\n" field (markup->string val)))))
+ (format port "/~a (~a)\n" field (ps-quote (markup->string val))))))
(display "[ " port)
(metadata-lookup-output 'pdfcomposer 'composer "Author")
(format port "/Creator (LilyPond ~a)\n" (lilypond-version))