-- | -- -- Positions and distances are represented as 32-bit integers. Their unit must -- be defined by the caller, who must calculate the desired dimensions of the -- EM square of the input font and set them using -- `Data.Text.Glyphize.optionScale`. -- -- For example, if @1em = 20px@, if the output pixels are square, and if the -- output coordinates are in 1/64ths of a pixel, you should set the scale to -- @`Just` (1280, 1280)@. -- -- X coordinates increase from left to right. -- -- Y coordinates increase from bottom to top. module Data.Text.ParagraphLayout ( Fragment (Fragment, fragmentPen, fragmentRect, fragmentGlyphs) , LineHeight (Absolute, Normal) , PageContinuity (Break, Continue) , PageOptions ( PageOptions , pageCurrentHeight , pageNextHeight , pageOrphans , pageWidows ) , Paginable , Paragraph (Paragraph) , ParagraphLayout (ParagraphLayout, paragraphRect, spanLayouts) , ParagraphOptions ( paragraphFont , paragraphLineHeight , paragraphMaxWidth ) , Span (Span, spanLength, spanOptions) , SpanLayout (SpanLayout) , SpanOptions (spanLanguage) , defaultParagraphOptions , defaultSpanOptions , layoutPlain , paginate , paragraphSpanBounds , paragraphSpanTexts , paragraphText ) where import Data.Text.ParagraphLayout.Internal.Fragment import Data.Text.ParagraphLayout.Internal.LineHeight import Data.Text.ParagraphLayout.Internal.LinePagination import Data.Text.ParagraphLayout.Internal.Paginable import Data.Text.ParagraphLayout.Internal.ParagraphOptions import Data.Text.ParagraphLayout.Internal.Plain import Data.Text.ParagraphLayout.Internal.Plain.Paragraph import Data.Text.ParagraphLayout.Internal.Plain.ParagraphLayout import Data.Text.ParagraphLayout.Internal.Span