]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/afm.hh
release: 1.3.19
[lilypond.git] / lily / include / afm.hh
index 3be52df478b9425f4eaa151ae41b8dad4b4142b7..abc185971d9144d11ee1b6225977175acdfd06a6 100644 (file)
@@ -3,7 +3,7 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #include "box.hh"
 #include "array.hh"
 #include "dictionary.hh"
+#include "font-metric.hh"
 
-struct Adobe_font_char_metric {
+struct Adobe_font_char_metric : Character_metric {
   int C_;
   Real WX_;
   String N_;
   Box B_;
+  int size_;
   Box &bbox();
   String &name();
   Real &width();
@@ -27,9 +29,10 @@ struct Adobe_font_char_metric {
   
   String str () const;
   Adobe_font_char_metric ();
+  Box dimensions () const;
 };
 
-struct Adobe_font_metric {
+struct Adobe_font_metric : Font_metric {
   String  FontName_;
   String FullName_;
   String FamilyName_;
@@ -46,14 +49,16 @@ struct Adobe_font_metric {
   Array<int> ascii_to_metric_idx_;
   Dictionary<int> name_to_metric_dict_;
   
-  Adobe_font_char_metric find_char (String name, bool warn=true) const;
-  Adobe_font_char_metric find_ascii (int ascii) const;
+  Adobe_font_char_metric const &find_char (String name, bool warn=true) const;
+  Adobe_font_char_metric const &find_ascii (int ascii,bool warn) const;
   String str () const;
   Adobe_font_metric ();
-  void read_char_metrics (Data_file &input);
+  void read_char_metrics (Data_file &input, int size);
+
+  Character_metric const *get_char (int, bool) const;
 };
 
-Adobe_font_metric read_afm_file (String fn);
+Adobe_font_metric *read_afm_file (String fn);