From: Han-Wen Nienhuys Date: Sun, 22 Jul 2007 07:19:19 +0000 (-0700) Subject: new option gs-load-lily-fonts: only load lilypond fonts via X-Git-Tag: release/2.11.28-1~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bf7a2e96ce259693a62a24fa08655bfa423f22f7;p=lilypond.git new option gs-load-lily-fonts: only load lilypond fonts via ghostscript This is needed to make lilypond test-output "portable"; we cannot load fonts from /usr through ghostscript. --- diff --git a/GNUmakefile.in b/GNUmakefile.in index 00345e39dc..e50686442c 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -227,7 +227,7 @@ test: echo -e '\n\n\n' ; \ git diff ; \ fi > input/regression/out-test/tree.gittxt - $(MAKE) -C input/regression/ out=$(OUT_TEST) LILYPOND_BOOK_LILYPOND_FLAGS="-dbackend=eps --formats=ps $(LILYPOND_JOBS) -dseparate-log-files -dinclude-eps-fonts -dgs-load-fonts --header=texidoc -I $(top-src-dir)/input/manual -ddump-profile -dcheck-internal-types -ddump-signatures -danti-alias-factor=1" LILYPOND_BOOK_VERBOSE= out-$(OUT_TEST)/collated-files.html + $(MAKE) -C input/regression/ out=$(OUT_TEST) LILYPOND_BOOK_LILYPOND_FLAGS="-dbackend=eps --formats=ps $(LILYPOND_JOBS) -dseparate-log-files -dinclude-eps-fonts -dgs-load-lily-fonts --header=texidoc -I $(top-src-dir)/input/manual -ddump-profile -dcheck-internal-types -ddump-signatures -danti-alias-factor=1" LILYPOND_BOOK_VERBOSE= out-$(OUT_TEST)/collated-files.html @find input ly -name '*.ly' -print |grep -v 'out.*/' | xargs grep '\\version' -L | grep -v "standard input" |sed 's/^/**** Missing version: /g' rsync -L -a --exclude 'out-*' --exclude 'out' --exclude mf --exclude source --exclude mf $(outdir)/share input/regression/out-test/ diff --git a/scm/backend-library.scm b/scm/backend-library.scm index 73c147c159..0f13b6f55a 100644 --- a/scm/backend-library.scm +++ b/scm/backend-library.scm @@ -96,7 +96,9 @@ " (search-gs) (if (ly:get-option 'verbose) "" "-q") - (if (ly:get-option 'gs-load-fonts) + (if (or (ly:get-option 'gs-load-fonts) + (ly:get-option 'gs-load-lily-fonts)) + " -dNOSAFER " " -dSAFER ") paper-size-string diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index 7c5669fdb3..1f5860433c 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -246,14 +246,19 @@ (define (write-preamble paper load-fonts? port) - - (define (load-font-via-GS font-name-filename) + (define (internal-font? file-name) + (or (string-startswith file-name "Emmentaler") + (string-startswith file-name "emmentaler") + (string-startswith file-name "aybabtu") + (string-startswith file-name "Aybabtu"))) + (define (load-font-via-GS font-name-filename) (define (ps-load-file file-name) (if (string? file-name) (if (string-contains file-name (ly:get-option 'datadir)) (begin (set! file-name (ly:string-substitute (ly:get-option 'datadir) "" file-name)) (format "lilypond-datadir (~a) concatstrings (r) file .loadfont" file-name)) + (format "(~a) (r) file .loadfont\n" file-name)) (format "% cannot find font file: ~a\n" file-name))) @@ -268,10 +273,7 @@ (if (mac-font? bare-file-name) (handle-mac-font name bare-file-name) (cond - ((or (string-startswith file-name "Emmentaler") - (string-startswith file-name "emmentaler") - (string-startswith file-name "aybabtu") - (string-startswith file-name "Aybabtu")) + ((internal-font? file-name) (ps-load-file (ly:find-file (format "~a.otf" file-name)))) ((string? bare-file-name) @@ -384,6 +386,8 @@ (define (load-fonts paper) (let* ((fonts (ly:paper-fonts paper)) + + ;; todo - doc format of list. (all-font-names (map (lambda (font) @@ -410,9 +414,20 @@ (sort (apply append all-font-names) (lambda (x y) (string