table-layout-0.6.0.0: Layout text as grid or table.

Safe HaskellSafe
LanguageHaskell2010

Text.Layout.Table.Justify

Contents

Description

Produce justified text, which is spread over multiple rows, and join it with other columns. For a simple cut, chunksOf from the split package is best suited.

Synopsis

Justification of text.

justify :: Int -> [String] -> [String] Source

Fits as many words on a line, depending on the given width. Every line, but the last one, gets equally filled with spaces between the words, as far as possible.

justifyText :: Int -> String -> [String] Source

Uses words to split the text into words and justifies it with justify.

>>> justifyText 10 "This text will not fit on one line."
["This  text","will   not","fit on one","line."]

Helpers

dimorphicSummands :: Int -> Int -> [Int] Source

Splits a given number into summands of 2 different values, where the first one is exactly one bigger than the second one. Splitting 40 spaces into 9 almost equal parts would result in:

>>> dimorphicSummands 40 9
[5,5,5,5,4,4,4,4,4]

dimorphicSummandsBy :: (Int -> a) -> Int -> Int -> [a] Source