bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lilypond-book: "external" fonts and --pdf option problem


From: Masamichi HOSODA
Subject: Re: lilypond-book: "external" fonts and --pdf option problem
Date: Thu, 10 Dec 2015 23:13:38 +0900 (JST)

Hi

If I understand correctly,
the cause is lilypond's `-dgs-load-fonts' option
with non-emmentaler music font.

I've reproduced the issue with the following smaller example.

```
$ cat foobar.ly
{ c'' }
\paper {
  #(define fonts
    (set-global-fonts
     #:music "improviso"
   ))
}

$ lilypond -dgs-load-fonts foobar.ly
GNU LilyPond 2.19.28
Processing `foobar.ly'
Parsing...
foobar.ly:1: warning: no \version statement found, please add

\version "2.19.28"

for future compatibility
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `/tmp/lilypond-wiLRqX'...
warning: cannot embed "improviso-20"="improviso-20"
Converting to `foobar.pdf'...
Deleting `/tmp/lilypond-wiLRqX'...
Success: compilation successfully completed

$
```

Of course, it has no error without `-dgs-load-fonts' option.
Here is a quick hack patch for the issue.

```
--- framework-ps.scm.org        2015-09-27 21:01:25.000000000 +0900
+++ framework-ps.scm    2015-12-10 22:03:53.743514600 +0900
@@ -249,6 +249,7 @@
   (define (internal-font? file-name)
     (or (string-startswith file-name "Emmentaler")
         (string-startswith file-name "emmentaler")
+        (string-startswith file-name "improviso")
         ))
 
   (define (load-font-via-GS font-name-filename)
```

> 2015-12-09 15:10 GMT+02:00 tisimst <address@hidden>:
>> Dmytro,
>>
>> Sorry for my delayed comment. I don't know what is causing this, but I've
>> seen this come up before from other users. I'm excited to see you like
>> Improviso! I hope we can get this figured out.
> Abraham,
> yes, I like it very much, THANK you :)
> 
> When I insert some (display ...)'s into framework-ps.scm I can see
> that ly:find-file fails to find font-file with --pdf option for some
> reason.
> 
> Ok, as you can see, I can be wrong! Don't mind, please :)
> 
> Now I've simply added "fallback" workaround:
> 
> --- framework-ps.scm.orig       2015-12-08 10:44:54.293262621 +0200
> +++ framework-ps.scm    2015-12-08 12:07:52.786888984 +0200
> @@ -237,16 +237,18 @@
>      (let* ((font (car font-name-filename))
>             (name (cadr font-name-filename))
>             (file-name (caddr font-name-filename))
> -           (bare-file-name (ly:find-file file-name)))
> +           (bare-file-name (ly:find-file file-name))
> +           (font-file-name (ly:find-file (format #f "~a.otf" file-name))))
>        (cons name
>              (if (mac-font? bare-file-name)
>                  (handle-mac-font name bare-file-name)
>                  (cond
>                   ((internal-font? file-name)
> -                  (ps-load-file (ly:find-file
> -                                 (format #f "~a.otf" file-name))))
> +                  (ps-load-file font-file-name))
>                   ((string? bare-file-name)
>                    (ps-load-file file-name))
> +                 ((string? font-file-name)
> +                  (ps-load-file font-file-name))
>                   (else
>                    (ly:warning (_ "cannot embed ~S=~S") name file-name)
>                    ""))))))
> 
> -- 
>   Dmytro O. Redchuk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]