Back to index

tetex-bin  3.0
ligkern_routines.h
Go to the documentation of this file.
00001 /* ligkern_routines.h: The ligature/kerning table.
00002 
00003 This file is part of Omega,
00004 which is based on the web2c distribution of TeX,
00005 
00006 Copyright (c) 1994--2001 John Plaice and Yannis Haralambous
00007 
00008 Omega is free software; you can redistribute it and/or modify
00009 it under the terms of the GNU General Public License as published by
00010 the Free Software Foundation; either version 2 of the License, or
00011 (at your option) any later version.
00012 
00013 Omega is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 GNU General Public License for more details.
00017 
00018 You should have received a copy of the GNU General Public License
00019 along with Omega; if not, write to the Free Software Foundation, Inc.,
00020 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
00021 
00022 */
00023 
00024 extern four_entries lig_kern_table[100000];
00025 
00026 extern void init_ligkern_entry(void);
00027 extern void set_label_command(unsigned);
00028 extern void set_ligature_command(unsigned, unsigned, unsigned);
00029 extern void set_kerning_command(unsigned, fix);
00030 extern void set_stop_command(void);
00031 extern void set_skip_command(unsigned);
00032 extern int  set_new_kern(fix);
00033 extern void  print_kerns(void);
00034 extern void build_kern_table(void);
00035 extern void set_boundary_character(unsigned);
00036 
00037 extern void check_ligature_program(unsigned,unsigned);
00038 extern void check_ligature_ends_properly(void);
00039 extern void check_ligature_infinite_loops(void);
00040 extern void doublecheck_ligatures(void);
00041 
00042 extern void print_ligkern_table(void);
00043 extern void init_ligkern(void);
00044 
00045 extern int l_f(hash_list, unsigned, unsigned);
00046 extern int l_eval(unsigned, unsigned);
00047 extern int l_hash_input(unsigned, unsigned);
00048 extern hash_list l_hash_lookup(unsigned, unsigned);
00049 
00050 #define PRIME           1009
00051 
00052 #define KERN_FLAG 128
00053 #define STOP_FLAG 128
00054 
00055 
00056 extern void set_c_label_command(unsigned);
00057 extern void set_c_kerning_command(unsigned, fix);
00058 extern void set_c_glue_command(unsigned, unsigned);
00059 extern void set_c_penalty_command(unsigned, unsigned);
00060 extern void set_c_penglue_command(unsigned, unsigned, unsigned);
00061 
00062 extern unsigned nl;
00063 extern unsigned nk;
00064 
00065 extern void output_ofm_ligkern(void);
00066 extern void retrieve_ligkern_table(unsigned char *, unsigned char *);
00067 extern void print_one_lig_kern_entry(four_entries *, boolean);