> (and I assume other *roffs) I thought heirloom troff claimed to implement it? Or am I misremembering?
> because *roffs are designed around the principle of > formatting one output line, delivering it to the output device, and then > forgetting about it utterly. > > To do K/P, the formatter has to keep an entire paragraph "in mind" at > once. A breaking decision can propagate backward through its lines, Of course, it would be best if we could adjust spacing across the entire paragraph to prevent runts, but what about just putting the last word of the paragraph on the last line by itself if it would be hyphenated (choosing a full runt over a half runt) -- perhaps this would require keeping _two_ lines in memory at once (one to format, and one to know if we're at the end of the paragraph?), which is still too much for roff... > I don't know how K/P handles a paragraph that exceeds the page height. I do recall seeing a video of someone implementing K/P for their typesetter, and this being one of the ugliest complications of the algorithm... Thank you for your detailed response! -- S.
