+Real
+Page_spacing::account_for_footnotes (Line_details const &line)
+{
+ Real footnote_height = 0.0;
+ for (vsize i = 0; i < line.footnotes_.size (); i++)
+ {
+ footnote_height += (has_footnotes_
+ ? 0.0
+ : (breaker_->footnote_separator_stencil_height ()
+ + breaker_->footnote_padding ()));
+
+ has_footnotes_ = true;
+ Interval extent = line.footnotes_[i]->extent (Y_AXIS);
+ footnote_height += extent[UP] - extent[DOWN];
+ footnote_height += breaker_->footnote_padding ();
+ }
+
+ return (footnote_height
+ - (has_footnotes_
+ ? breaker_->footnote_padding () + breaker_->footnote_footer_padding ()
+ : 0.0));
+}
+