From: ben Date: Fri, 24 Sep 2004 17:56:58 +0000 (+0000) Subject: Page-break penalties were calculated by taking the amount of spare space X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/commitdiff_plain/1ff614b1900f690416685827e1013c44b90727fb 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 --- 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;