From 869efd245a7912316142be9ea14926e2b193a692 Mon Sep 17 00:00:00 2001 From: Luigi Scarso <luigi.scarso@gmail.com> Date: Sun, 26 Feb 2017 17:21:10 +0000 Subject: [PATCH] informative subtypes in penalty nodes (HH). --- manual/luatex.pdf | Bin 1097429 -> 1097447 bytes source/texk/web2c/luatexdir/lang/texlang.w | 2 +- source/texk/web2c/luatexdir/tex/linebreak.w | 6 +++--- source/texk/web2c/luatexdir/tex/maincontrol.w | 4 ++-- source/texk/web2c/luatexdir/tex/mlist.w | 2 +- .../texk/web2c/luatexdir/tex/postlinebreak.w | 2 +- source/texk/web2c/luatexdir/tex/texmath.w | 12 ++++++------ source/texk/web2c/luatexdir/tex/texnodes.h | 14 +++++++++++++- source/texk/web2c/luatexdir/tex/texnodes.w | 6 ++++-- 9 files changed, 31 insertions(+), 17 deletions(-) diff --git a/manual/luatex.pdf b/manual/luatex.pdf index 19182e8764b5213147d626aa4348cfc74665493f..36e6433078df5e9e70bda49e4451222a1ba7198d 100644 GIT binary patch delta 14720 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 delta 14656 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 diff --git a/source/texk/web2c/luatexdir/lang/texlang.w b/source/texk/web2c/luatexdir/lang/texlang.w index f000cfb5a..bd519af63 100644 --- a/source/texk/web2c/luatexdir/lang/texlang.w +++ b/source/texk/web2c/luatexdir/lang/texlang.w @@ -857,7 +857,7 @@ void hnj_hyphenation(halfword head, halfword tail) assert(tail != null); save_tail1 = vlink(tail); - s = new_penalty(0); + s = new_penalty(0,word_penalty); couple_nodes(tail, s); while (r != null) { /* could be while(1), but let's be paranoid */ diff --git a/source/texk/web2c/luatexdir/tex/linebreak.w b/source/texk/web2c/luatexdir/tex/linebreak.w index ad0030971..48705ad8c 100644 --- a/source/texk/web2c/luatexdir/tex/linebreak.w +++ b/source/texk/web2c/luatexdir/tex/linebreak.w @@ -104,14 +104,14 @@ void line_break(boolean d, int line_break_context) new_hyphenation(temp_head, cur_list.tail_field); cur_list.tail_field = new_ligkern(temp_head, cur_list.tail_field); if (is_char_node(cur_list.tail_field)) { - tail_append(new_penalty(inf_penalty)); + tail_append(new_penalty(inf_penalty,line_penalty)); } else if (type(cur_list.tail_field) != glue_node) { - tail_append(new_penalty(inf_penalty)); + tail_append(new_penalty(inf_penalty,line_penalty)); } else { halfword t = alink(cur_list.tail_field); flush_node(cur_list.tail_field); cur_list.tail_field = t; - tail_append(new_penalty(inf_penalty)); + tail_append(new_penalty(inf_penalty,line_penalty)); } final_par_glue = new_param_glue(par_fill_skip_code); couple_nodes(cur_list.tail_field, final_par_glue); diff --git a/source/texk/web2c/luatexdir/tex/maincontrol.w b/source/texk/web2c/luatexdir/tex/maincontrol.w index 965334021..0baba872e 100644 --- a/source/texk/web2c/luatexdir/tex/maincontrol.w +++ b/source/texk/web2c/luatexdir/tex/maincontrol.w @@ -1035,7 +1035,7 @@ boolean its_all_over(void) tail_append(new_null_box()); width(tail) = hsize_par; tail_append(new_glue(fill_glue)); - tail_append(new_penalty(-010000000000)); + tail_append(new_penalty(-010000000000,final_penalty)); normal_page_filter(end); build_page(); /* append \.{\\hbox to \\hsize\{\}\\vfill\\penalty-'10000000000} */ } @@ -1599,7 +1599,7 @@ void handle_mark(void) void append_penalty(void) { scan_int(); - tail_append(new_penalty(cur_val)); + tail_append(new_penalty(cur_val,user_penalty)); if (mode == vmode) { checked_page_filter(penalty); build_page(); diff --git a/source/texk/web2c/luatexdir/tex/mlist.w b/source/texk/web2c/luatexdir/tex/mlist.w index 170dd51d3..7a002c284 100644 --- a/source/texk/web2c/luatexdir/tex/mlist.w +++ b/source/texk/web2c/luatexdir/tex/mlist.w @@ -4257,7 +4257,7 @@ void mlist_to_hlist(pointer mlist, boolean penalties, int cur_style) r_type = type(vlink(q)); r_subtype = subtype(vlink(q)); if (r_type != penalty_node && (r_type != simple_noad || r_subtype != rel_noad_type)) { - z = new_penalty(pen); + z = new_penalty(pen,noad_penalty); reset_attributes(z, node_attr(q)); couple_nodes(p,z); p = z; diff --git a/source/texk/web2c/luatexdir/tex/postlinebreak.w b/source/texk/web2c/luatexdir/tex/postlinebreak.w index fe11d76d0..dd85cf01b 100644 --- a/source/texk/web2c/luatexdir/tex/postlinebreak.w +++ b/source/texk/web2c/luatexdir/tex/postlinebreak.w @@ -505,7 +505,7 @@ void ext_post_line_break(int paragraph_dir, } } if (pen != 0) { - r = new_penalty(pen); + r = new_penalty(pen,linebreak_penalty); couple_nodes(cur_list.tail_field, r); cur_list.tail_field = r; } diff --git a/source/texk/web2c/luatexdir/tex/texmath.w b/source/texk/web2c/luatexdir/tex/texmath.w index 2f7fe9068..eeeb75bd7 100644 --- a/source/texk/web2c/luatexdir/tex/texmath.w +++ b/source/texk/web2c/luatexdir/tex/texmath.w @@ -2249,7 +2249,7 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) d = 0; } - tail_append(new_penalty(pre_display_penalty_par)); + tail_append(new_penalty(pre_display_penalty_par,after_display_penalty)); if ((d + line_s <= pre_display_size_par) || l) { /* not enough clearance */ g1 = above_display_skip_code; g2 = below_display_skip_code; @@ -2273,7 +2273,7 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) /* } else { */ /* } */ append_to_vlist(eqno_box,lua_key_index(equation_number)); - tail_append(new_penalty(inf_penalty)); + tail_append(new_penalty(inf_penalty,equation_number_penalty)); } else { inject_display_skip_before(g1); } @@ -2364,7 +2364,7 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) append_to_vlist(eq_box,lua_key_index(equation)); if ((eqno_box != null) && (eqno_w == 0) && !l) { - tail_append(new_penalty(inf_penalty)); + tail_append(new_penalty(inf_penalty,equation_number_penalty)); /* if (math_direction_par==dir_TLT) { */ shift_amount(eqno_box) = line_s + line_w - eqno_width ; /* } else { */ @@ -2384,7 +2384,7 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) alink(pre_adjust_tail) = alink(tail); tail = pre_t; } - tail_append(new_penalty(post_display_penalty_par)); + tail_append(new_penalty(post_display_penalty_par,after_display_penalty)); inject_display_skip_after(g2); resume_after_display(); } @@ -2536,12 +2536,12 @@ void finish_display_alignment(pointer p, pointer q, halfword saved_prevdepth) check_display_math_end(); } pop_nest(); - tail_append(new_penalty(pre_display_penalty_par)); + tail_append(new_penalty(pre_display_penalty_par,before_display_penalty)); inject_display_skip_before(above_display_skip_code); vlink(tail) = p; if (p != null) tail = q; - tail_append(new_penalty(post_display_penalty_par)); + tail_append(new_penalty(post_display_penalty_par,after_display_penalty)); inject_display_skip_after(below_display_skip_code); cur_list.prev_depth_field = saved_prevdepth; resume_after_display(); diff --git a/source/texk/web2c/luatexdir/tex/texnodes.h b/source/texk/web2c/luatexdir/tex/texnodes.h index dda092560..b838dd0a2 100644 --- a/source/texk/web2c/luatexdir/tex/texnodes.h +++ b/source/texk/web2c/luatexdir/tex/texnodes.h @@ -127,6 +127,18 @@ typedef enum { # define penalty_node_size 3 # define penalty(a) vlink((a)+2) +typedef enum { + user_penalty, + linebreak_penalty, /* includes widow, club, broken ect */ + line_penalty, + word_penalty, + final_penalty, + noad_penalty, + before_display_penalty, + after_display_penalty, + equation_number_penalty, +} penalty_subtypes ; + /* # define glue_node_size 4 # define glue_ptr(a) vinfo((a)+2) @@ -993,7 +1005,7 @@ extern halfword new_param_glue(int n); extern halfword new_glue(halfword q); extern halfword new_skip_param(int n); extern halfword new_kern(scaled w); -extern halfword new_penalty(int m); +extern halfword new_penalty(int m, int s); extern int lua_properties_enabled ; extern int lua_properties_level ; diff --git a/source/texk/web2c/luatexdir/tex/texnodes.w b/source/texk/web2c/luatexdir/tex/texnodes.w index 40efbd2ab..7967006ec 100644 --- a/source/texk/web2c/luatexdir/tex/texnodes.w +++ b/source/texk/web2c/luatexdir/tex/texnodes.w @@ -262,7 +262,8 @@ const char *node_subtypes_boundary[] = { "cancel", "user", "protrusion", "word", NULL }; const char *node_subtypes_penalty[] = { - "userpenalty", NULL + "userpenalty", "linebreakpenalty", "linepenalty", "wordpenalty", "finalpenalty", + "noadpenalty", "beforedisplaypenalty", "afterdisplaypenalty", "equationnumberpenalty", NULL }; const char *node_subtypes_kern[] = { "fontkern", "userkern", "accentkern", "italiccorrection", NULL @@ -3692,10 +3693,11 @@ break will be forced. be able to guess what comes next. @c -halfword new_penalty(int m) +halfword new_penalty(int m, int s) { halfword p = new_node(penalty_node, 0); /* the |subtype| is not used */ penalty(p) = m; + subtype(p) = s; return p; } -- GitLab