M .golden/paginatedParagraphLayout/loremIpsum20em.golden => .golden/paginatedParagraphLayout/loremIpsum20em.golden +22 -0
@@ 5,6 5,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 18310, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 52,6 54,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17443, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 105,6 109,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 19791, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 157,6 163,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17562, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 202,6 210,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 18769, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 254,6 264,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 19226, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 302,6 314,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 17973, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 351,6 365,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 18971, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 410,6 426,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 17239, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 455,6 473,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 19199, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 505,6 525,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 12076, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paginatedParagraphLayout/spannedArabicFiller20em.golden => .golden/paginatedParagraphLayout/spannedArabicFiller20em.golden +28 -0
@@ 5,6 5,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12652, y_origin = 0, x_size = 7198, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 34,6 36,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 7060, y_origin = 0, x_size = 5592, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 56,6 60,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 7060, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 86,6 92,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 14850, y_origin = -1500, x_size = 4045, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 107,6 115,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 9168, y_origin = -1500, x_size = 5682, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 134,6 144,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3213, y_origin = -1500, x_size = 5955, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 161,6 173,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 3213, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 218,6 232,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 14300, y_origin = 0, x_size = 4862, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 242,6 258,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 10225, y_origin = 0, x_size = 4075, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 262,6 280,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3898, y_origin = 0, x_size = 6327, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 289,6 309,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 3898, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 305,6 327,8 @@
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12238, y_origin = -1500, x_size = 2357, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 322,6 346,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 5880, y_origin = -1500, x_size = 6358, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 350,6 376,8 @@
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 5880, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
M .golden/paginatedRichParagraphLayout/loremIpsum20em.golden => .golden/paginatedRichParagraphLayout/loremIpsum20em.golden +22 -0
@@ 4,6 4,8 @@
[ Fragment
{ fragmentUserData = "text"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 18310, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 51,6 53,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17443, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 103,6 107,8 @@
[ Fragment
{ fragmentUserData = "text"
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 19791, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 155,6 161,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17562, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 200,6 208,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 18769, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 252,6 262,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 19226, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 300,6 312,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 17973, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 349,6 363,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 18971, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 407,6 423,8 @@
[ Fragment
{ fragmentUserData = "text"
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 17239, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 452,6 470,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 19199, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 502,6 522,8 @@
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 12076, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/arabicFiller20em.golden => .golden/paragraphLayout/arabicFiller20em.golden +8 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 19850, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 61,6 63,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 18895, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 120,6 124,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 19162, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 174,6 180,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 14595, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
M .golden/paragraphLayout/czechHello.golden => .golden/paragraphLayout/czechHello.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 5274, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/czechHelloParagraphNarrow.golden => .golden/paragraphLayout/czechHelloParagraphNarrow.golden +10 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1234, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 15,6 17,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 1089, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 26,6 30,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 948, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 36,6 42,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 961, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 46,6 54,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 835, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/czechHelloParagraphUltraNarrow.golden => .golden/paragraphLayout/czechHelloParagraphUltraNarrow.golden +22 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 663, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 14,6 16,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 571, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 23,6 27,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 590, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 32,6 38,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 253, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 41,6 49,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 246, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 50,6 60,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 446, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 59,6 71,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 502, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 68,6 82,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 559, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 77,6 93,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 402, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 86,6 104,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 559, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 95,6 115,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 276, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/devanagari.golden => .golden/paragraphLayout/devanagari.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 8640, y_size = -1630}
, fragmentPen = (0, -1171)
, fragmentGlyphs =
M .golden/paragraphLayout/devanagariAccent.golden => .golden/paragraphLayout/devanagariAccent.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 645, y_size = -1000}
, fragmentPen = (0, -500)
, fragmentGlyphs =
M .golden/paragraphLayout/devanagariPrefixedAccent.golden => .golden/paragraphLayout/devanagariPrefixedAccent.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 0, y_size = -1000}
, fragmentPen = (0, -500)
, fragmentGlyphs =
M .golden/paragraphLayout/hardBreaksLTR.golden => .golden/paragraphLayout/hardBreaksLTR.golden +18 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1563, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 19,6 21,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 3357, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 40,6 44,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 1563, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 54,6 60,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 4305, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 67,6 75,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 861, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 76,6 86,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 1563, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 90,6 102,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 0, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 98,6 112,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 3675, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 111,6 127,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 1722, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/hardBreaksRTL.golden => .golden/paragraphLayout/hardBreaksRTL.golden +18 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 2808, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 19,6 21,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 5852, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 40,6 44,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 2808, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 54,6 60,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 4884, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 68,6 76,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6000, x_size = 1211, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 77,6 87,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7500, x_size = 2808, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 91,6 103,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -9000, x_size = 0, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 99,6 113,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -10500, x_size = 4156, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 112,6 128,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -12000, x_size = 1960, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
M .golden/paragraphLayout/ligature.golden => .golden/paragraphLayout/ligature.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 4672, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/ligatureParagraphBreak1.golden => .golden/paragraphLayout/ligatureParagraphBreak1.golden +6 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 2162, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 17,6 19,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 2104, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 30,6 34,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 402, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/ligatureParagraphBreak2.golden => .golden/paragraphLayout/ligatureParagraphBreak2.golden +6 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1772, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 17,6 19,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 1361, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 28,6 32,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 1535, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/lineHeightLarger.golden => .golden/paragraphLayout/lineHeightLarger.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1600}
, fragmentPen = (0, -1172)
, fragmentGlyphs =
M .golden/paragraphLayout/lineHeightNormal.golden => .golden/paragraphLayout/lineHeightNormal.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/lineHeightSmaller.golden => .golden/paragraphLayout/lineHeightSmaller.golden +2 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -599}
, fragmentPen = (0, -671)
, fragmentGlyphs =
M .golden/paragraphLayout/loremIpsum100em.golden => .golden/paragraphLayout/loremIpsum100em.golden +6 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 95412, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 225,6 227,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 98954, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 454,6 458,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 4041, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/loremIpsum20em.golden => .golden/paragraphLayout/loremIpsum20em.golden +22 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 18310, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 52,6 54,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17443, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 98,6 102,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 19791, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 150,6 156,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 17562, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 195,6 203,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 18769, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 247,6 257,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 19226, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 295,6 307,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 17973, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 344,6 358,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 18971, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 396,6 412,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 17239, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 441,6 459,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 19199, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 491,6 511,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 12076, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/manySpaces.golden => .golden/paragraphLayout/manySpaces.golden +8 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 3132, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 19,6 21,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 3132, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 33,6 37,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 3132, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 47,6 53,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 3132, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/mixedLanguageLTR.golden => .golden/paragraphLayout/mixedLanguageLTR.golden +4 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 4837, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 27,6 29,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 4837, y_origin = 0, x_size = 1276, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/mixedScriptWords.golden => .golden/paragraphLayout/mixedScriptWords.golden +46 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 16,6 18,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 777, y_origin = 0, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 27,6 31,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3112, y_origin = 0, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 38,6 44,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 49,6 57,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 777, y_origin = -1121, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 60,6 70,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3112, y_origin = -1121, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 71,6 83,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 82,6 96,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 2335, y_origin = -2242, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 93,6 109,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3112, y_origin = -2242, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 104,6 122,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 115,6 135,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 2335, y_origin = -3363, x_size = 777, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 126,6 148,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3112, y_origin = -3363, x_size = 2335, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 137,6 161,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 253, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 146,6 172,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 253, y_origin = -4484, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 155,6 183,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 1016, y_origin = -4484, x_size = 737, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 166,6 196,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 1753, y_origin = -4484, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 175,6 207,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 2516, y_origin = -4484, x_size = 484, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 185,6 219,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3000, y_origin = -4484, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 194,6 230,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3763, y_origin = -4484, x_size = 253, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 203,6 241,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 4016, y_origin = -4484, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 212,6 252,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 221,6 263,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 763, y_origin = -5605, x_size = 253, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 230,6 274,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 1016, y_origin = -5605, x_size = 763, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/paragraphLayout/spannedArabicFiller20em.golden => .golden/paragraphLayout/spannedArabicFiller20em.golden +28 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12652, y_origin = 0, x_size = 7198, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 34,6 36,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 7060, y_origin = 0, x_size = 5592, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 56,6 60,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 7060, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 86,6 92,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 14850, y_origin = -1500, x_size = 4045, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 107,6 115,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 9168, y_origin = -1500, x_size = 5682, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 134,6 144,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3213, y_origin = -1500, x_size = 5955, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 161,6 173,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 3213, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 178,6 192,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 14300, y_origin = -3000, x_size = 4862, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 202,6 218,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 10225, y_origin = -3000, x_size = 4075, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 222,6 240,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3898, y_origin = -3000, x_size = 6327, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 249,6 269,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 3898, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 265,6 287,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12238, y_origin = -4500, x_size = 2357, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 282,6 306,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 5880, y_origin = -4500, x_size = 6358, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
@@ 310,6 336,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 5880, y_size = -1500}
, fragmentPen = (0, -1085)
, fragmentGlyphs =
M .golden/paragraphLayout/spannedLoremIpsum20em.golden => .golden/paragraphLayout/spannedLoremIpsum20em.golden +60 -0
@@ 5,6 5,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 8747, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 34,6 36,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 8747, y_origin = 0, x_size = 9563, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 66,6 70,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 8553, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 98,6 104,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 8553, y_origin = -1121, x_size = 8890, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 126,6 134,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 9114, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 158,6 168,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 9114, y_origin = -2242, x_size = 7467, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 184,6 196,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 16581, y_origin = -2242, x_size = 3210, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 200,6 214,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 3799, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 219,6 235,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3799, y_origin = -3363, x_size = 7878, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 246,6 264,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 11677, y_origin = -3363, x_size = 5885, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 267,6 287,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 5686, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 291,6 313,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 5686, y_origin = -4484, x_size = 8592, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 322,6 346,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 14278, y_origin = -4484, x_size = 4491, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 341,6 367,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 1301, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 355,6 383,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 1301, y_origin = -5605, x_size = 11041, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 387,6 417,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12342, y_origin = -5605, x_size = 6884, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 414,6 446,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 10089, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 447,6 481,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 10089, y_origin = -6726, x_size = 7884, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 477,6 513,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 8158, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 506,6 544,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 8158, y_origin = -7847, x_size = 6988, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 534,6 574,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 15146, y_origin = -7847, x_size = 3825, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 551,6 593,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 4594, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 571,6 615,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 4594, y_origin = -8968, x_size = 10907, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 607,6 653,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 15501, y_origin = -8968, x_size = 1738, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 618,6 666,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 6426, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 643,6 693,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 6426, y_origin = -10089, x_size = 5590, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 668,6 720,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 12016, y_origin = -10089, x_size = 7183, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 690,6 744,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 2652, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 707,6 763,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 2652, y_origin = -11210, x_size = 5383, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 731,6 789,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = ()
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 8035, y_origin = -11210, x_size = 4041, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/richParagraphLayout/loremIpsum20em.golden => .golden/richParagraphLayout/loremIpsum20em.golden +22 -0
@@ 4,6 4,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = "text"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 18310, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 51,6 53,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 2
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17443, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 97,6 101,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 3
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 19791, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 149,6 155,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 4
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 17562, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 194,6 202,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 5
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 18769, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 246,6 256,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 6
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 19226, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 294,6 306,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 7
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 17973, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 343,6 357,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 8
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 18971, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 395,6 411,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 9
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 17239, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 440,6 458,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 10
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 19199, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 490,6 510,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text"
, fragmentLine = 11
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 12076, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/richParagraphLayout/mixedSizes.golden => .golden/richParagraphLayout/mixedSizes.golden +10 -0
@@ 4,6 4,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = "bigText1"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1651, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 16,6 18,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "smallText1"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 1651, y_origin = 0, x_size = 1956, y_size = -841}
, fragmentPen = (0, -699)
, fragmentGlyphs =
@@ 30,6 34,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "bigText2"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 3607, y_origin = 0, x_size = 1651, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 42,6 48,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "smallText2"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 5258, y_origin = 0, x_size = 1956, y_size = -841}
, fragmentPen = (0, -699)
, fragmentGlyphs =
@@ 56,6 64,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "bigText3"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 7214, y_origin = 0, x_size = 1420, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M .golden/richParagraphLayout/nestedBoxes.golden => .golden/richParagraphLayout/nestedBoxes.golden +6 -0
@@ 4,6 4,8 @@ ParagraphLayout
[ Fragment
{ fragmentUserData = "text1"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 8569, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 31,6 33,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text2"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 8569, y_origin = 0, x_size = 3350, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
@@ 46,6 50,8 @@ ParagraphLayout
, Fragment
{ fragmentUserData = "text3"
, fragmentLine = 1
+ , fragmentAncestorBoxes =
+ []
, fragmentRect = Rect {x_origin = 11919, y_origin = 0, x_size = 2657, y_size = -1121}
, fragmentPen = (0, -932)
, fragmentGlyphs =
M CHANGELOG.md => CHANGELOG.md +4 -0
@@ 23,6 23,10 @@
* Added line numbers to laid out fragments.
+* Added information about ancestor boxes of laid out fragments.
+ The plain text interface implicitly generates one box per span, while
+ the rich text interface gives the user direct control over the box hierarchy.
+
## 0.3.0.1 -- TBD
* Increased font size for the "shaped runs" output so that it better fits
M balkon.cabal => balkon.cabal +1 -0
@@ 104,6 104,7 @@ library balkon-internal
-- Modules exported to tests and to the public part of the library.
exposed-modules:
+ Data.Text.ParagraphLayout.Internal.AncestorBox,
Data.Text.ParagraphLayout.Internal.ApplyBoxes,
Data.Text.ParagraphLayout.Internal.BiDiReorder,
Data.Text.ParagraphLayout.Internal.BoxOptions,
M lib/Data/Text/ParagraphLayout/Plain.hs => lib/Data/Text/ParagraphLayout/Plain.hs +10 -0
@@ 35,13 35,23 @@ module Data.Text.ParagraphLayout.Plain
( Fragment
, fragmentUserData
, fragmentLine
+ , fragmentAncestorBoxes
, fragmentRect
, fragmentPen
, fragmentGlyphs
)
+ , AncestorBox
+ ( AncestorBox
+ , boxUserData
+ , boxLeftSpacing
+ , boxRightSpacing
+ , boxStartSpacing
+ , boxEndSpacing
+ )
)
where
+import Data.Text.ParagraphLayout.Internal.AncestorBox
import Data.Text.ParagraphLayout.Internal.Fragment
import Data.Text.ParagraphLayout.Internal.LineHeight
import Data.Text.ParagraphLayout.Internal.ParagraphOptions
M lib/Data/Text/ParagraphLayout/Rich.hs => lib/Data/Text/ParagraphLayout/Rich.hs +11 -0
@@ 45,13 45,24 @@ module Data.Text.ParagraphLayout.Rich
( Fragment
, fragmentUserData
, fragmentLine
+ , fragmentAncestorBoxes
, fragmentRect
, fragmentPen
, fragmentGlyphs
)
+ , fragmentSpacedRect
+ , AncestorBox
+ ( AncestorBox
+ , boxUserData
+ , boxLeftSpacing
+ , boxRightSpacing
+ , boxStartSpacing
+ , boxEndSpacing
+ )
)
where
+import Data.Text.ParagraphLayout.Internal.AncestorBox
import Data.Text.ParagraphLayout.Internal.BoxOptions
import Data.Text.ParagraphLayout.Internal.Fragment
import Data.Text.ParagraphLayout.Internal.LineHeight
A src/Data/Text/ParagraphLayout/Internal/AncestorBox.hs => src/Data/Text/ParagraphLayout/Internal/AncestorBox.hs +70 -0
@@ 0,0 1,70 @@
+module Data.Text.ParagraphLayout.Internal.AncestorBox
+ ( AncestorBox (..)
+ , totalLeftSpacing
+ , totalRightSpacing
+ )
+where
+
+import Data.Int (Int32)
+import Data.Maybe (catMaybes)
+
+-- | Describes the relationship of a fragment to an inline box that contains it.
+--
+-- A box can have many fragments, and a fragment contained by a box is also
+-- contained by all ancestors of that box.
+--
+-- The root inline box, which forms the basis of each paragraph, is implied
+-- and not described by this type of record.
+data AncestorBox d = AncestorBox
+
+ { boxUserData :: d
+ -- ^ User-defined data associated with the inline box.
+
+ , boxLeftSpacing :: Maybe Int32
+ -- ^ `Just` an amount of empty space to add to the left side
+ -- of the fragment on account of this inline box, or `Nothing`
+ -- if this is not the leftmost fragment of this inline box.
+ --
+ -- Equal to `boxStartSpacing` for LTR boxes.
+ --
+ -- Equal to `boxEndSpacing` for RTL boxes.
+
+ , boxRightSpacing :: Maybe Int32
+ -- ^ `Just` an amount of empty space to add to the right side
+ -- of the fragment on account of this inline box, or `Nothing`
+ -- if this is not the rightmost fragment of this inline box.
+ --
+ -- Equal to `boxStartSpacing` for RTL boxes.
+ --
+ -- Equal to `boxEndSpacing` for LTR boxes.
+
+ , boxStartSpacing :: Maybe Int32
+ -- ^ `Just` an amount of empty space to add to the start side
+ -- of the fragment on account of this inline box, or `Nothing`
+ -- if this is not the startmost fragment of this inline box.
+ --
+ -- Equal to `boxLeftSpacing` for LTR boxes.
+ --
+ -- Equal to `boxRightSpacing` for RTL boxes.
+
+ , boxEndSpacing :: Maybe Int32
+ -- ^ `Just` an amount of empty space to add to the end side
+ -- of the fragment on account of this inline box, or `Nothing`
+ -- if this is not the endmost fragment of this inline box.
+ --
+ -- Equal to `boxLeftSpacing` for RTL boxes.
+ --
+ -- Equal to `boxRightSpacing` for LTR boxes.
+
+ }
+ deriving (Eq, Read, Show)
+
+-- | Amount of empty space to add to the left side
+-- on account of all given boxes in sum.
+totalLeftSpacing :: [AncestorBox d] -> Int32
+totalLeftSpacing bs = sum $ catMaybes $ map boxLeftSpacing bs
+
+-- | Amount of empty space to add to the right side
+-- on account of all given boxes in sum.
+totalRightSpacing :: [AncestorBox d] -> Int32
+totalRightSpacing bs = sum $ catMaybes $ map boxRightSpacing bs
M src/Data/Text/ParagraphLayout/Internal/Fragment.hs => src/Data/Text/ParagraphLayout/Internal/Fragment.hs +28 -1
@@ 1,12 1,15 @@
module Data.Text.ParagraphLayout.Internal.Fragment
( Fragment (..)
, ShapedRun
- , shapedRun)
+ , fragmentSpacedRect
+ , shapedRun
+ )
where
import Data.Int (Int32)
import Data.Text.Glyphize (GlyphInfo, GlyphPos)
+import Data.Text.ParagraphLayout.Internal.AncestorBox
import Data.Text.ParagraphLayout.Internal.Rect
-- | A unit of text laid out in a rectangular area.
@@ 28,6 31,11 @@ data Fragment d = Fragment
-- Fragments with the same line number are on the same line and will not be
-- separated by page breaks.
+ , fragmentAncestorBoxes :: [AncestorBox d]
+ -- ^ Information about inline boxes which contain this fragment
+ -- (starting from the nearest ancestor and continuing upwards through the
+ -- tree, up to but excluding the root) and the spacing required by them.
+
, fragmentRect :: Rect Int32
-- ^ Physical position of the fragment within the paragraph, calculated
-- using all glyph advances in this fragment and the calculated line height.
@@ 43,6 51,8 @@ data Fragment d = Fragment
-- the area to draw on -- you need FreeType or a similar library for that.
--
-- The origin coordinates are relative to the paragraph.
+ --
+ -- This is the CSS equivalent of /content box/, before adding box spacing.
, fragmentPen :: (Int32, Int32)
-- ^ Coordinates of the initial pen position, from which the first glyph
@@ 56,6 66,23 @@ data Fragment d = Fragment
}
deriving (Eq, Read, Show)
+-- | Physical position of the fragment within the paragraph, with spacing
+-- added to the glyph advances. This is the space that the fragment takes up
+-- in the paragraph.
+fragmentSpacedRect :: Fragment d -> Rect Int32
+fragmentSpacedRect (Fragment { fragmentRect = r, fragmentAncestorBoxes = bs })
+ | x_size r >= 0 = r
+ { x_origin = x_origin r - leftSpacing
+ , x_size = x_size r + leftSpacing + rightSpacing
+ }
+ | otherwise = r
+ { x_origin = x_origin r + rightSpacing
+ , x_size = x_size r - leftSpacing - rightSpacing
+ }
+ where
+ leftSpacing = totalLeftSpacing bs
+ rightSpacing = totalRightSpacing bs
+
-- | A simplified representation of a box fragment, suitable for passing to a
-- text drawing library but lacking detailed size information.
type ShapedRun = (Int32, Int32, [(GlyphInfo, GlyphPos)])
M src/Data/Text/ParagraphLayout/Internal/Layout.hs => src/Data/Text/ParagraphLayout/Internal/Layout.hs +1 -1
@@ 104,7 104,7 @@ positionFragmentH line originY originX (WithSpan rs pf) =
(nextX, WithSpan rs frag)
where
nextX = originX + PF.advance pf
- frag = Fragment userData line rect (penX, penY) (PF.glyphs pf)
+ frag = Fragment userData line [] rect (penX, penY) (PF.glyphs pf)
userData = RS.spanUserData rs
rect = Rect originX originY (PF.advance pf) (-lineHeight)
penX = 0
M src/Data/Text/ParagraphLayout/Internal/Plain.hs => src/Data/Text/ParagraphLayout/Internal/Plain.hs +8 -2
@@ 4,6 4,7 @@ where
import Data.Text.Glyphize (Direction (DirLTR))
+import Data.Text.ParagraphLayout.Internal.AncestorBox
import Data.Text.ParagraphLayout.Internal.BoxOptions
import Data.Text.ParagraphLayout.Internal.Fragment
import Data.Text.ParagraphLayout.Internal.ParagraphOptions
@@ 71,5 72,10 @@ getSpanIndex :: Fragment (Int, d) -> Int
getSpanIndex Fragment { fragmentUserData = (i, _) } = i
stripSpanIndex :: Fragment (Int, d) -> Fragment d
-stripSpanIndex f = case fragmentUserData f of
- (_, d) -> f { fragmentUserData = d }
+stripSpanIndex f = f
+ { fragmentUserData = snd (fragmentUserData f)
+ , fragmentAncestorBoxes = map stripSpanIndexInBox (fragmentAncestorBoxes f)
+ }
+
+stripSpanIndexInBox :: AncestorBox (Int, d) -> AncestorBox d
+stripSpanIndexInBox ab = ab { boxUserData = snd (boxUserData ab) }
M src/Data/Text/ParagraphLayout/Internal/Rich/ParagraphLayout.hs => src/Data/Text/ParagraphLayout/Internal/Rich/ParagraphLayout.hs +1 -1
@@ 35,7 35,7 @@ instance Line (ParagraphLayout d) where
-- | Wrap the given `Fragment`s and compute their containing rectangle.
paragraphLayout :: [Fragment d] -> ParagraphLayout d
paragraphLayout frags = ParagraphLayout pRect frags
- where pRect = containRects $ map fragmentRect frags
+ where pRect = containRects $ map fragmentSpacedRect frags
-- | A `ParagraphLayout` with no fragments.
-- Useful as an identity element for `appendFragments`.
M test/Data/Text/ParagraphLayout/PrettyShow.hs => test/Data/Text/ParagraphLayout/PrettyShow.hs +6 -1
@@ 109,7 109,7 @@ instance Show d => PrettyShow (Plain.SpanLayout d) where
]
instance Show d => PrettyShow (Fragment d) where
- prettyShow (Fragment d l r pen glyphs) = concat
+ prettyShow (Fragment d l bs r pen glyphs) = concat
[ "Fragment"
, newline
, indent3
@@ 121,6 121,11 @@ instance Show d => PrettyShow (Fragment d) where
, show l
, newline
, indent3
+ , ", fragmentAncestorBoxes ="
+ , newline
+ , concat $ commaFirstList indent4 $ map show bs
+ , newline
+ , indent3
, ", fragmentRect = "
, show r
, newline