/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1998--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1998--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <pango/pangoft2.h>
#endif
-
/*
Interface to all fonts (both system fonts and fonts loaded
via Pango).
*/
-class All_font_metrics
+class All_font_metrics : public Smob<All_font_metrics>
{
Scheme_hash_table *otf_dict_;
File_path search_path_;
#endif
map<string, Index_to_charcode_map > filename_charcode_maps_map_;
-
+
All_font_metrics (All_font_metrics const &);
public:
+ static const char * const type_p_name_; // = 0
+ SCM mark_smob () const;
- Index_to_charcode_map const *get_index_to_charcode_map (string filename,
- int face_index,
- FT_Face face);
+ Index_to_charcode_map const *get_index_to_charcode_map (const string &filename,
+ int face_index,
+ FT_Face face);
- All_font_metrics (string search_path);
+ All_font_metrics (const string &search_path);
~All_font_metrics ();
Pango_font *find_pango_font (PangoFontDescription const *description,
- Real scale);
+ Real scale);
- Font_metric *find_font (string name);
- Open_type_font *find_otf (string name);
+ Font_metric *find_font (const string &name);
+ Open_type_font *find_otf (const string &name);
SCM font_descriptions () const;
};