X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftext-interface.cc;h=1c88d97cb30c7789c068030c93d255f8a28e1efa;hb=cb01be4028886109ecc4772234452965ce7dfb66;hp=757f1d277c5f7f42b580dadb5b2b82f6a5f886d8;hpb=41e45dd730c075e78065dfa78e5e54be664d905e;p=lilypond.git diff --git a/lily/text-interface.cc b/lily/text-interface.cc index 757f1d277c..1c88d97cb3 100644 --- a/lily/text-interface.cc +++ b/lily/text-interface.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2007 Han-Wen Nienhuys + (c) 1998--2009 Han-Wen Nienhuys Jan Nieuwenhuizen */ @@ -64,7 +64,22 @@ Text_interface::interpret_string (SCM layout_smob, 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, @@ -72,9 +87,9 @@ 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) @@ -137,7 +152,7 @@ Text_interface::is_markup_list (SCM x) 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:"