@section Introduction
-This document tries give an brief overview of LilyPond features. When
+This document tries give a brief overview of LilyPond features. When
the text correspond with the shown notation, we consider LilyPond
Officially BugFree (tm). This document is intended for finding bugs,
and documenting bugfixes.
@mudelafile{lyrics-bar.ly}
+Text is set with empty horizontal dimensions. The boolean property
+textNonEmpty is used to respect the horizontal size of text.
+
+@mudelafile{non-empty-text.ly}
+
@section Global stuff
Breaks can be encouraged and discouraged using @code{\break} and
--- /dev/null
+%
+% Try this file with 1.2.17: it works
+% 1.2 had a different default, and uses textEmptyDimension scalar property
+%
+\score{
+ \notes\relative c''{
+ %\property Staff.textEmptyDimension=1
+ a-"This text has no"
+ a
+ a
+ a-"width; the default"
+ \break
+ \property Staff.textNonEmpty=##t
+ %\property Staff.textEmptyDimension=0
+ a-"This text"
+ a-"is fat: notes are spaced"
+ a-"far apart and text"
+ a-"does not collide"
+ }
+ \paper{
+ linewidth=80.\mm;
+ }
+}
--- /dev/null
+%
+% Try this file with 1.2.17: it works
+% 1.2 had a different default, and uses textEmptyDimension scalar property
+%
+\score{
+ \notes\relative c''{
+ %\property Staff.textEmptyDimension=1
+ a-"This text has no"
+ a
+ a
+ a-"width; the default"
+ \break
+ \property Staff.textNonEmpty=##t
+ %\property Staff.textEmptyDimension=0
+ a-"This text"
+ a-"is fat: notes are spaced"
+ a-"far apart and text"
+ a-"does not collide"
+ }
+ \paper{
+ linewidth=80.\mm;
+ }
+}
if (r->style_str_.length_i ())
text->set_elt_property ("style", ly_str02scm (r->style_str_.ch_C()));
- SCM empty = get_property ("textNonEmpty");
- if (to_boolean (empty))
+ /*
+ huh?, this said:
+
+ SCM empty = get_property ("textNonEmpty");
+ if (to_boolean (empty))
+ no-spacing-rods
+
+ Text is empty by default, which means that the only condition
+ for not setting 'no-spacing-rods' should be: boolean && true.
+
+ Anyway, non-empty text has been broken for some time now.
+ */
+ SCM nonempty = get_property ("textNonEmpty");
+ if (to_boolean (nonempty))
+ ;
+ else
{
text->set_elt_property ("no-spacing-rods" , SCM_BOOL_F);
text->set_extent_callback (0, X_AXIS);