Re: Error with make doc
>> I installed Noto Serif JP, and added it to the fontcofig cache. >> That got me through the previous file error. But then I got >> stopped on another Japanese font (I suppose this might be a Linux >> Libertine font, but my fc-list command shows that I have them >> installed): Interesting. This shouldn't happen. The idea is that the set of fonts used for building the documentation is closed and well-defined. 'Noto Serif JP' is intended to cover all CJK testing stuff in LilyPond. > I was able to successfully complete 'make test' by commenting out the > following lines in input/regression/typography-demo.ly: > > % Font settings for Cyrillic and Hebrew > % Linux Libertine fonts contain Cyrillic and Hebrew glyphs. > %property-defaults.fonts.serif = "Linux Libertine O,serif" > %property-defaults.fonts.sans = "Linux Biolinum O,sans-serif" > %property-defaults.fonts.typewriter = "Linux Libertine Mono O,monospace" Aah, this looks like a bug in `typography-demo.ly`. Please try the following line in `typography-demo.ly` instead of the three original font lines. ``` property-defaults.fonts.serif = "Linux Libertine O, Noto Serif CJK JP, Noto Serif JP, serif" ``` Werner
Re: Error with texi2pdf on MacOS
> xdvipdfmx:fatal: Unable to find TFM file "latt1095". This shouldn't happen at all. In file `Documentation/GNUmakefile`, before running the compilation of the documentation files, there is the target 'pre-pdf' that explicitly generates the necessary TFM files for the Cyrillic LH fonts before generating any PDF output. Hopefully, your problem is repeatable. If it is, please start from scratch and do something like ``` make doc -j12 CPU_COUNT=12 LANGS="en" VERBOSE=1 &> make.doc.log ``` and post the `make.doc.log` file (compressed) so that we get as much information as possible. Please also check whether the two TFM files from the LH fonts are actually valid (for example, by testing with `tftopl `). And please also post the complete `notation.texi2pdf.log` file (compressed, too) if you get the problem again. The issue with `make doc` called another time seems to be incompletely generated files caused by the first run. Another minor issue: In your e-mails, if you paste log files into the message, there is always an empty line between every text line, which makes them hard to read. Probably a line ending issue (i.e., mixing LF and CR and/or combinations of it). Can you fix that? Werner
PATCHES - Countdown to January 26
Here is the current countdown report. The next countdown will begin on 2024-01-26 A list of all merge requests can be found here: https://gitlab.com/lilypond/lilypond/-/merge_requests?sort=label_priority Push: !2238 lilymidi: Show pretty output for pitch bend - Werner Lemberg https://gitlab.com/lilypond/lilypond/-/merge_requests/2238 !2237 Improve documentation of tremolo slashes - Werner Lemberg https://gitlab.com/lilypond/lilypond/-/merge_requests/2237 Countdown: No patches in Countdown at this time. Review: !2242 Improve docstring of `\fromproperty` markup function - Werner Lemberg https://gitlab.com/lilypond/lilypond/-/merge_requests/2242 !2240 NR: Revise sections on titles, headers, and footers - Werner Lemberg https://gitlab.com/lilypond/lilypond/-/merge_requests/2240 New: No patches in New at this time. Waiting: No patches in Waiting at this time. Unknown: !2241 output-distance.py: Don't use ancient versions of `tidy` - Werner Lemberg https://gitlab.com/lilypond/lilypond/-/merge_requests/2241 Cheers, Colin
Error with texi2pdf on MacOS
I'm trying to get a working system self-compiled on MacOS. Thanks to help from Dan, Werner, and Jean, I've been able to successfully run 'make test', although there is still a problem with Unicode characters in font file names under some circumstances. Having succeeded with 'make test', I decided to try 'make doc'. I got a long way into make doc before progress stopped with an error: Making Documentation/out-www/en/notation.pdf < texi Please check the logfile /Users/carl/Development/lilypond/build/Documentation/./out-www/en/notation.texi2pdf.log for errors. Last 20 lines: 0e-systems.texi) [524]][522 (/Users/carl/Development/lilypond/build/Documentation/out-www/en/5f/lily-96b489 55-systems.texi) (/Users/carl/Development/lilypond/build/Documentation/out-www/en/86/lily-90cd32 9f.texidoc) [525] (/Users/carl/Development/lilypond/build/Documentation/out-www/en/86/lily-90cd32 9f-systems.texi) [526][523] (/Users/carl/Development/lilypond/build/Documentation/out-www/en/41/lily-400049 5f-systems.texi) [527] xdvipdfmx:fatal: Unable to find TFM file "latt1095". No output PDF file written. (/Users/carl/Development/lilypond/build/Documentation/out-www/en/30/lily-132360 dd-systems.texi) [528] (/Users/carl/Development/lilypond/build/Documentation/out-www/en/09/lily-5f021b 2d-systems.texi) (/Users/carl/Development/lilypond/build/Documentation/out-www/en/3c/lily-3f3775 74.texidoc) [529notation.cp:2775: Bad entry; expected 3 to 5 fields, not 0 /opt/local/bin/texi2dvi: texindex failed make[2]: *** [out-www/en/notation.pdf] Error 1 make[2]: *** Deleting file `out-www/en/notation.pdf' make[1]: *** [WWW] Error 2 make: *** [doc] Error 2 If I understand the error message correctly, xdvipdfmx was unable to find a TFM file. But the TFM file exists in my texlive directory. The problme with missing latt1095.tfm came up about 4 years ago in this thread: https://lists.gnu.org/archive/html/lilypond-devel/2020-11/msg00100.html The consensus of that thread was this was due to a race condition, and just run 'make doc' again. So I did. I then ended up with: carl@carls-mbp-2 build % make doc Making latt1095.tfm in TeX Live (mktextfm) Making larm1095.tfm in TeX Live (mktextfm) Making Documentation/out-www/en/notation.pdf < texi Please check the logfile /Users/carl/Development/lilypond/build/Documentation/./out-www/en/notation.texi2pdf.log for errors. Last 20 lines: ? stdin -> notation.pdf [1] 17695 bytes written /Users/carl/Development/lilypond/build/Documentation/out-www/en/notation.texi:7 1: Emergency stop. @par @relax @findsecnowidths ...input @tocreadfilename @relax @egroup @endgroup @contents ...pace @ifeof 1 @else @findsecnowidths @readtocfile @fi @vfill @e... l.71 @contents Output written on notation.pdf (1 page). Transcript written on notation.log. /opt/local/bin/texi2dvi: /Users/carl/Development/lilypond/scripts/build/xetex-with-options.sh exited with bad status, quitting. make[2]: *** [out-www/en/notation.pdf] Error 1 make[2]: *** Deleting file `out-www/en/notation.pdf' make[1]: *** [WWW] Error 2 make: *** [doc] Error 2 The logfile contents are: carl@carls-mbp-2 build % cat /Users/carl/Development/lilypond/build/Documentation/./out-www/en/notation.texi2pdf.log Command: cd out-www/en/;texi2pdf-I ../ -I /Users/carl/Development/lilypond/Documentation/en -I /Users/carl/Development/lilypond/Documentation -I /Users/carl/Development/lilypond/Documentation/en/ -o /Users/carl/Development/lilypond/build/Documentation/./out-www/en/notation.tmp.pdf /Users/carl/Development/lilypond/build/Documentation/out-www/en/notation.texi < /dev/null This is XeTeX, Version 3.141592653-2.6-0.95 (TeX Live 2023) (preloaded format=xetex) restricted \write18 enabled. entering extended mode (/Users/carl/Development/lilypond/build/Documentation/out-www/en/notation.texi (/Users/carl/Development/lilypond/Documentation/tex/texinfo.tex Loading texinfo [version 2023-09-19.19]: pdf, fonts, glyphs, page headings, tables, conditionals, indexing, sectioning, toc, environments, defuns, macros, cross references, insertions, (/usr/local/texlive/2023/texmf-dist/tex/generic/epsf/epsf.tex This is `epsf.tex' v2.7.4 <14 February 2011> ) localization, formatting, microtype, and turning on texinfo input format.) (/Users/carl/Development/lilypond/Documentation/tex/txi-en.tex) (/Users/carl/Development/lilypond/build/Documentation/out-www/en/en/macros.texi (/Users/carl/Development/lilypond/build/Documentation/out-www/en/version.texi) (/Users/carl/Development/lilypond/build/Documentation/out-www/en/en/common-macr os.texi (/Users/carl/Development/lilypond/build/Documentation/out-www/en/en/cyrillic.te xi))) (/Users/carl/Development/lilypond/build/Documentation/out-www/en/en/hyphenation .texi) Writing
Re: Error with make doc
On Tue, Jan 23, 2024 at 4:54 AM Carl Sorensen wrote: > > > On Mon, Jan 22, 2024 at 8:37 PM Carl Sorensen > wrote: > >> >> >> On Mon, Jan 22, 2024 at 5:58 PM Jean Abou Samra >> wrote: >> >>> Le lundi 22 janvier 2024 à 16:38 -0700, Carl Sorensen a écrit : >>> > > Looks like no error: >>> > > >>> > > carl@Carls-MBP-2 lilypond % build/out/bin/lilypond input/regression/ >>> pdf-copy-paste.ly >>> > > GNU LilyPond 2.25.13 (running Guile 3.0) >>> > > Processing `input/regression/pdf-copy-paste.ly' >>> > > Parsing... >>> > > Finding the ideal number of pages... >>> > > Fitting music on 1 page... >>> > > Drawing systems... >>> > > Converting to `pdf-copy-paste.pdf'... >>> > > Success: compilation successfully completed >>> >>> >>> Hmm. What if you run >>> >>> LC_ALL=C build/out/bin/lilypond input/regression/pdf-copy-paste.ly >>> >>> ? IIRC, tests are compiled with LC_ALL=C. >>> >> >> OK, I'll run this test. But it looks to me (see below).like I should be >> able to solve the problem by getting the Noto Serif JP font. I'll look at >> installing that font. >> > > I installed Noto Serif JP, and added it to the fontcofig cache. That got > me through the previous file error. But then I got stopped on another > Japanese font (I suppose this might be a Linux Libertine font, but my > fc-list command shows that I have them installed): > > carl@carls-mbp-2 build % cat out/lybook-testdb/1d/lily-2548dc6c.log > > Processing `1d/lily-2548dc6c.ly' > > Parsing... > > Renaming input to: `/Users/carl/Development/lilypond/input/regression/ > typography-demo.ly' > > Interpreting music...[8] > > Preprocessing graphical objects... > > Interpreting music... > > MIDI output to `1d/lily-2548dc6c.midi'... > > Finding the ideal number of pages... > > Fitting music on 1 page... > > Drawing systems... > > Writing header field `texidoc' to `1d/lily-2548dc6c.texidoc'... > > Layout output to `1d/lily-2548dc6c.eps'...ERROR: In procedure open-file: > In procedure open-file: No such file or directory: > "/System/Library/Fonts/??? ProN.ttc" > > I was able to successfully complete 'make test' by commenting out the following lines in input/regression/typography-demo.ly: % Font settings for Cyrillic and Hebrew % Linux Libertine fonts contain Cyrillic and Hebrew glyphs. %property-defaults.fonts.serif = "Linux Libertine O,serif" %property-defaults.fonts.sans = "Linux Biolinum O,sans-serif" %property-defaults.fonts.typewriter = "Linux Libertine Mono O,monospace" iI appears that if Lilypond needs to search for a font to display a unicode character, and that font has Japanese characters in the font name, then the font file is unable to be opened (as shown above). There's been some discussion between Jean and Werner indicating that it may be due to a locale problem. I suspect that an issue needs to be created, but I'm not sure how to do it. And the issue may only show up on MacOS, because people running Linux don't seem to be having this problem. I'd welcome suggestions about how to create an issue for this, but I've got a workaround that allows me to succeed with 'make test'. Thanks, Car
Auto-resetting of context properties
[Re-sending after changing my SMTP settings since I discovered lots of my e-mails got blocked by spam filters.] Folks, the following is triggered mainly (but not solely) by my short exchange with Dan (https://gitlab.com/lilypond/lilypond/-/merge_requests/1617#note_1735195563): We have some context properties that are persistent (e.g. figuredBassPlusDirection), whereas others are effective once and then get reset by some engraver. Examples include whichBar, but there are more, like forceClef. A third group, like stanza, gets stored persistently, but only leads to a graphical output when changed, thus making for a user interface similar to an actual "use once and then forget". This makes our user interface a little inconsistent regarding the meaning of \set: From a user's perspective, it's hard to understand that some \set'tings have a persistent effect while others act at a single point in time. (For stanza in particular I think while "printing a StanzaNumber at each timestep" is probably nonsencial, the "store, and print only when changed" strategy is actually valid, since this allows for things like "print courtesy parenthesized StanzaNumber after line breaks" which features prominently on my list of things to try.) So: Wouldn't it be more consistent to turn those context properties that (to the user) create "one-time only effects" into persistent ones (so forceClef = ##t _would_ actually create a clef at each timestep forward) and instead create dedicated user interfaces using music functions, like forceClef = \once \set forceClef = ##t etc.? In a similar vein, wouldn't stanzaNumber = \set stanza = \etc (plus some extra features like auto-adding dots when given an integer) be more consistent than forcing the users to remember that (and understand why) stanza numbers have to be created by \set'ting a context property? (Disclaimer: I'm merely asking for thoughts here; I'm not stating that someone(tm) should do this, but would be interested to know whether work in this direction would be welcomed.) Lukas