lilypond-devel
[Top][All Lists]
Advanced

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

Re: I cannot run make check since Issue 5450: relocate.cc: Introduce new


From: Masamichi Hosoda
Subject: Re: I cannot run make check since Issue 5450: relocate.cc: Introduce new command `set?'
Date: Thu, 24 Jan 2019 21:30:17 +0900 (JST)

> This is a gs 9.26 issue and I cannot see how this might be related to what we 
> have hit here, so maybe Hosoda-san will be abel to figure why make check is 
> breaking without extractpdfmark installed.

If I understand correctly, this patch solves the error.

```
--- a/scripts/build/output-distance.py
+++ b/scripts/build/output-distance.py
@@ -652,7 +652,7 @@ class SignatureFileLink (FileLink):
                 data_option = ''
                 if options.local_data_dir:
                     data_option = 
('-slilypond-datadir=%s/share/lilypond/current '
-                                   % dir)
+                                   % (cur_dir + '/' + dir))

                 cmd = ('gs'
                        ' -sDEVICE=png16m'
```

Without extractpdfmark,
each eps file has relative font path from `lilypond-datadir`.
e.g.

```
%%BeginProlog
/lilypond-datadir where {pop} {userdict /lilypond-datadir 
(/path/to/lilypond/build-without-extractpdfmark/out/share/lilypond/current) put 
} ifelse
%%BeginFont: Emmentaler-20
lilypond-datadir (/fonts/otf/emmentaler-20.otf) concatstrings (r) file .loadfont
%%EndFont
```

Then, `output-distance.py` invoked gs with commandline option
`-slilypond-datadir=input/regression/out-test-baseline/share/lilypond/current`.

It specified `lilypond-datadir` as relative path
from `/path/to/lilypond/build-without-extractpdfmark`.
However, current directory was
`/path/to/lilypond/build-without-extractpdfmark/input/regression/out-test-baseline/share/lilypond/current`
because 
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob;f=scripts/build/output-distance.py;h=ba787931a5edb6f1f2f46e6c53e851241ba4b9d1;hb=HEAD#l648
changes current directory.
Since current directory was different from the origin of the relative path,
gs could not find the font file.

My patch shown above fixes the wrong relative path specification.

On the other hand, with extractpdfmark,
each eps file has absolute font path.
e.g.

```
%%BeginProlog
/lilypond-datadir where {pop} {userdict /lilypond-datadir 
(/path/to/lilypond/build-with-extractpdfmark/out/share/lilypond/current) put } 
ifelse
%%BeginFont: Emmentaler-20
(/path/to/lilypond/build-with-extractpdfmark/out/share/lilypond/current/fonts/otf/emmentaler-20.otf)
 (r) file .loadfont
%%EndFont
```

In this case,
even if `lilypond-datadir` is specified as such a wrong relative directory,
gs can find the font file.
However, I think absolute font path in eps is undesirable behavior.
So, I've created Issue 5467.
https://sourceforge.net/p/testlilyissues/issues/5467/
https://codereview.appspot.com/349110043/



reply via email to

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