summaryrefslogtreecommitdiff
path: root/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch')
-rw-r--r--libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
new file mode 100644
index 000000000..f925a1a93
--- /dev/null
+++ b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
@@ -0,0 +1,23 @@
+Index: source/texk/web2c/luatexdir/tex/mlist.w
+===================================================================
+--- source/texk/web2c/luatexdir/tex/mlist.w (revision 4448)
++++ source/texk/web2c/luatexdir/tex/mlist.w (revision 4449)
+@@ -1798,7 +1798,17 @@
+ theta = fraction_rule(cur_style);
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);
+- theta = height(y);
++ /* If |y| is a composite then set |theta| to the height of its top
++ character, else set it to the height of |y|. */
++ if (list_ptr(y) != null
++ && type(list_ptr(y)) == hlist_node
++ && list_ptr(list_ptr(y)) != null
++ && type(list_ptr(list_ptr(y))) == glyph_node) { /* and it should be */
++ theta = char_height(font(list_ptr(list_ptr(y))),
++ character(list_ptr(list_ptr(y))));
++ } else {
++ theta = height(y);
++ }
+ } else {
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);