]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tfm-reader.hh
636b4f663021210d92c7b03f53109c8c446c1c14
[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--2003 Jan Nieuwenhuizen <janneke@gnu.org>
7
8
9   revamped code from GNU Fontutils-0.6
10
11  */
12
13 #ifndef TFM_READER_HH
14 #define TFM_READER_HH
15
16 #include "tfm.hh"
17 #include "binary-source-file.hh"
18
19 class Tex_font_metric_reader
20 {
21 private:
22   Real get_U32_fix ();
23   Real get_U32_fix_scaled ();
24   String get_bcpl_string ();
25   void read_header ();
26   void read_params ();
27   void read_char_metrics ();
28   Tex_font_char_metric read_char_metric (Char_code code);
29   Tex_font_char_metric read_char ();
30   void read_lig_kern_program (Array<Tfm_ligature>* ligatures, Array <Tfm_kern>* kerns);
31
32
33   Binary_source_file input_;
34
35 public:
36   Tex_font_metric_reader ( String name);
37
38   
39   Tfm_info info_;
40   Tfm_header header_;
41   Array<Tex_font_char_metric> char_metrics_;
42   Array<int> ascii_to_metric_idx_;
43 };
44
45
46 #endif /* TFM_READER_HH */
47