]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4992/5: Add never-embed-font-list for `-dgs-load-fonts`
authorMasamichi Hosoda <trueroad@trueroad.jp>
Fri, 28 Oct 2016 14:17:43 +0000 (23:17 +0900)
committerMasamichi Hosoda <trueroad@trueroad.jp>
Wed, 9 Nov 2016 13:28:45 +0000 (22:28 +0900)
When you use both `-dgs-never-embed-fonts` and `-dgs-load-fonts` options,
Ghostscript never embed fonts except TrueType for PDF file output.

scm/framework-ps.scm

index 8bafb758f07bd0c52186359f0b0b930629f1a3fb..b26e9d40c9077058448386af6d3311dc2ef4e0ed 100644 (file)
                     name)
         (load-font font-name-filename))
        (else
-        (cons name
-              (if (mac-font? bare-file-name)
-                  (handle-mac-font name bare-file-name)
-                  (cond
-                   ((and font (cff-font? font))
-                    (ps-load-file (ly:find-file
-                                   (format #f "~a.otf" file-name))))
-                   ((string? bare-file-name)
-                    (ps-load-file file-name))
-                   (else
-                    (ly:warning (_ "cannot embed ~S=~S") name file-name)
-                    ""))))))))
+        (begin
+          (if (or (and font (cff-font? font))
+                  (and (string? bare-file-name)
+                       (not (eq? (ly:get-font-format
+                                  bare-file-name
+                                  font-index) 'TrueType))))
+              (set! never-embed-font-list
+                    (append never-embed-font-list (list name))))
+          (cons name
+                (if (mac-font? bare-file-name)
+                    (handle-mac-font name bare-file-name)
+                    (cond
+                     ((and font (cff-font? font))
+                      (ps-load-file (ly:find-file
+                                     (format #f "~a.otf" file-name))))
+                     ((string? bare-file-name)
+                      (ps-load-file file-name))
+                     (else
+                      (ly:warning (_ "cannot embed ~S=~S") name file-name)
+                      "")))))))))
 
   (define (dir-join a b)
     (if (equal? a "")