Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\r
02110-1301 USA. */\r
\r
-/* Y&Y TeX's DVIPDFMX backend. */\r
-\r
#define EXTERN extern\r
\r
#include "dpx.h"\r
{\r
integer page_loc;\r
char j, k;\r
- pool_pointer s;\r
- char old_setting;\r
\r
if (tracing_output > 0)\r
{\r
}\r
\r
if ((height(p) > max_dimen) || (depth(p) > max_dimen) ||\r
- (height(p) + depth(p) + v_offset > max_dimen) ||\r
- (width(p) + h_offset > max_dimen))\r
+ (height(p) + depth(p) + v_offset > max_dimen) ||\r
+ (width(p) + h_offset > max_dimen))\r
{\r
print_err("Huge page cannot be shipped out");\r
help2("The page just created is more than 18 feet tall or",\r
pdf_dev_set_string(cur_h, -cur_v, cbuf, 1, char_width(f, char_info(f, c)), font_id[dvi_f], 1);\r
{\r
pdf_rect rect;\r
- pdf_dev_set_rect(&rect, cur_h, -dvi_v,\r
+ pdf_dev_set_rect(&rect, cur_h, -cur_v,\r
char_width (f, char_info(f, c)),\r
char_height(f, height_depth(char_info(f, c))),\r
char_depth (f, height_depth(char_info(f, c))));\r
break;\r
\r
case rule_node:\r
- {\r
- rule_ht = height(p);\r
- rule_dp = depth(p);\r
- rule_wd = width(p);\r
- goto fin_rule;\r
- }\r
+ {\r
+ rule_ht = height(p);\r
+ rule_dp = depth(p);\r
+ rule_wd = width(p);\r
+ goto fin_rule;\r
+ }\r
break;\r
\r
case whatsit_node:\r
break;\r
\r
case glue_node:\r
- {\r
- g = glue_ptr(p);\r
- rule_wd = width(g) - cur_g;\r
-\r
- if (g_sign != normal)\r
{\r
- if (g_sign == stretching)\r
+ g = glue_ptr(p);\r
+ rule_wd = width(g) - cur_g;\r
+\r
+ if (g_sign != normal)\r
{\r
- if (stretch_order(g) == g_order)\r
+ if (g_sign == stretching)\r
+ {\r
+ if (stretch_order(g) == g_order)\r
+ {\r
+ cur_glue = cur_glue + stretch(g);\r
+ vet_glue(glue_set(this_box) * cur_glue);\r
+ cur_g = round(glue_temp);\r
+ }\r
+ }\r
+ else if (shrink_order(g) == g_order)\r
{\r
- cur_glue = cur_glue + stretch(g);\r
+ cur_glue = cur_glue - shrink(g);\r
vet_glue(glue_set(this_box) * cur_glue);\r
cur_g = round(glue_temp);\r
}\r
}\r
- else if (shrink_order(g) == g_order)\r
- {\r
- cur_glue = cur_glue - shrink(g);\r
- vet_glue(glue_set(this_box) * cur_glue);\r
- cur_g = round(glue_temp);\r
- }\r
- }\r
-\r
- rule_wd = rule_wd + cur_g;\r
\r
- if (subtype(p) >= a_leaders)\r
- {\r
- leader_box = leader_ptr(p);\r
+ rule_wd = rule_wd + cur_g;\r
\r
- if (type(leader_box) == rule_node)\r
+ if (subtype(p) >= a_leaders)\r
{\r
- rule_ht = height(leader_box);\r
- rule_dp = depth(leader_box);\r
- goto fin_rule;\r
- }\r
+ leader_box = leader_ptr(p);\r
\r
- leader_wd = width(leader_box);\r
+ if (type(leader_box) == rule_node)\r
+ {\r
+ rule_ht = height(leader_box);\r
+ rule_dp = depth(leader_box);\r
+ goto fin_rule;\r
+ }\r
\r
- if ((leader_wd > 0) && (rule_wd > 0))\r
- {\r
- rule_wd = rule_wd + 10;\r
- edge = cur_h + rule_wd;\r
- lx = 0;\r
+ leader_wd = width(leader_box);\r
\r
- if (subtype(p) == a_leaders)\r
+ if ((leader_wd > 0) && (rule_wd > 0))\r
{\r
- save_h = cur_h;\r
- cur_h = left_edge + leader_wd * ((cur_h - left_edge) / leader_wd);\r
+ rule_wd = rule_wd + 10;\r
+ edge = cur_h + rule_wd;\r
+ lx = 0;\r
\r
- if (cur_h < save_h)\r
- cur_h = cur_h + leader_wd;\r
- }\r
- else\r
- {\r
- lq = rule_wd / leader_wd;\r
- lr = rule_wd % leader_wd;\r
+ if (subtype(p) == a_leaders)\r
+ {\r
+ save_h = cur_h;\r
+ cur_h = left_edge + leader_wd * ((cur_h - left_edge) / leader_wd);\r
\r
- if (subtype(p) == c_leaders)\r
- cur_h = cur_h + (lr / 2);\r
+ if (cur_h < save_h)\r
+ cur_h = cur_h + leader_wd;\r
+ }\r
else\r
{\r
- lx = (2 * lr + lq + 1) / (2 * lq + 2);\r
- cur_h = cur_h + ((lr - (lq - 1)* lx) / 2);\r
+ lq = rule_wd / leader_wd;\r
+ lr = rule_wd % leader_wd;\r
+\r
+ if (subtype(p) == c_leaders)\r
+ cur_h = cur_h + (lr / 2);\r
+ else\r
+ {\r
+ lx = (2 * lr + lq + 1) / (2 * lq + 2);\r
+ cur_h = cur_h + ((lr - (lq - 1)* lx) / 2);\r
+ }\r
}\r
- }\r
\r
- while (cur_h + leader_wd <= edge)\r
- {\r
- cur_v = base_line + shift_amount(leader_box);\r
- pdf_synch_v();\r
- save_v = dvi_v;\r
- pdf_synch_h();\r
- save_h = dvi_h;\r
- temp_ptr = leader_box;\r
- outer_doing_leaders = doing_leaders;\r
- doing_leaders = true;\r
-\r
- if (type(leader_box) == vlist_node)\r
- pdf_vlist_out();\r
- else\r
- pdf_hlist_out();\r
+ while (cur_h + leader_wd <= edge)\r
+ {\r
+ cur_v = base_line + shift_amount(leader_box);\r
+ pdf_synch_v();\r
+ save_v = dvi_v;\r
+ pdf_synch_h();\r
+ save_h = dvi_h;\r
+ temp_ptr = leader_box;\r
+ outer_doing_leaders = doing_leaders;\r
+ doing_leaders = true;\r
+\r
+ if (type(leader_box) == vlist_node)\r
+ pdf_vlist_out();\r
+ else\r
+ pdf_hlist_out();\r
\r
- doing_leaders = outer_doing_leaders;\r
- dvi_v = save_v;\r
- dvi_h = save_h;\r
- cur_v = base_line;\r
- cur_h = save_h + leader_wd + lx;\r
- }\r
+ doing_leaders = outer_doing_leaders;\r
+ dvi_v = save_v;\r
+ dvi_h = save_h;\r
+ cur_v = base_line;\r
+ cur_h = save_h + leader_wd + lx;\r
+ }\r
\r
- cur_h = edge - 10;\r
- goto next_p;\r
+ cur_h = edge - 10;\r
+ goto next_p;\r
+ }\r
}\r
- }\r
\r
- goto move_past;\r
- }\r
+ goto move_past;\r
+ }\r
break;\r
\r
case kern_node:\r
break;\r
\r
case ligature_node:\r
- {\r
- mem[lig_trick] = mem[lig_char(p)];\r
- link(lig_trick) = link(p);\r
- p = lig_trick;\r
- goto reswitch;\r
- }\r
+ {\r
+ mem[lig_trick] = mem[lig_char(p)];\r
+ link(lig_trick) = link(p);\r
+ p = lig_trick;\r
+ goto reswitch;\r
+ }\r
break;\r
\r
default:\r
boolean format_spec = false;\r
boolean reorder_arg_flag = true; /* put command line flags/arguments first */\r
\r
-/* Mapping from Windows ANSI to DOS code page 850 96/Jan/20 */\r
-\r
-unsigned char wintodos[128] =\r
-{\r
- 0, 0, 0, 159, 0, 0, 0, 0,\r
- 94, 0, 0, 0, 0, 0, 0, 0,\r
- 0, 96, 39, 0, 0, 7, 0, 0,\r
- 126, 0, 0, 0, 0, 0, 0, 0,\r
- 32, 173, 189, 156, 207, 190, 221, 21,\r
- 0, 184, 166, 174, 170, 45, 169, 0,\r
- 248, 241, 253, 252, 0, 230, 20, 250,\r
- 0, 251, 167, 175, 172, 171, 243, 168,\r
- 183, 181, 182, 199, 142, 143, 146, 128,\r
- 212, 144, 210, 211, 222, 214, 215, 216,\r
- 209, 165, 227, 224, 226, 229, 153, 158,\r
- 157, 235, 233, 234, 154, 237, 232, 225,\r
- 133, 160, 131, 198, 132, 134, 145, 135,\r
- 138, 130, 136, 137, 141, 161, 140, 139,\r
- 208, 164, 149, 162, 147, 228, 148, 246,\r
- 155, 151, 163, 150, 129, 236, 231, 152\r
-};\r
-\r
void show_usage (void)\r
{\r
printf("\n"\r
restrict_to_ascii = false; /* don't complain non ASCII */\r
allow_patterns = false; /* don't allow pattern redefinition */\r
show_in_hex = true; /* show character code in hex */\r
- show_in_dos = false; /* redundant with previous */\r
show_numeric = false; /* don't show character code decimal */\r
show_missing = false; /* don't show missing characters */\r
civilize_flag = false; /* don't reorder date fields */\r
case 'w':\r
show_in_hex = true;\r
break;\r
- case 'j':\r
- show_in_dos = true;\r
- break;\r
case 'n':\r
restrict_to_ascii = true; /* 0 - 127 1994/Jan/21 */\r
break;\r
\r
int init_commands (int ac, char **av)\r
{\r
- shipout_flag = out_dvi_flag;\r
is_initex = false; \r
allow_patterns = false;\r
reset_exceptions = false;\r
verbose_flag = false;\r
restrict_to_ascii = false;\r
show_in_hex = false; /* default is not to show as hex code ^^ 00/Jun/18 */\r
- show_in_dos = false; /* default is not to translate to DOS 850 */ \r
return_flag = true; // hard wired now\r
trimeof = true; // hard wired now\r
deslash = true;\r
error_message_issued = 2,\r
fatal_error_stop = 3,\r
};\r
+/* sec 0079 */\r
+#define help0() tex_help(0)\r
+#define help1(...) tex_help(1, __VA_ARGS__)\r
+#define help2(...) tex_help(2, __VA_ARGS__)\r
+#define help3(...) tex_help(3, __VA_ARGS__)\r
+#define help4(...) tex_help(4, __VA_ARGS__)\r
+#define help5(...) tex_help(5, __VA_ARGS__)\r
+#define help6(...) tex_help(6, __VA_ARGS__)\r
/* sec 0096 */\r
#define check_interrupt() \\r
do \\r
+++ /dev/null
-Copyright 2007 TeX Users Group.\r
-Copyright 2014 Clerk Ma.\r
-You may freely use, modify and/or distribute this file.\r
-\r
- makefile 9945 1-09-95 8:20a current selected \r
- makefile.ms 9843 1-09-95 7:42a MS LINK\r
- makefile.dbg 10449 1-09-95 8:11a debugging version MS LINK WINICE\r
- makefile.tnt 9262 1-08-95 9:49a 386 | LINK\r
-\r
-Note: WINICE DBG2MAP only works on NT style PE files\r
-\r
-Note: WINICE MSYM needs loads of memory\r
-\r
-Note: MS LINK needs /DEBUG and /DEBUGSTYLE{CV|COFF|BOTH} for debugging info\r
-\r
-Note: Can't run as NT style because if INT 21h calls (_dos_find...)\r
- or maybe other reasons also... (pharlap.h, pldos32.h)\r
\r
nl = new_line_char;\r
new_line_char = -1;\r
- \r
- /* translate ansi to dos 850 */\r
+\r
if (!show_in_hex && s < 256 && s >= 32)\r
{\r
- if (show_in_dos && s > 127)\r
- {\r
- if (wintodos[s - 128] > 0)\r
- {\r
- print_char(wintodos[s - 128]);\r
- }\r
- else\r
- {\r
- j = str_start[s];\r
-\r
- while (j < str_start[s + 1])\r
- {\r
- print_char(str_pool[j]);\r
- incr(j);\r
- }\r
- }\r
- }\r
- else\r
- {\r
- print_char(s); /* don't translate to hex */\r
- }\r
+ print_char(s); /* don't translate to hex */\r
}\r
else\r
{ /* not just a character */\r
void special_out (pointer p)\r
{\r
char old_setting;\r
- pool_pointer k;\r
+ //pool_pointer k;\r
\r
pdf_synch_h();//synch_h();\r
pdf_synch_h();//synch_v();\r
selector = old_setting;\r
str_room(1);\r
graphics_mode();\r
- spc_exec_special(str_pool + str_start[str_ptr], cur_length, cur_h * 0.000015202, -cur_v * 0.000015202, 1.0);\r
+ spc_exec_special((const char *)str_pool + str_start[str_ptr], cur_length, cur_h * 0.000015202, -cur_v * 0.000015202, 1.0);\r
/*\r
if (cur_length < 256)\r
{\r
\r
#include "yandytex.h"\r
\r
-#define dump_ext_length 4\r
-#define edit_value tex_edit_value\r
+#define dump_ext_length 4\r
+#define edit_value tex_edit_value\r
\r
extern char * replacement[];\r
int gargc;\r
\r
#define block_size 1000 /* block_size for variable length node alloc */\r
\r
-#define min_quarterword 0\r
#ifdef INCREASEFONTS\r
+ #define min_quarterword 0\r
#define max_quarterword 65535L\r
#else\r
+ #define min_quarterword 0\r
#define max_quarterword 255\r
#endif\r
\r
#define max_trie_op 500\r
#endif\r
\r
-\r
#define dvi_buf_size 16384\r
\r
#define hash_extra (255 - font_max)\r
#ifdef INCREASEFONTS\r
typedef unsigned short quarterword;\r
#else\r
- typedef unsigned char quarterword;\r
+ typedef unsigned char quarterword;\r
#endif\r
\r
/* typedef unsigned long halfword; NO NO: since mem_min may be < 0 */\r
EXTERN dvi_index dvi_limit;\r
EXTERN dvi_index dvi_ptr;\r
EXTERN integer dvi_offset;\r
-EXTERN integer pdf_offset;\r
EXTERN integer dvi_gone;\r
EXTERN pointer down_ptr, right_ptr;\r
EXTERN scaled dvi_h, dvi_v;\r
EXTERN int new_hyphen_prime;\r
EXTERN int missing_characters;\r
EXTERN boolean show_in_hex;\r
-EXTERN boolean show_in_dos;\r
EXTERN boolean show_fmt_flag;\r
EXTERN boolean show_tfm_flag;\r
EXTERN boolean truncate_long_lines;\r
extern const char * banner;\r
extern const char * application;\r
extern const char * yandyversion;\r
-extern unsigned char wintodos[128];\r
extern char log_line[256];\r
extern char * dvi_directory;\r
extern char * log_directory;\r
extern str_number load_pool_strings (integer spare_size);\r
extern str_number make_string_pool (const char * s);\r
extern void print_plus (int i, const char * s);\r
-#define help0() tex_help(0)\r
-#define help1(...) tex_help(1, __VA_ARGS__)\r
-#define help2(...) tex_help(2, __VA_ARGS__)\r
-#define help3(...) tex_help(3, __VA_ARGS__)\r
-#define help4(...) tex_help(4, __VA_ARGS__)\r
-#define help5(...) tex_help(5, __VA_ARGS__)\r
-#define help6(...) tex_help(6, __VA_ARGS__)\r
-extern char * md5_file_name(const char * file_name);\r
extern void fget (void);\r
extern str_number get_job_name (str_number job);\r
extern void show_font_info (void);\r
-\r
-EXTERN int shipout_flag;\r
-#endif\r
+#endif
\ No newline at end of file