1 /* font_routines.h: Data structures for virtual font support. 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 typedef struct font_struct { 25 int font_number; 26 unsigned font_checksum; 27 double font_dsize; 28 string font_name; 29 string font_area; 30 fix font_at; 31 unsigned char *ovf_packet; 32 unsigned ovf_packet_length; 33 boolean font_at_defined; 34 boolean font_dsize_defined; 35 boolean font_checksum_defined; 36 } font; 37 38 typedef struct move_struct { 39 fix wfix; 40 fix xfix; 41 fix yfix; 42 fix zfix; 43 unsigned h; 44 unsigned v; 45 } move; 46 47 extern font *font_table; 48 extern unsigned no_fonts; 49 extern unsigned cur_font_index; 50 extern font *cur_font; 51 52 extern string vtitle; 53 54 extern unsigned packet_table_size; 55 extern unsigned char *packet_table; 56 extern unsigned char *cur_packet; 57 extern unsigned packet_ptr; 58 59 extern void init_map_font(int); 60 extern void set_font_name(string); 61 extern void set_font_area(string); 62 extern void set_font_check_sum(unsigned); 63 extern void set_font_at(fix); 64 extern void set_font_design_size(fix); 65 66 extern void set_vtitle(string ); 67 extern void init_map(void); 68 extern void end_map(void); 69 extern void set_select_font(unsigned); 70 extern void set_set_char(unsigned); 71 extern void set_set_rule(fix, fix); 72 extern void set_move(unsigned, fix); 73 extern void set_push(void); 74 extern void set_pop(void); 75 extern void set_special(string ); 76 extern void set_special_hex(string ); 77 78 extern void font_table_init(void); 79 80 extern void out_ovf(unsigned); 81 extern void out_ovf_4(unsigned); 82 83 extern int ovf_get_arg(unsigned char **, unsigned,boolean); 84 extern void input_ovf_fonts(void); 85 extern void input_ovf_chars(void); 86 extern void input_ovf_file(void); 87