James Lowe [Tue, 26 Apr 2011 21:39:28 +0000 (22:39 +0100)]
Doc: Adjusted CG Policy on @lilypond[] variables
As a reuslt of work on NR 3.2 Titles and Headers, it was necessary to
define some more explicit requirements for using the variables in the
@lilypond[ ... ] construct. Ssuch as removing staffsize
and page sizes within the actual @lilypond example which only add more noise
to the examples.
Also when the need to show taglines and/or page breaks and footers is required then
\book is needed in the example and this will result in unnecessary white space between top and bottom
of the page. So showing page breaking features or numbering examples becomes
problematic within the documentation.
The new @lilypond[papersize=X] variable allows for explicit page sizing without
the need to include it in the example itself. Allowing for better clarity.
The papersize=X takes variables from the scm/paper.scm else 'a4' is presumed.
Moved existing material to the front of this section so that it makes more sense
and added the new requirements for the various preferred variables.
Fix "make doc" error: Character set messup in pdf-scheme.cc
In "make doc", somehow the LANG env variable is cleared, so
glib returned charset=ANSI_X3.4-1968 for the input string. This would
disallow any accented characters in the input string.
However, we know that the input string is by definition always UTF-8,
so the solution is not to use the current locale, but hardcode UTF-8.
Once we switch to guile 2.0, we should use (sting->utf16 str 'big)
instead of manually converting the string in C.
Mike Solomon [Tue, 26 Apr 2011 11:09:21 +0000 (07:09 -0400)]
Fixes cross staff issue with beam collision avoidance.
Beam collision avoidance is now turned off for "fake" cross staff beams
(those that are registered as cross staff because of auto-beaming but
are in fact not). Additionally, beams no longer process other
cross-staff beams as covered grobs.
Mike Solomon [Fri, 22 Apr 2011 15:29:33 +0000 (11:29 -0400)]
Update beam collision in the documentation.
Notify users that beam collision avoidance does not occur for cross
staff beams and suggest that users use manual beams for beams that
end right before a staff change.
pdf-metadata: Use UTF-16BE for metadata if required
All Latin1 metadata strings need to be printed out to the .ps file
in Latin1 (NOT in UTF-8), and all non-Latin1 strings need to use
UTF-16BE encoding.
The escaping of parentheses and backslashes needs to be applied
AFTER encoding the string (since the escaping is required to correctly
detect the end of the encoding string when reading the byte-sequence
of the encoded string from the file. Basically, we are dumping a binary
sequence to the file, enclosed by parentheses. All \051 bytes need
to be escaped to make sure they are not detected as the closing
parenthesis.)
Add feature to link to a particular page or a page containing a given label
The main part of this patch was done by Dan Eble and posted to the
lilypond-devel mailinglist on December 27, 2010.
Like \with-url, this works only with the PDF backend.
-) Add markup functions \with-link (links to the page containing the
given label) and \page-link (links to the given page number)
-) Internally, they are handled like the \with-url markup function,
creating a pdfmark in the .ps file that creates the link in the
PDF file.
-) Add links to the pages for all TOC entries.
David Kastrup [Tue, 12 Apr 2011 12:56:03 +0000 (14:56 +0200)]
input/regression/accidental-clef-change.ly: Change regtest to account for issue 1471.
This test of accidental-clef-change.ly was made to reflect the
necessity of repeating in-key accidentals after a clef change when
they have been altered before the change.
James Lowe [Thu, 7 Apr 2011 11:29:02 +0000 (12:29 +0100)]
Added new Pagesize definition to paper.scm
Added 'c9landscape' to allow a very small @lilypond to be defined for examples
that need to show footers, taglines and the like without having to
1. Define the papersize within the actual @lilypond; and so make the example more
complicated that it need be for users.
2. Avoid unnecessary white space between the content and footers/taglines etc.
Chosen size is named c9landscape because the new papersize=x option for
the @lilypond [] construct cannot take spaces or use the standard 'landscape
option. Keeping a standard ISO size means we don't have 'custom' sizes in the
scm file.
Add springs-and-rods callback to DynamicTextSpanner, so minimum-length has an
effect
Without that callback, setting minimum-length on a DynamicTextSpanner does not
have any effect... Also set a minimum-length of 2.0, similar to the Hairpin grob.
Mike Solomon [Fri, 8 Apr 2011 22:45:50 +0000 (18:45 -0400)]
Adds collision-voice-only property to beams.
The default is ##f, meaning that beams will attempt to not collide
with all of the grobs they cover. Setting this to ##t only polices
collisions within a voice.