]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-interface.cc
Optimize optimal-page-breaking.
[lilypond.git] / lily / text-interface.cc
index aba3105a187bf2157cdfa4c9e24e5e5c690007c7..abd31a2c696ad2d91a9f392d6b923d52cf30e5b8 100644 (file)
@@ -1,10 +1,21 @@
 /*
-  text-interface.cc -- implement Text_interface
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1998--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
   Jan Nieuwenhuizen <janneke@gnu.org>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "text-interface.hh"
@@ -55,20 +66,17 @@ Text_interface::interpret_string (SCM layout_smob,
   replace_whitespace (&str);
 
   /*
-    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
+    We want to filter strings with a music font 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 ();
+  bool is_music = (scm_memq (encoding, music_encodings) != SCM_BOOL_F);
+  return fm->text_stencil (layout, str, is_music).smobbed_copy ();
 }
 
 MAKE_SCHEME_CALLBACK_WITH_OPTARGS (Text_interface, interpret_markup, 3, 0,