From b92389ba1303ec1492c26a4266ceb8f9f78b6114 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sat, 21 Jan 2006 00:32:52 +0000 Subject: [PATCH] (write-preamble): use it to pick exactly the right font from a Mac dfont. (write-preamble): don't forget directory, only look at files. --- ChangeLog | 1 + scm/framework-ps.scm | 27 +++++++++++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index a7d758b776..b1a04dab2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ * scm/framework-ps.scm (write-preamble): use it to pick exactly the right font from a Mac dfont. + (write-preamble): don't forget directory, only look at files. * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract PS name from TTF font. diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index d2092c8d67..d3a0891ff2 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -286,18 +286,25 @@ (format "cd ~a && fondu -force '~a'" dir-name filename))) (set! files (dir-listing dir-name)) - + (for-each (lambda (f) - (if (and (not embed) - (equal? name (ly:ttf-ps-name f))) - (set! embed - (font-file-as-ps-string name (dir-join dir-name f)))) - - (if (or (equal? "." f) - (equal? ".." f)) - #t - (delete-file (dir-join dir-name f)))) + (let* + ((full-name (dir-join dir-name f))) + + (if (and (not embed) + (equal? 'regular (stat:type (stat full-name))) + (equal? name (ly:ttf-ps-name full-name))) + + (set! embed + (font-file-as-ps-string name full-name))) + + (if (or (equal? "." f) + (equal? ".." f)) + #t + (delete-file full-name)))) + + files) (rmdir dir-name) -- 2.39.5