X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpango-font.hh;h=5e804f7a8f8f743430dd0c757d3220bd9df5619b;hb=8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239;hp=b92eb60c429d8af7da3403a671a645f1d75546a0;hpb=4bb29573149a0ffa1f881c5e38a0fe68e9e76b67;p=lilypond.git diff --git a/lily/include/pango-font.hh b/lily/include/pango-font.hh index b92eb60c42..5e804f7a8f 100644 --- a/lily/include/pango-font.hh +++ b/lily/include/pango-font.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2011 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 @@ -29,14 +29,18 @@ #include "font-metric.hh" -class Pango_font : public Font_metric +struct Preinit_Pango_font { + SCM physical_font_tab_; + Preinit_Pango_font (); +}; + +class Pango_font : Preinit_Pango_font, public Font_metric { PangoContext *context_; PangoFontDescription *pango_description_; PangoAttrList *attribute_list_; Real scale_; Real output_scale_; - SCM physical_font_tab_; Direction text_direction_; public: @@ -48,12 +52,20 @@ public: string description_string () const; SCM font_file_name () const; - void register_font_file (string, string, int); + void register_font_file (const string &filename, const string &ps_name, int face_index); + + size_t name_to_index (string) const; + SCM get_glyph_outline (size_t signed_idx) const; + Box get_glyph_outline_bbox (size_t signed_idx) const; + Box get_unscaled_indexed_char_dimensions (size_t) const; + Box get_scaled_indexed_char_dimensions (size_t) const; Stencil pango_item_string_stencil (PangoGlyphItem const *) const; virtual Stencil text_stencil (Output_def *output_state, - string text, bool music) const; + const string &text, + bool music, + const string &features_str) const; virtual void derived_mark () const; };