module Data.Text.ParagraphLayout.SpanData ( emptySpan , czechHello , arabicHello , serbianMixedScript , englishAroundArabic ) where import Data.Text (pack) import Data.Text.Glyphize (Direction (DirLTR, DirRTL), Font) import Data.Text.ParagraphLayout.Internal.BoxOptions import Data.Text.ParagraphLayout.Internal.LineHeight import Data.Text.ParagraphLayout.Internal.ResolvedBox import Data.Text.ParagraphLayout.Internal.ResolvedSpan import Data.Text.ParagraphLayout.Internal.TextOptions defaultBox :: Direction -> ResolvedBox () defaultBox dir = ResolvedBox () 0 defaultBoxOptions dir sampleSpan :: Direction -> String -> String -> Font -> ResolvedSpan () sampleSpan dir lang str font = ResolvedSpan { spanUserData = () , spanIndex = 0 , spanOffsetInParagraph = 0 , spanText = text , spanTextOptions = (defaultTextOptions dir) { textFont = font , textLineHeight = Normal , textLanguage = lang } , spanBoxes = [defaultBox dir] , spanLineBreaks = [] , spanCharacterBreaks = [] } where text = pack str emptySpan :: Font -> ResolvedSpan () emptySpan = sampleSpan DirLTR "en" "" czechHello :: Font -> ResolvedSpan () czechHello = sampleSpan DirLTR "cs" "Ahoj, světe!" arabicHello :: Font -> ResolvedSpan () arabicHello = sampleSpan DirRTL "ar" "سلام" serbianMixedScript :: Font -> ResolvedSpan () serbianMixedScript = sampleSpan DirLTR "sr" "Vikipedija (Википедија)" -- | Source: -- englishAroundArabic :: Font -> ResolvedSpan () englishAroundArabic = sampleSpan DirLTR "en" "The title is مفتاح معايير الويب in Arabic."