From c88225171f1881b7aa6c5ebf948a4b2c00e0be2d Mon Sep 17 00:00:00 2001 From: Guillaume Ayoub Date: Mon, 18 Jan 2021 16:29:42 +0100 Subject: [PATCH] Allow line breaks before leaders, forbid them after --- weasyprint/layout/inlines.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/weasyprint/layout/inlines.py b/weasyprint/layout/inlines.py index 074ec949..834371af 100644 --- a/weasyprint/layout/inlines.py +++ b/weasyprint/layout/inlines.py @@ -863,6 +863,8 @@ def split_inline_box(context, box, position_x, max_x, skip_stack, if can_break is None: if None in (last_letter, first): can_break = False + elif first in (True, False): + can_break = first else: can_break = can_break_text( last_letter + first, child.style['lang']) @@ -1046,6 +1048,10 @@ def split_inline_box(context, box, position_x, max_x, skip_stack, if resume_at[0] < float_resume_at: resume_at = (float_resume_at, None) + if box.is_leader: + first_letter = True + last_letter = False + return ( new_box, resume_at, preserved_line_break, first_letter, last_letter, float_widths)