+2004-04-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/parser.yy (markup): take encoding from lexer.
+
2004-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
* lily/kpath.cc (kpathsea_find_tfm): Do not trigger TMF generation.
2004-04-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/kpath.cc (kpathsea_find_tfm): don't make unfound TFMs/AFMs.
+
* Documentation/user/lilypond.tely (Top): manual for v2.3 (backportme)
2004-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
* scripts/convert-ly.py: limited old-style markup convert. (Thanks
to Erik Sandberg)
- * Documentation/user/lilypond.tely (Top): update,
-
* lily/font-metric.cc (LY_DEFINE): new function, return fontName.
* scm/output-ps.scm (define-fonts): remove hack for feta/parmesan.
\version "2.2.0"
+
%{
Experimental markup titles are available in direct PostScript output:
* Nonstandardised install directory / how to locate a ps font?
* Nonstandardised filenames?
+
For century schoolbook font:
Debian:
cp -pv /usr/share/fonts/type1/gsfonts/c*.{afm,pfb} mf/out
Red Hat (untested):
- cp -pv /usr/share/fonts/afms/adobe/c*.afm mf/out/
- cp -pv /usr/share/fonts/default/ghostscript/c*.pfb mf/out
+
+ cp -pv /usr/share/fonts/afms/adobe/c*.{afm,pfb} mf/out/
+
+ cp -pv /usr/share/fonts/default/Type1/c*.{pfb,afm} mf/out
%}
class My_lily_lexer : public Includable_lexer
{
Protected_scm scopes_;
+ Protected_scm encoding_;
public:
String main_input_name_;
- String encoding_;
void *lexval;
bool main_input_b_;
void pop_state ();
void LexerError (char const *);
void set_encoding (String);
+ SCM encoding () const;
void set_identifier (SCM name_string, SCM);
bool is_note_state () const;
bool is_chord_state () const;
My_lily_lexer::My_lily_lexer ()
{
keytable_ = new Keyword_table (the_key_tab);
-
+ encoding_ = SCM_EOL;
chordmodifier_tab_ = scm_make_vector (scm_int2num (1), SCM_EOL);
pitchname_tab_stack_ = SCM_EOL;
main_input_b_ = false;
}
+SCM
+My_lily_lexer::encoding () const
+{
+ return encoding_ ;
+}
+
void
My_lily_lexer::add_scope (SCM module)
{
void
My_lily_lexer::set_encoding (String s)
{
- encoding_ = s;
+ encoding_ = ly_symbol2scm (s.to_str0 ());
}
}
SCM
-make_simple_markup (SCM a)
+make_simple_markup (SCM encoding, SCM a)
{
SCM simple = ly_scheme_function ("simple-markup");
- SCM markup = scm_list_2 (simple, a);
-#if 0
- if (THIS->lexer_->encoding_ != "")
- return scm_list_2
- (scm_cons (ly_scheme_function ("encoding"),
- scm_makfrom0str (THIS->lexer_->encoding_.to_str0 ())),
- markup);
-#endif
-return markup;
+ SCM markup =
+ if (gh_symbol_p (encoding))
+ {
+ return scm_list_3 (ly_scheme_function ("encoded-simple-markup"),
+ encoding, a);
+ } else
+ return scm_list_2 (simple, a);
+
+ return markup;
}
}
| string {
Music *t = MY_MAKE_MUSIC ("TextScriptEvent");
- t->set_property ("text", make_simple_markup ($1));
+ t->set_property ("text", make_simple_markup (THIS->lexer_->encoding (), $1));
t->set_spot (THIS->here_input ());
$$ = t;
*/
markup:
STRING {
- $$ = make_simple_markup ($1);
+ $$ = make_simple_markup (THIS->lexer_->encoding (), $1);
}
| MARKUP_HEAD_EMPTY {
$$ = scm_list_1 ($1);