diff options
Diffstat (limited to 'Build/source/texk/web2c/omegafonts/print_routines.c')
-rw-r--r-- | Build/source/texk/web2c/omegafonts/print_routines.c | 411 |
1 files changed, 411 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/omegafonts/print_routines.c b/Build/source/texk/web2c/omegafonts/print_routines.c new file mode 100644 index 00000000000..2a17e955f4f --- /dev/null +++ b/Build/source/texk/web2c/omegafonts/print_routines.c @@ -0,0 +1,411 @@ +/* print_routines.c: higher-level routines for printing OPL and OVP files. + +This file is part of Omega, +which is based on the web2c distribution of TeX, + +Copyright (c) 1994--2001 John Plaice and Yannis Haralambous + +Omega is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +Omega is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Omega; if not, write to the Free Software Foundation, Inc., +59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "cpascal.h" +#include "list_routines.h" +#include "manifests.h" +#include "print_routines.h" +#include "header_routines.h" +#include "out_routines.h" +#include "error_routines.h" +#include "omfonts.h" + +void +print_check_sum(void) +{ + left(); + out("CHECKSUM"); + out(" "); out_num(check_sum); + right(); +} + +void +print_design_size(void) +{ + left(); + out("DESIGNSIZE"); + out(" "); out_fix(design_size); + right(); +} + +void +print_coding_scheme(void) +{ + left(); + out("CODINGSCHEME"); + out(" "); out(coding_scheme); + right(); +} + +void +print_family(void) +{ + left(); + out("FAMILY"); + out(" "); out(family); + right(); +} + +void +print_face(void) +{ + left(); + out("FACE"); + out(" "); + if ((face >= F_MIN) && (face <= F_MAX)) print_xerox_face(face); + else out_num(face); + right(); +} + +void +print_seven_bit_safe_flag(void) +{ + left(); + out("SEVENBITSAFEFLAG"); out(" "); + if (seven_bit == 1) out("TRUE"); + else if (seven_bit == 0) out("FALSE"); + else internal_error_1("print_seven_bit_safe_flag (seven_bit=%d)", seven_bit); + right(); + +} + +void +print_font_dimension(void) +{ + left(); + out("FONTDIMEN"); out_ln(); +} + +void +print_boundary_char(unsigned val) +{ + left(); + out("BOUNDARYCHAR"); + out(" "); out_char(val); right(); +} + +void +print_ligature_table(void) +{ + left(); + out("LIGTABLE"); out_ln(); +} + +void +print_character(unsigned val) +{ + left(); + out("CHARACTER"); + out(" "); out_char(val); out_ln(); +} + +void +print_parameter(unsigned parameter, fix fval) +{ + left(); + if ((font_type==FT_MATHSY) && + (parameter>=P_MATHSY_MIN) && + (parameter<=P_MATHSY_MAX)) { + out_named_mathsy_parameter(parameter); + } else if ((font_type==FT_MATHEX) && + (parameter>=P_MATHEX_MIN) && + (parameter<=P_MATHEX_MAX)) { + out_named_mathex_parameter(parameter); + } else if (parameter<=P_MAX) { + out_named_parameter(parameter); + } else { + out("PARAMETER"); out(" "); out_int(parameter,10); + } + out(" "); out_fix(fval); + right(); +} + +void +print_label_command(unsigned val) +{ + left(); + out("LABEL"); out(" "); + if (val == -1) out("BOUNDARYCHAR"); + else out_char(val); + right(); +} + +void +print_ligature_command(unsigned command, unsigned val1, unsigned val2) +{ + left(); + out_ligature_command(command); + out(" "); out_char(val1); + out(" "); out_char(val2); + right(); +} + +void +print_kerning_command(unsigned val, fix fval) +{ + left(); + out("KRN"); + out(" "); out_char(val); + out(" "); out_fix(fval); + right(); +} + +void +print_stop_command(void) +{ + left(); + out("STOP"); + right(); +} + +void +print_skip_command(unsigned val) +{ + left(); + out("SKIP"); + out(" "); out_int(val,10); + right(); +} + +void +print_character_measure(unsigned measure, fix fval) +{ + left(); + out_character_measure(measure); + out(" "); out_fix(fval); + right(); +} + +void +print_next_larger(unsigned val) +{ + left(); + out("NEXTLARGER"); + out(" "); out_char(val); + right(); +} + +void +print_var_character(void) +{ + left(); out("VARCHAR"); out_ln(); +} + +void +print_extensible_piece(unsigned piece, unsigned val) +{ + left(); + out_extensible_piece(piece); + out(" "); out_char(val); + right(); +} + +/* Primitives used in VF and OVF files */ + +void +print_vtitle(string sval) +{ + left(); + out("VTITLE"); + out(" "); out(sval); + right(); +} + +void +print_map_font(unsigned val) +{ + left(); + out("MAPFONT"); + out(" "); out_int(val,10); out_ln(); +} + +void +print_font_name(string sval) +{ + left(); + out("FONTNAME"); + out(" "); out(sval); + right(); +} + +void +print_font_area(string sval) +{ + left(); + out("FONTAREA"); + out(" "); out(sval); + right(); +} + +void +print_font_check_sum(unsigned val) +{ + left(); + out("FONTCHECKSUM"); + out(" "); out_num(val); + right(); +} + +void +print_font_at(fix fval) +{ + left(); + out("FONTAT"); + out(" "); out_fix(fval); + right(); +} + +void +print_font_design_size(fix fval) +{ + left(); + out("FONTDSIZE"); + out(" "); out_fix(fval); + right(); +} + +void +print_map(void) +{ + left(); out("MAP"); out_ln(); +} + +void +print_select_font(unsigned val) +{ + left(); + out("SELECTFONT"); + out(" "); out_int(val,10); + right(); +} + +void +print_set_char(unsigned val) +{ + left(); + out("SETCHAR"); + out(" "); out_char(val); + right(); +} + +void +print_put_char(unsigned val) +{ + left(); + out("PUTCHAR"); + out(" "); out_char(val); + right(); +} + +void +print_set_rule(fix fval1, fix fval2) +{ + left(); + out("SETRULE"); + out(" "); out_fix(fval1); + out(" "); out_fix(fval2); + right(); +} + +void +print_put_rule(fix fval1, fix fval2) +{ + left(); + out("PUTRULE"); + out(" "); out_fix(fval1); + out(" "); out_fix(fval2); + right(); +} + +void +print_push(void) +{ + left(); out("PUSH"); right(); +} + +void +print_pop(void) +{ + left(); out("POP"); right(); +} + +void +print_move(unsigned direction, fix fval) +{ + left(); + out_move_direction(direction); + out(" "); out_fix(fval); + right(); +} + +void +print_special(string sval) +{ + left(); + out("SPECIAL"); + out(" "); out(sval); + right(); +} + +void +print_special_hex(unsigned char *special, int k) +{ + left(); + out("SPECIALHEX "); + for (; k > 0; k--, special++) { + if ((k & 0x1f) == 0) + out_ln(); + else if ((k & 0x03) == 0) + out(" "); + out_hex(*special); + } + right(); +} + +/* Primitives used in OPL and OVF files */ + +void +print_character_repeat(unsigned val1, unsigned val2) +{ + left(); + out("CHARREPEAT"); + out(" "); out_char(val1); + out(" "); out_char(val2); out_ln(); +} + +void +print_ofm_level(unsigned val) +{ + left(); + out("OFMLEVEL"); + out(" "); out_int(val,16); + right(); +} + +void +print_font_dir(unsigned val) +{ + left(); + out_type_direction(val); + right(); +} |