From 1ff614b1900f690416685827e1013c44b90727fb Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 24 Sep 2004 17:56:58 +0000 Subject: [PATCH] Page-break penalties were calculated by taking the amount of spare space on the page (in internal units) and squaring it. This was fine except that fixed penalties weren't scaled by the size of an internal unit, so the page- breaking changed when the units were changed. Rather than scaling all the fixed penalties, scale the space into 1/4096 point units before squaring it. git-svn-id: svn://svn.tartarus.org/sgt/halibut@4575 cda61777-01e9-0310-a592-d414129be87e --- bk_paper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bk_paper.c b/bk_paper.c index cab3a11..c37d646 100644 --- a/bk_paper.c +++ b/bk_paper.c @@ -1604,7 +1604,8 @@ static page_data *page_breaks(line_data *first, line_data *last, */ if (m != last && m->next && !m->next->page_break) { - int x = this_height - minheight; + int x = (this_height - minheight) / FUNITS_PER_PT * + 4096.0; int xf; xf = x & 0xFF; -- 2.11.0