diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog index e595e168171fcfac84060a943916199a46bd0176..7d8a77948579196c1aa6a0c21f500d08fee12983 100644 --- a/source/texk/web2c/luatexdir/ChangeLog +++ b/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,8 @@ +2025-02-01 Luigi Scarso <luigi.scarso@gmail.com> + * Fixed missing displacement when leqno is used in rtl paragraph (thanks to udifoglle@gmail.com) + * LuaTeX 1.20.6 + + 2025-01-31 Luigi Scarso <luigi.scarso@gmail.com> * In read_tfm_info avoid scaling fonts to >= 2048pt, which can cause overflow (TeXLive rev. 73614) * \ignoreprimitiveerror as in pdftex diff --git a/source/texk/web2c/luatexdir/luatex.c b/source/texk/web2c/luatexdir/luatex.c index 1f5465784afba1610af27eb524b77b815a5c545e..02df6b5b2cc6ceb4a8a3464f75da4fab407ac05c 100644 --- a/source/texk/web2c/luatexdir/luatex.c +++ b/source/texk/web2c/luatexdir/luatex.c @@ -33,8 +33,8 @@ */ int luatex_version = 120; -int luatex_revision = '5'; -const char *luatex_version_string = "1.20.5"; +int luatex_revision = '6'; +const char *luatex_version_string = "1.20.6"; const char *engine_name = my_name; #include <kpathsea/c-ctype.h> diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index c7865db02f886c51899de0493acf085692c01360..aefe3b91b56e033903df1a48184d343c8e6ca0d8 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1,4 +1,4 @@ #ifndef luatex_svn_revision_h #define luatex_svn_revision_h -#define luatex_svn_revision 7647 +#define luatex_svn_revision 7648 #endif diff --git a/source/texk/web2c/luatexdir/tex/texmath.c b/source/texk/web2c/luatexdir/tex/texmath.c index 8b6138e7cbb1617cc6f7a7983361ff99f4a7bbd0..e1f100c60cd26b55706fd721aa3901403067e3a2 100644 --- a/source/texk/web2c/luatexdir/tex/texmath.c +++ b/source/texk/web2c/luatexdir/tex/texmath.c @@ -2564,23 +2564,20 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) if (swap_dir) { if (math_direction_par==dir_TLT) { /*tex TRT + TLT + \eqno: (swap_dir=true, math_direction_par=TLT, l=true) */ - s = new_kern(width(r) + eqno_w); - try_couple_nodes(eqno_box,r); - try_couple_nodes(r,eq_box); - try_couple_nodes(eq_box,s); } else { /*tex TLT + TRT + \eqno: (swap_dir=true, math_direction_par=TRT, l=true) */ - try_couple_nodes(eqno_box,r); - try_couple_nodes(r,eq_box); } + s = new_kern(width(r) + eqno_w); + try_couple_nodes(eqno_box,r); + try_couple_nodes(r,eq_box); + try_couple_nodes(eq_box,s); } else { if (math_direction_par==dir_TLT) { /*tex TLT + TLT + \leqno: (swap_dir=false, math_direction_par=TLT, l=true) */ - s = new_kern(width(r) + eqno_w); } else { /*tex TRT + TRT + \leqno: (swap_dir=false, math_direction_par=TRT, l=true) */ - s = new_kern(width(r)); } + s = new_kern(width(r) + eqno_w); try_couple_nodes(eqno_box,r); try_couple_nodes(r,eq_box); try_couple_nodes(eq_box,s); @@ -2590,11 +2587,16 @@ static void finish_displayed_math(boolean l, pointer eqno_box, pointer p) if (swap_dir) { if (math_direction_par==dir_TLT) { /*tex TRT + TLT + \leqno: (swap_dir=true, math_direction_par=TLT, l=false) */ + s = new_kern(d); + try_couple_nodes(s,eq_box); + try_couple_nodes(eq_box,r); + try_couple_nodes(r,eqno_box); + eq_box = s; } else { /*tex TLT + TRT + \leqno: (swap_dir=true, math_direction_par=TRT, l=false) */ + try_couple_nodes(eq_box,r); + try_couple_nodes(r,eqno_box); } - try_couple_nodes(eq_box,r); - try_couple_nodes(r,eqno_box); } else { if (math_direction_par==dir_TLT) { /*tex TLT + TLT + \eqno: (swap_dir=false, math_direction_par=TLT, l=false) */