-- | -- -- 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) ,Paragraph(Paragraph) ,ParagraphLayout(ParagraphLayout, paragraphRect, spanLayouts) ,ParagraphOptions (ParagraphOptions ,paragraphFont ,paragraphLineHeight ,paragraphMaxWidth ) ,Span(Span, spanLength, spanOptions) ,SpanLayout(SpanLayout) ,SpanOptions(SpanOptions, spanLanguage) ,layoutPlain ) where import Data.Text.ParagraphLayout.Internal.Fragment import Data.Text.ParagraphLayout.Internal.LineHeight import Data.Text.ParagraphLayout.Internal.Paragraph import Data.Text.ParagraphLayout.Internal.Plain import Data.Text.ParagraphLayout.Internal.Span