]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tfm-reader.hh
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / include / tfm-reader.hh
1 /*
2   tfm-reader.hh -- declare Tex_font_metric_reader
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1999--2006 Jan Nieuwenhuizen <janneke@gnu.org>
7
8
9   revamped code from GNU Fontutils-0.6
10 */
11
12 #ifndef TFM_READER_HH
13 #define TFM_READER_HH
14
15 #include "tfm.hh"
16 #include "binary-source-file.hh"
17
18 class Tex_font_metric_reader
19 {
20 private:
21   Real get_U32_fix ();
22   Real get_U32_fix_scaled ();
23   string get_bcpl_string ();
24   void read_header ();
25   void read_params ();
26   void read_char_metrics ();
27   Tex_font_char_metric read_char_metric (Char_code code);
28   Tex_font_char_metric read_char ();
29   void read_lig_kern_program (vector<Tfm_ligature> *ligatures,
30                               vector<Tfm_kern> *kerns);
31
32   Binary_source_file input_;
33
34 public:
35   Tex_font_metric_reader (string name);
36
37   Tfm_info info_;
38   Tfm_header header_;
39   vector<Tex_font_char_metric> char_metrics_;
40   vector<vsize> ascii_to_metric_idx_;
41 };
42
43 #endif /* TFM_READER_HH */
44