(define font-list (ly:paper-fonts paper))
(define (define-font command fontname scaling)
(string-append
- "/" command " { /" fontname " findfont "
- (ly:number->string scaling) " output-scale div scalefont } bind def\n"))
+ "/" command " { /" fontname " " (ly:number->string scaling) " output-scale div selectfont } bind def\n"))
(define (standard-tex-font? x)
(or (equal? (substring x 0 2) "ms")
(cons
name
- (cond
- ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name)
- (ps-load-file (ly:find-file
- (format "~a.otf" file-name))))
- ((string? bare-file-name)
- (ps-load-file file-name))
- (else
- (ly:warning (_ "can't embed ~S=~S") name file-name)
- "")))))
+
+ (if (mac-font? bare-file-name)
+ (handle-mac-font name bare-file-name)
+ (cond
+ ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name)
+ (ps-load-file (ly:find-file
+ (format "~a.otf" file-name))))
+ ((string? bare-file-name)
+ (ps-load-file file-name))
+ (else
+ (ly:warning (_ "can't embed ~S=~S") name file-name)
+ "")))
+
+ )))
(define (dir-join a b)
(if (equal? a "")
(else
(ly:warning (_ "don't know how to embed ~S=~S") name file-name)
""))))
-
+
+ (define (mac-font? bare-file-name)
+ (and
+ (eq? PLATFORM 'darwin)
+ bare-file-name
+ (or
+ (string-match "\\.dfont" bare-file-name)
+ (= (stat:size (stat bare-file-name)) 0))))
+
(define (load-font font-name-filename)
(let* ((font (car font-name-filename))
(name (cadr font-name-filename))
name
(cond
- ((and
- (eq? PLATFORM 'darwin)
- bare-file-name (string-match "\\.dfont" bare-file-name))
- (handle-mac-font name bare-file-name))
-
- ((and
- (eq? PLATFORM 'darwin)
- bare-file-name (= (stat:size (stat bare-file-name)) 0))
+ ((mac-font? bare-file-name)
(handle-mac-font name bare-file-name))
((and font (cff-font? font))
(output-scopes scopes fields basename)
(display (file-header paper page-count #t) port)
- (display "\n%%BeginDefaults
-%%PageMedia: a4
-%%EndDefaults\n" port)
+
+
+ ;; don't do BeginDefaults PageMedia: A4
+ ;; not necessary and wrong
+
(write-preamble paper #t port)
(let* ((scale (ly:output-def-lookup paper 'output-scale))
(box (map
(lambda (x)
- (inexact->exact
- (round (/ (* x scale) (ly:bp 1))))) mmbox)))
-
+ (if (or (nan? x) (inf? x))
+ 0
+ (inexact->exact
+ (round (/ (* x scale) (ly:bp 1)))))) mmbox)))
+
(list (car box)
(cadr box)
(max (1+ (car box)) (caddr box))