source file of the GNU LilyPond music typesetter
- (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
Font_metric *fm = select_encoded_font (layout, props);
replace_whitespace (&str);
- return fm->word_stencil (str).smobbed_copy ();
+
+ /*
+ We want to use "glyph-string" in the SVG backend for all
+ music fonts (Emmentaler and Aybabtu) that pass through the
+ text interface. Here the font encoding is checked to see if
+ it matches one of the music font encodings. --pmccarty
+ */
+ SCM encoding = ly_chain_assoc_get (ly_symbol2scm ("font-encoding"),
+ props,
+ SCM_BOOL_F);
+ SCM music_encodings = ly_lily_module_constant ("all-music-font-encodings");
+
+ if (scm_memq (encoding, music_encodings) != SCM_BOOL_F)
+ return fm->word_stencil (str, true).smobbed_copy ();
+ else
+ return fm->word_stencil (str, false).smobbed_copy ();
}
MAKE_SCHEME_CALLBACK_WITH_OPTARGS (Text_interface, interpret_markup, 3, 0,
" Takes three arguments, @var{layout}, @var{props}, and @var{markup}.\n"
"\n"
"@var{layout} is a @code{\\layout} block; it may be obtained from a grob with"
-" @code{ly:grob-layout}. @var{props} is a alist chain, ie. a list of alists."
-" This is typically obtained with"
-" @code{(ly:grob-alist-chain (ly:layout-lookup layout 'text-font-defaults))}."
+" @code{ly:grob-layout}. @var{props} is an alist chain, i.e. a list of"
+" alists. This is typically obtained with"
+" @code{(ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults))}."
" @var{markup} is the markup text to be processed.");
SCM
Text_interface::interpret_markup (SCM layout_smob, SCM props, SCM markup)
ADD_INTERFACE (Text_interface,
- "A Scheme markup text, see @ruser{Text markup} and"
+ "A Scheme markup text, see @ruser{Formatting text} and"
" @ruser{New markup command definition}.\n"
"\n"
"There are two important commands:"