1 /* ligkern_routines.h: The ligature/kerning table.
2 
3 This file is part of Omega,
4 which is based on the web2c distribution of TeX,
5 
6 Copyright (c) 1994--2001 John Plaice and Yannis Haralambous
7 
8 Omega is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
12 
13 Omega is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with Omega; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21 
22 */
23 
24 extern unsigned bchar;
25 extern unsigned bchar_label;
26 extern four_entries *lig_kern_table;
27 extern unsigned char *activity;
28 
29 extern void set_label_command(unsigned);
30 extern void set_ligature_command(unsigned, unsigned, unsigned);
31 extern void set_kerning_command(unsigned, fix);
32 extern void set_stop_command(void);
33 extern void set_skip_command(unsigned);
34 extern void build_kern_table(void);
35 extern void set_boundary_character(unsigned);
36 
37 extern void check_ligature_program(unsigned,unsigned);
38 extern void check_ligature_ends_properly(void);
39 extern void check_ligature_infinite_loops(void);
40 extern void doublecheck_ligatures(void);
41 
42 extern void print_ligkern_table(void);
43 extern void init_ligkern(void);
44 
45 #define PRIME           1009
46 
47 #define KERN_FLAG 128
48 #define STOP_FLAG 128
49 
50 
51 extern void set_c_label_command(unsigned);
52 extern void set_c_kerning_command(unsigned, fix);
53 extern void set_c_glue_command(unsigned, unsigned);
54 extern void set_c_penalty_command(unsigned, unsigned);
55 extern void set_c_penglue_command(unsigned, unsigned, unsigned);
56 
57 extern unsigned nl;
58 extern unsigned nk;
59 
60 extern void output_ofm_ligkern(void);
61 extern void retrieve_ligkern_table(unsigned char *, unsigned char *);
62 extern void print_one_lig_kern_entry(four_entries *, boolean);
63