Back to index

tetex-bin  3.0
extra_routines.h
Go to the documentation of this file.
00001 /* extra_routines.h: Tables for glues, rules, penalties, etc.
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 void init_font_ivalue(unsigned);
00025 extern void init_font_mvalue(unsigned);
00026 extern void init_font_fvalue(unsigned);
00027 extern void init_font_penalty(unsigned);
00028 extern void init_font_rule(unsigned);
00029 extern void init_font_glue(unsigned);
00030 
00031 
00032 void init_font_ivalue_entry(unsigned);
00033 void set_font_ivalue_definition(unsigned);
00034 void init_font_mvalue_entry(unsigned);
00035 void set_font_mvalue_definition(fix);
00036 void init_font_fvalue_entry(unsigned);
00037 void set_font_fvalue_definition(fix);
00038 void init_font_penalty_entry(unsigned);
00039 void set_font_penalty_definition(unsigned);
00040 void init_font_rule_entry(unsigned);
00041 void set_font_rule_measure(unsigned, fix);
00042 void init_font_glue_entry(unsigned);
00043 void set_font_glue_type(unsigned);
00044 void set_font_glue_width(fix);
00045 void set_font_glue_character(unsigned);
00046 void set_font_glue_rule(unsigned, unsigned);
00047 void set_font_glue_shrink_stretch(unsigned, fix, unsigned);
00048 
00049 typedef struct rule_struct {
00050     fix rule_wd;
00051     fix rule_ht;
00052     fix rule_dp;
00053 } rule;
00054 
00055 typedef struct glue_struct {
00056     fix glue_width;
00057     fix glue_stretch;
00058     fix glue_shrink;
00059     unsigned glue_stretch_order;
00060     unsigned glue_shrink_order;
00061     unsigned glue_type;
00062     unsigned glue_arg_type;
00063     unsigned glue_arg1;
00064     unsigned glue_arg2;
00065 } glue;
00066 
00067 extern void set_character_ivalue(unsigned, unsigned);
00068 extern void set_character_penalty(unsigned, unsigned);
00069 extern void set_character_mvalue(unsigned, unsigned);
00070 extern void set_character_fvalue(unsigned, unsigned);
00071 extern void set_character_rule(unsigned, unsigned);
00072 extern void set_character_glue(unsigned, unsigned);
00073 extern void compute_ofm_extra_stuff(void);
00074 extern void output_ofm_extra_stuff(void);
00075 
00076 extern unsigned nki;
00077 extern unsigned nwi;
00078 extern unsigned nkp;
00079 extern unsigned nwp;
00080 extern unsigned nkm;
00081 extern unsigned nwm;
00082 extern unsigned nkf;
00083 extern unsigned nwf;
00084 extern unsigned nkr;
00085 extern unsigned nwr;
00086 extern unsigned nkg;
00087 extern unsigned nwg;
00088