]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-item.cc
* lily/output-def.cc (assign_context_def): use set_variable().
[lilypond.git] / lily / text-item.cc
index b88ad73280b9027fce9213031dc22b8788568e5b..1226c8e3b31de96c2a01fae87ca64a00f4b330a1 100644 (file)
@@ -35,20 +35,11 @@ Text_item::interpret_string (SCM paper_smob,
   String str = ly_scm2string (markup);
   if (!ly_c_symbol_p (input_encoding))
     {
-      /* FIXME: input_encoding is set in *book*_paper
-
-         Options include:
-        
-         1. produce a bookpaper from a paper.
-        2. add BOOKPAPER parameter to all callers, ie, all MARKUPs.  */
-      
-      programming_error ("FIXME: looking up input_encoding in paper");
-      programming_error ("as a workaround, set inputencoding in your \\paper block");
-      SCM var = ly_module_lookup (paper->scope_,
-                                 ly_symbol2scm ("inputencoding"));
-      if (var != SCM_BOOL_F) 
-       input_encoding = scm_variable_ref (var);
-      
+      SCM enc = paper->lookup_variable (ly_symbol2scm ("inputencoding"));
+      if (ly_c_string_p (enc))
+       input_encoding = scm_string_to_symbol (enc);
+      else if (ly_c_symbol_p (enc))
+       input_encoding = enc;
     }
   
   Font_metric *fm = select_encoded_font (paper, props, input_encoding);