/* AFM_parse.h */

char * AFM_key_words [] =
{
	"FontName",
	"ItalicAngle",
	"IsFixedPitch",
	"XHeight",
	"C",
	"KPX",
	"CC",
	"EncodingScheme",
	NULL
};

#define FontName (0)
#define ItalicAngle (1)
#define IsFixedPitch (2)
#define XHeight (3)
#define C (4)
#define KPX (5)
#define CC (6)
#define EncodingScheme (7)
#define not_an_AFM_keyword (-1)

char * config_key_words [] =
{
	"C",
	"D",
	"H",
	"O",
	"I",
	"Encoding",
	NULL
};

#define config_C (0)
#define config_D (1)
#define config_H (2)
#define config_O (3)
#define config_I (4)
#define config_Encoding (5)
#define not_a_config_keyword (-1)

bool has_ligs [255], first_ligtable_entry;

int AFM_command __P((char * s));
void append_liginfo __P((lig_tp * ail, lig_tp * cil));
void assign_chars __P((void));
int config_command __P((char * s));
void delete_TeX_configuration __P((void));
AFM_info_tp * new_char __P((void));
ignore_info_tp * new_ignore_info __P((void));
kern_tp * new_kern __P((void));
lig_tp * new_lig __P((void));
pcc_tp * new_pcc __P((void));
configuration_info_tp * new_conf_info __P((void));
void parse_AFM __P((void));
void parse_config __P((void));
void process_char __P((void));
void process_composite_char __P((void));
void process_configuration __P((int base));
void process_ignore __P((void));
void process_kern __P((void));
void process_kerns __P((AFM_info_tp * ai));
void process_ligatures __P((AFM_info_tp * ai));
char * name_from_AFM_num __P((int afm_num)); /* ILH */