David Nalesnik [Thu, 27 Apr 2017 17:13:30 +0000 (12:13 -0500)]
Issue 5127: Implement extra-offset for system positioning
Add the property 'extra-offset to 'line-break-system-details.
It is possible to position systems absolutely using the
properties 'X-offset and 'Y-offset of 'line-break-system-details.
Placement using 'Y-offset, in particular, often requires
considerable trial and error, since it is reckoned from the top
of the usable space.
To remedy this, an 'extra-offset property allows easy movement of
systems relative to where they currently are on the page--whether
there through default or absolute positioning.
This property supports displacements in both axes, though
movement in the Y direction is more generally useful.
System separators will be properly positioned. (Thanks go to Thomas
Morley.)
Antonio Ospite [Sat, 19 Nov 2016 14:27:15 +0000 (15:27 +0100)]
Issue 5130 Fix the encoding of the PDF metadata when using guile-2.0
Postscript files are encoded in Latin1, but PDF metadata has to be
encoded in UTF-16BE.
ly:encode-string-for-pdf takes care of that but it was not working
properly with guile-2.0 because the internal representation of strings
in guile-2.0 has changed and the actual destination encoding has to be
specified explicitly, especially when it's different from the current
locale.
Passing the encoded metadata as Latin1 corresponds to pass its raw byte
representation, and this is enough to make things work.
This also gets rid of a misleading warning:
"`scm_take_str' is deprecated. Use scm_take_locale_stringn instead."
This change is compatible with guile-1.8 so the FIXME comment in
lily/pdf-scheme.cc has been removed. A note was added to
scm/framework-ps.scm to suggest a possible implementation in scheme of
ly_encode_for_pdf(), just in case of a possible future cleanup.
Issue 5128: Prevent granados.ly image rotation in web.pdf
granados.ly used 'landscape symbol for page settings.
As a result, granados.pdf which was generated from granados.ly
contained `/Rotate 90` that is not supported by XeTeX's PDFs including.
So the image in web.pdf which was generated by XeTeX
was rotated 90 degree counter-clockwise.
This commit makes the page settings does not have 'landscape symbol.
We append `landscape` to the name of the paper size itself.
So granados.ly image rotation in web.pdf is prevented.
Amir Czwink [Thu, 4 May 2017 22:13:43 +0000 (00:13 +0200)]
Slashed Half-flat and add. scales for Arabic music
-Introduced a glyph list so that the slashed half-flat is used
(always) instead of the mirrored one (the latter is never used
for Arabic sheet music)
-Added two scales (Maqamat) of major importance for Arabic music
For arabic music score writing:
-Introduced new glyph list, so that by default the slashed
half-flat is used instead of the mirrored half-flat, which isn't
used in Arabic score writing. This makes the use of the cumbersome
\dwn symbol needless and obsolete
-Added Hijaz and Hijaz-Kar maqamat
Federico Bruni [Wed, 3 May 2017 16:33:04 +0000 (18:33 +0200)]
Doc-cs: remove broken links to missing czech PDF files
Czech PDFs are not built so we should provide working links
to the up-to-date english PDF files. Discussed here:
http://lists.gnu.org/archive/html/bug-lilypond/2017-02/msg00012.html
Thomas Morley [Sat, 22 Apr 2017 17:48:13 +0000 (19:48 +0200)]
Issue 5123 Improve elbowed-hairpin
Let the lines be printed by the new make-connected-line-procedure,
using ly:line-interface::line. The new stencil now reacts on
overrides for style and dash-period/fraction.
Not closing Hairpins created by elbowed-hairpin are possible now.
Single disadvantage: The point-list needs to have (0 . 0) first,
if a closing Hairpin is wished.
The previous used make-connected-path did that automatically and
thus was not flexible enough.
Give the final stencil proper extents.
Cleanup, more descriptive naming, extent docstring.
Not translated @ref links work fine in HTML output, but create
broken (undefined) links in PDF output.
I found a list of all @ref in a manual, without repetitions,
with the following command:
Thomas Morley [Sun, 16 Apr 2017 15:11:05 +0000 (17:11 +0200)]
Issue 5122 Fix not scaling stem in note-by-number-markup
Done by calling text-font-size from layout, which defaults to 11.
Then scaling stem-thickness and stem-length by division of
text-font-size through 11.
This ensures a stem-appearance according to the text-properties of
MetronomeMark.
David Kastrup [Thu, 6 Apr 2017 07:50:24 +0000 (09:50 +0200)]
Issue 5116/1: Allow \change to same context type
The \change command no longer refuses to change the parent of a
context when the context itself would be of the proper type to
change to. This allows changing the parent of a context that
could be nested, like StaffGroup in StaffGroup or NullVoice
in Staff (since NullVoice is also aliased to Staff).
LilyPond's configure script did not search guile-config-1.8.
Unfortunately, Cygwin's libguile1.8-devel package has guile-config-1.8.
So the configure script cannot find it.
This commit adds guile-config-1.8 etc. searching.
And, it also modifies the searching order.
Federico Bruni [Fri, 31 Mar 2017 06:44:13 +0000 (08:44 +0200)]
web: move Google Summer of Code information in included/
So translators can choose not to translate this node of community.itexi.
GSoC page gets quite frequent updates and keeping the translations
up-to-date may be cumbersome and not worth the effort (as GSoC
applicants are required to speak english).
David Kastrup [Fri, 2 Nov 2012 16:56:23 +0000 (17:56 +0100)]
Issue 5113/2: Parser: discriminate quoted and non-quoted strings
Checking quoted strings for syntactic correctness seems spurious, as does
splitting them into multiple symbols. Now "x.y" is treated as a list
of two symbols without the quotation marks, but as a single string or
symbol when given quotation marks.
This allows using quotation marks for creating arbitrary symbols, and
consequently specifying key lists using quoted strings without the
strings being split in other components or being rejected because
of syntactical reasons.
This also redefines LilyPond's manners of converting simple
expressions into music, most notably checking drum types for being
defined before accepting them as note values.
David Nalesnik [Thu, 30 Mar 2017 17:44:20 +0000 (12:44 -0500)]
Issue 5111: Implement spacing-pair for MeasureCounter
Since MeasureCounter grobs are bounded by columns, sophisticated
horizontal positioning is available relative to "prefatory
materials" (such as barlines, clefs, and key signatures) at the
beginning and end of measures. This allows numbers to be
placed above full-measure rests which have been similarly adjusted
with 'spacing-pair.
The previous default is established in the grob description: count
objects are centered between BreakAlignment grobs.
Paper_column::break_align_width is made available to Scheme as
ly:paper-column:break-align-width.
Thomas Morley [Sat, 26 Nov 2016 12:38:51 +0000 (13:38 +0100)]
Issue 5107 Fix some warnings about string-delete and
string-filter argument order
This makes guile2 stop printing some warning messages:
Guile used to use the wrong argument order for string-delete.
This call to string-filter had the arguments in the wrong order.
See SRFI-13 for more details. At some point we will remove this hack.
David Kastrup [Thu, 23 Mar 2017 23:20:58 +0000 (00:20 +0100)]
Issue 5105/3: Allow number as MarkEvent.label
This puts all Mark counter handling in the hand of the Mark_engraver .
Interestingly, Mark_engraver itself already was perfectly equipped to
dealing with that, but the `label' property did not yet accept
numbers.
Thomas Morley [Tue, 21 Mar 2017 20:13:30 +0000 (21:13 +0100)]
Issue 5104 Let scheme-sandbox use system-repl with guile-2.x
This fixes the warning returned by guile-2.x
`scm-style-repl' in the default environment is deprecated.
Find it in the `(ice-9 scm-style-repl)' module instead, or
better yet, use the repl from `(system repl repl)'.
Masamichi Hosoda [Thu, 16 Mar 2017 11:42:15 +0000 (20:42 +0900)]
Issue 5100: Prevent race condition in font export directory making
When a font export directory is necessary,
LilyPond tested the existence of the directory,
and if the directory did not exist, LilyPond made the directory.
However, LilyPond raised the error that the directory already exists
if another process made the directory between the testing and the making.
This commit prevents such race condition.
By deleting the existence test,
LilyPond always tries to make the directory regardless of existence.
Then suppress the error that the directory already exists.
Francisco Vila [Fri, 24 Mar 2017 18:48:48 +0000 (19:48 +0100)]
Web-es: version marker for Community.
This completes in theory a full update of Spanish web and
documentation. Next is texidocs (snippet documentation), which is a
huge task as there are 330 outdated files.