#ifndef ALL_FONTS_HH
#define ALL_FONTS_HH
-
#include "file-path.hh"
#include "lily-proto.hh"
#include "font-metric.hh"
-#include "scm-hash.hh"
/**
Interface to all .afm files living in the filesystem.
*/
class All_font_metrics
{
- Scheme_hash_table afm_p_dict_;
- Scheme_hash_table tfm_p_dict_;
- Scheme_hash_table scaled_p_dict_;
+ Scheme_hash_table *afm_p_dict_;
+ Scheme_hash_table *tfm_p_dict_;
+ Scheme_hash_table *scaled_p_dict_;
File_path search_path_;
public:
-
+ ~All_font_metrics ();
Adobe_font_metric *find_afm (String name);
Tex_font_metric *find_tfm (String);
Font_metric *find_font (String name);
class Tex_font_metric_reader
{
-public:
- static Tex_font_metric * read_file (String name);
-
private:
- Tex_font_metric_reader (Tex_font_metric *, String name);
-
Real get_U32_fix_f ();
Real get_U32_fix_scaled_f ();
String get_bcpl_str ();
Tex_font_char_metric read_char ();
void read_lig_kern_program (Array<Tfm_ligature>* ligature_arr_p, Array <Tfm_kern>* kern_arr_p);
- Tex_font_metric *tfm_l_;
+
Binary_source_file input_;
+
+public:
+ Tex_font_metric_reader ( String name);
+
+
+ Tfm_info info_;
+ Tfm_header header_;
+ Array<Tex_font_char_metric> char_metrics_;
+ Array<int> ascii_to_metric_idx_;
};