X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fopen-type-font.cc;h=3038df4331645f30dcb000be55cf3deb0830171d;hb=1223757343fa22a14cac5fb2a87e2147a8d39676;hp=837a1f23001772aebe5bec7271c2084b80e82ca4;hpb=fc455c4192d5c688a5728947c79a68e99b4de553;p=lilypond.git diff --git a/lily/open-type-font.cc b/lily/open-type-font.cc index 837a1f2300..3038df4331 100644 --- a/lily/open-type-font.cc +++ b/lily/open-type-font.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2012 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,7 @@ */ #include "open-type-font.hh" +#include "freetype.hh" #include @@ -26,7 +27,6 @@ using namespace std; #include FT_TRUETYPE_TABLES_H #include "dimensions.hh" -#include "freetype.hh" #include "international.hh" #include "modified-font-metric.hh" #include "warn.hh" @@ -76,7 +76,11 @@ load_scheme_table (char const *tag_str, FT_Face face) string contents ((char const *)buffer, length); contents = "(quote (" + contents + "))"; +#if GUILEV2 + tab = scm_eval_string (scm_from_utf8_string (contents.c_str ())); +#else tab = scm_c_eval_string (contents.c_str ()); +#endif free (buffer); } return tab; @@ -157,7 +161,7 @@ Open_type_font::attachment_point (const string &glyph_name) const SCM entry = scm_hashq_ref (lily_character_table_, sym, SCM_BOOL_F); Offset o; - if (entry == SCM_BOOL_F) + if (scm_is_false (entry)) return o; SCM char_alist = entry; @@ -173,7 +177,7 @@ Open_type_font::get_indexed_char_dimensions (size_t signed_idx) const { SCM box = scm_hashq_ref (lily_index_to_bbox_table_, scm_from_unsigned_integer (signed_idx), SCM_BOOL_F); - Box *box_ptr = Box::unsmob (box); + Box *box_ptr = unsmob (box); if (box_ptr) return *box_ptr; } @@ -191,7 +195,7 @@ Open_type_font::get_indexed_char_dimensions (size_t signed_idx) const SCM sym = ly_symbol2scm (name); SCM alist = scm_hashq_ref (lily_character_table_, sym, SCM_BOOL_F); - if (alist != SCM_BOOL_F) + if (scm_is_true (alist)) { SCM bbox = scm_cdr (scm_assq (ly_symbol2scm ("bbox"), alist)); @@ -336,7 +340,7 @@ Open_type_font::glyph_list () const warning (_f ("FT_Get_Glyph_Name () error: %s", freetype_error_string (code).c_str ())); - *tail = scm_cons (scm_from_locale_string (name), SCM_EOL); + *tail = scm_cons (scm_from_ascii_string (name), SCM_EOL); tail = SCM_CDRLOC (*tail); }