packages feed

balkon 0.1.0.0 → 0.2.0.0

raw patch · 46 files changed

+3663/−234 lines, 46 filesbinary-addedPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

+ .golden/arabicFiller20em/golden view
@@ -0,0 +1,192 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 19850, y_size = -6000}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 19850, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 283, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1075, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 564, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 535, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 714, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 916, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 334, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 773, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 702, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1248, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 454, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 319, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 535, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 714, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 924, cluster = 43, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 448, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 660, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 940, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 626, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 283, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 732, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 689, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 992, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 659, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 307, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1075, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 564, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 288, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 18895, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 90, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 517, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 839, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 381, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 314, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 937, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 316, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 544, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 919, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 316, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 644, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 288, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1087, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 949, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 935, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 323, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 454, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 319, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 808, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 451, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 19162, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 935, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 606, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 796, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 442, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 710, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 862, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 660, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 636, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 634, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1064, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 518, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 715, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 855, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1311, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 575, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 773, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1247, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 890, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 624, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 634, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 216, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1396, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 283, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 210, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 362, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 808, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 451, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 14595, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 90, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1204, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 935, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 659, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 912, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 646, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 494, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 702, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1660, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = 115, y_offset = 80}),+        (GlyphInfo {codepoint = 916, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 606, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 935, cluster = 293, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 334, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 916, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 937, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/czechHelloParagraph/golden view
@@ -0,0 +1,16 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 5274, y_size = -1121}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 5274, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 36, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 75, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 246, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 4, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 276, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/czechHelloParagraphNarrow/golden view
@@ -0,0 +1,19 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 1234, y_size = -5605}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1234, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 36, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 75, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 1089, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 82, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 948, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 86, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 502, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 961, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 246, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 835, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 4, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 276, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/czechHelloParagraphUltraNarrow/golden view
@@ -0,0 +1,25 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 663, y_size = -12331}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 663, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 36, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 571, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 75, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 590, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 82, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 253, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 246, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 15, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 446, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 86, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 502, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 89, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 502, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 559, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 246, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 402, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 87, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 559, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 276, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 4, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 276, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/devanagariAccentParagraph/golden view
@@ -0,0 +1,6 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 645, y_size = -1000}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 645, y_size = -1000}, fragmentPen = (0,-500), fragmentGlyphs =+        [(GlyphInfo {codepoint = 529, cluster = 0, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 645, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 424, cluster = 0, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/devanagariParagraph/golden view
@@ -0,0 +1,27 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 8640, y_size = -1630}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 8640, y_size = -1630}, fragmentPen = (0,-1171), fragmentGlyphs =+        [(GlyphInfo {codepoint = 382, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 555, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 715, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 289, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 397, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 532, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 382, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 555, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 715, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 289, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 397, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 532, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 618, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 583, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 43, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 366, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 655, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 813, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = -332, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 361, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 845, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = -635, y_offset = 0}),+        (GlyphInfo {codepoint = 361, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 845, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = -635, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 606, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 587, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 250, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 715, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 289, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 679, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 584, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 411, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = -465, y_offset = 0})]+    }]+]}
+ .golden/devanagariPrefixedAccentParagraph/golden view
@@ -0,0 +1,5 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 0, y_size = -1000}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 0, y_size = -1000}, fragmentPen = (0,-500), fragmentGlyphs =+        [(GlyphInfo {codepoint = 424, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/hardBreaksLTRParagraph/golden view
@@ -0,0 +1,57 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 4305, y_size = -10089}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1563, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 2, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 3357, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 1563, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 4305, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 861, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 1563, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 0, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        []+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 3675, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 47, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 1722, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/hardBreaksRTLParagraph/golden view
@@ -0,0 +1,58 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 5852, y_size = -13500}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 2808, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 642, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 5852, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 642, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 2808, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 642, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 4884, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 359, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 370, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 749, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -6000, x_size = 1211, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 687, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1211, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -7500, x_size = 2808, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 642, cluster = 79, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 642, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -9000, x_size = 0, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        []+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -10500, x_size = 4156, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 687, cluster = 90, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1211, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 370, cluster = 88, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 749, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 687, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1211, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 370, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 749, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -12000, x_size = 1960, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 687, cluster = 95, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1211, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 370, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 749, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/ligatureParagraph/golden view
@@ -0,0 +1,13 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 4672, y_size = -1121}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 4672, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 0, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 2, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 431, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1033, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/ligatureParagraphBreak1/golden view
@@ -0,0 +1,16 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 2162, y_size = -3363}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 2162, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 0, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 2, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 426, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 776, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 2104, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 402, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 87, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/ligatureParagraphBreak2/golden view
@@ -0,0 +1,16 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 1772, y_size = -3363}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 1772, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 0, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 1, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 2, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 73, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 1361, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 428, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 643, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 1535, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/lineHeightLarger/golden view
@@ -0,0 +1,5 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1600}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1600}, fragmentPen = (0,-1172), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/lineHeightNormal/golden view
@@ -0,0 +1,5 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1121}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/lineHeightSmaller/golden view
@@ -0,0 +1,5 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -599}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 522, y_size = -599}, fragmentPen = (0,-671), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/loremIpsum100em/golden view
@@ -0,0 +1,447 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 98954, y_size = -3363}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 95412, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 47, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 507, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 43, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 47, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 62, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 64, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 68, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 79, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 82, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 84, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 86, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 88, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 90, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 91, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 92, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 94, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 95, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 97, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 98, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 99, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 103, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 106, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 108, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 110, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 112, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 114, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 117, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 119, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 121, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 123, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 125, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 127, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 56, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 688, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 129, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 132, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 134, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 135, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 136, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 140, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 142, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 143, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 144, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 147, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 149, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 152, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 154, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 156, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 158, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 160, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 163, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 165, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 167, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 169, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 171, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 173, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 175, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 178, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 180, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 182, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 184, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 186, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 188, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 190, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 192, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 194, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 196, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 198, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 200, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 203, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 205, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 207, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 209, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 210, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 211, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 511, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 213, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 215, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 98954, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 70, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 218, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 220, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 223, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 225, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 226, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 227, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 231, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 233, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 234, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 235, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 39, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 713, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 238, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 240, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 243, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 245, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 247, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 249, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 251, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 254, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 256, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 257, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 258, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 260, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 262, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 75, cluster = 266, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 267, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 268, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 271, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 273, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 275, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 277, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 279, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 281, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 282, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 284, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 286, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 288, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 290, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 292, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 293, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 294, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 297, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 299, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 301, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 303, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 305, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 306, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 307, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 309, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 312, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 314, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 73, cluster = 316, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 320, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 322, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 325, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 327, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 329, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 332, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 334, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 336, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 331, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 338, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 40, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 580, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 340, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 342, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 345, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 347, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 349, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 351, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 353, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 354, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 355, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 357, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 358, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 359, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 360, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 361, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 362, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 363, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 364, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 365, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 366, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 367, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 368, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 369, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 370, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 371, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 372, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 373, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 374, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 375, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 376, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 377, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 378, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 379, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 380, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 381, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 382, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 383, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 384, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 385, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 386, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 387, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 388, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 389, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 390, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 391, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 392, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 393, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 394, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 395, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 396, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 397, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 398, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 399, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 400, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 401, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 402, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 403, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 404, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 405, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 431, cluster = 406, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1033, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 409, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 410, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 411, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 412, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 413, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 414, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 415, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 416, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 417, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 418, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 419, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 420, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 421, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 422, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 423, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 424, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 425, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 426, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 427, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 428, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 429, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 430, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 431, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 432, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 433, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 434, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 435, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 436, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 437, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 438, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 439, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 4041, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 79, cluster = 441, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 442, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 443, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 444, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 445, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 446, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 447, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 448, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/loremIpsum20em/golden view
@@ -0,0 +1,447 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 19791, y_size = -12331}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 18310, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 47, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 507, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 17443, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 47, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 62, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 64, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 68, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 79, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 19791, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 84, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 86, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 88, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 90, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 91, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 92, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 94, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 95, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 97, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 98, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 99, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 103, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 106, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 108, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 110, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 112, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 114, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 117, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 119, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 121, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 123, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 125, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 17562, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 56, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 688, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 129, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 132, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 134, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 135, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 136, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 140, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 142, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 143, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 144, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 147, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 149, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 152, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 154, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 156, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 158, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 160, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 163, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 18769, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 167, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 169, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 171, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 173, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 175, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 178, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 180, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 182, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 184, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 186, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 188, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 190, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 192, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 194, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 196, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 198, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 200, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 203, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 205, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 207, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 209, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 19226, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 211, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 511, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 213, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 215, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 216, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 218, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 220, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 223, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 225, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 226, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 227, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 231, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 233, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 234, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 235, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 39, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 713, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 238, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 240, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 243, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 245, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 247, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 249, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 17973, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 71, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 254, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 256, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 257, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 258, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 260, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 262, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 75, cluster = 266, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 267, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 268, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 271, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 273, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 275, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 277, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 279, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 281, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 282, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 284, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 286, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 288, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 290, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 292, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 18971, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 294, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 297, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 299, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 301, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 303, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 305, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 306, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 307, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 309, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 312, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 314, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 73, cluster = 316, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 320, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 322, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 325, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 327, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 329, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 332, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 334, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 336, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 331, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 17239, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 40, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 580, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 340, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 342, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 345, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 347, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 349, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 351, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 353, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 354, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 355, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 357, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 358, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 359, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 360, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 361, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 362, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 363, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 364, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 365, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 366, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 367, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 368, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 369, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 370, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 371, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 372, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 373, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 374, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 375, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 19199, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 83, cluster = 377, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 378, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 379, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 380, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 381, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 382, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 383, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 384, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 385, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 386, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 387, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 388, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 389, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 390, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 391, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 392, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 393, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 394, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 395, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 396, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 397, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 398, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 399, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 400, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 401, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 402, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 403, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 404, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 405, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 431, cluster = 406, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1033, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 409, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 410, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 411, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 412, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 413, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 414, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 415, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 416, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 417, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 418, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 419, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 420, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 12076, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 422, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 423, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 424, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 425, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 426, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 427, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 428, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 429, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 430, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 431, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 432, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 433, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 434, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 435, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 436, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 437, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 438, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 439, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 440, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 441, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 442, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 443, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 444, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 445, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 446, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 447, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 448, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/manySpacesParagraph/golden view
@@ -0,0 +1,31 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 3132, y_size = -4484}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 3132, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 3, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 3132, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 3132, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 3132, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/mixedLanguageLTRParagraph/golden view
@@ -0,0 +1,20 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 6113, y_size = -1121}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 4837, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 92, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 497, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 4837, y_origin = 0, x_size = 1276, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 0, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 500, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 0, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 500, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 4, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 276, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/mixedScriptWordsParagraph/golden view
@@ -0,0 +1,76 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 5447, y_size = -6726}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 777, y_origin = 0, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3112, y_origin = 0, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 777, y_origin = -1121, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3112, y_origin = -1121, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 2335, y_origin = -2242, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3112, y_origin = -2242, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 2335, y_origin = -3363, x_size = 777, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 262, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3112, y_origin = -3363, x_size = 2335, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 786, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 758, cluster = 62, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 253, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 253, y_origin = -4484, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 1016, y_origin = -4484, x_size = 737, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 68, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 77, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 1753, y_origin = -4484, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 2516, y_origin = -4484, x_size = 484, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3000, y_origin = -4484, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 3763, y_origin = -4484, x_size = 253, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 4016, y_origin = -4484, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 763, y_origin = -5605, x_size = 253, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 77, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 1016, y_origin = -5605, x_size = 763, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 758, cluster = 84, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 763, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/shapedRuns/spannedLoremIpsum20em/fontInfo view
@@ -0,0 +1,1 @@+assets/fonts/ubuntu/Ubuntu-R.ttf 0 15,15 15,15
+ .golden/shapedRuns/spannedLoremIpsum20em/golden view
@@ -0,0 +1,493 @@+[(0,-14,+    [(GlyphInfo {codepoint = 47, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(132,-14,+    [(GlyphInfo {codepoint = 86, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 15, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-31,+    [(GlyphInfo {codepoint = 68, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 47, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 74, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 15, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 62, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 64, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(129,-31,+    [(GlyphInfo {codepoint = 71, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 68, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 79, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-48,+    [(GlyphInfo {codepoint = 76, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 84, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 86, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 88, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 90, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 91, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 92, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 94, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 95, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 97, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 98, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 69, cluster = 99, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 103, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(138,-48,+    [(GlyphInfo {codepoint = 72, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 106, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 108, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 110, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 112, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 114, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 74, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 117, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(250,-48,+    [(GlyphInfo {codepoint = 3, cluster = 119, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 121, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 84, cluster = 123, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 125, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 17, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-65,+    [(GlyphInfo {codepoint = 56, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 10, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 129, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 132, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 134, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 135, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(56,-65,+    [(GlyphInfo {codepoint = 68, cluster = 136, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 140, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 142, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 143, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 144, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 89, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 147, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 149, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 15, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(176,-65,+    [(GlyphInfo {codepoint = 3, cluster = 152, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 84, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 154, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 156, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 158, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 160, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 163, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-82,+    [(GlyphInfo {codepoint = 72, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 91, cluster = 167, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 169, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 171, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 173, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 175, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 178, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(86,-82,+    [(GlyphInfo {codepoint = 88, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 180, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 182, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 184, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 186, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 188, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 69, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 190, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 192, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 194, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 196, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 198, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(217,-82,+    [(GlyphInfo {codepoint = 3, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 200, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 203, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 205, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 84, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 207, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 209, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-99,+    [(GlyphInfo {codepoint = 72, cluster = 211, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 91, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 213, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(19,-99,+    [(GlyphInfo {codepoint = 72, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 215, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 216, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 218, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 220, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 223, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 225, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 226, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 227, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 84, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 231, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 233, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 17, cluster = 234, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(186,-99,+    [(GlyphInfo {codepoint = 3, cluster = 235, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 39, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 11, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 238, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 240, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 243, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 245, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 247, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 249, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-116,+    [(GlyphInfo {codepoint = 71, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 254, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 256, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 257, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 258, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 260, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 262, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 75, cluster = 266, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 267, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 268, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 271, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 273, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(152,-116,+    [(GlyphInfo {codepoint = 3, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 275, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 277, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 89, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 279, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 281, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 282, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 284, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 286, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 89, cluster = 288, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 290, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 292, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-133,+    [(GlyphInfo {codepoint = 72, cluster = 294, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 297, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 299, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 301, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 303, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 305, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 306, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 307, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 309, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(122,-133,+    [(GlyphInfo {codepoint = 3, cluster = 312, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 314, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 73, cluster = 316, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 74, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 320, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 322, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 325, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 327, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(227,-133,+    [(GlyphInfo {codepoint = 83, cluster = 329, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 332, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 334, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 336, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 5, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 17, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-150,+    [(GlyphInfo {codepoint = 40, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 91, cluster = 340, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 342, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 345, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 347, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(70,-150,+    [(GlyphInfo {codepoint = 3, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 349, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 351, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 353, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 354, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 355, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 357, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 358, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 359, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 360, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 361, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 362, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 363, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 364, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 365, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 366, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 367, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 368, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 369, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 370, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 371, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 372, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(234,-150,+    [(GlyphInfo {codepoint = 81, cluster = 373, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 374, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 375, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-167,+    [(GlyphInfo {codepoint = 83, cluster = 377, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 378, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 379, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 380, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 381, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 382, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 383, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 384, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 15, cluster = 385, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 386, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 387, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 388, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 389, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 390, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(98,-167,+    [(GlyphInfo {codepoint = 3, cluster = 391, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 392, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 393, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 394, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 395, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 396, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 397, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 83, cluster = 398, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 399, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 400, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 84, cluster = 401, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 402, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 403, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 404, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(182,-167,+    [(GlyphInfo {codepoint = 82, cluster = 405, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 431, cluster = 406, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 15, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 70, cluster = 409, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 410, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 411, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 412, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 413, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 414, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 415, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 416, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 417, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 418, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 419, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 420, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(0,-184,+    [(GlyphInfo {codepoint = 80, cluster = 422, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 423, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 424, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 79, cluster = 425, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 426, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 427, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(40,-184,+    [(GlyphInfo {codepoint = 3, cluster = 428, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 429, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 81, cluster = 430, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 431, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 432, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 433, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 76, cluster = 434, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 71, cluster = 435, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 436, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 72, cluster = 437, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 86, cluster = 438, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 7, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 87, cluster = 439, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 3, cluster = 440, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 3, y_advance = 0, x_offset = 0, y_offset = 0})]+),+(120,-184,+    [(GlyphInfo {codepoint = 79, cluster = 441, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 68, cluster = 442, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 8, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 69, cluster = 443, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 82, cluster = 444, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 85, cluster = 445, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 6, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 88, cluster = 446, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 9, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 80, cluster = 447, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 13, y_advance = 0, x_offset = 0, y_offset = 0}),+    (GlyphInfo {codepoint = 17, cluster = 448, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 4, y_advance = 0, x_offset = 0, y_offset = 0})]+)]
+ .golden/spannedArabicFiller20em/golden view
@@ -0,0 +1,213 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 19850, y_size = -6000}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 12652, y_origin = 0, x_size = 7198, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 283, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 732, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 689, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 992, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 659, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 307, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1075, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 564, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 288, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 7060, y_origin = 0, x_size = 5592, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 702, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1248, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 454, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 319, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 535, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 714, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 924, cluster = 43, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 448, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 660, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 940, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 626, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 7060, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 283, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1075, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 564, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 770, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 535, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 714, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 916, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 334, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 773, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 14850, y_origin = -1500, x_size = 4045, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 293, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 454, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 319, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 808, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 451, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 9168, y_origin = -1500, x_size = 5682, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1087, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 949, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 935, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 407, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 323, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 3213, y_origin = -1500, x_size = 5955, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 293, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 937, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 316, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 544, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 919, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 316, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 359, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 644, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 288, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1500, x_size = 3213, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 90, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 517, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 839, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 381, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 314, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 14300, y_origin = -3000, x_size = 4862, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 216, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1396, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 283, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 388, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 210, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 362, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 827, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 840, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 808, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 451, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 10225, y_origin = -3000, x_size = 4075, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 1311, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 575, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 773, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 479, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1247, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 890, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 624, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 634, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 3898, y_origin = -3000, x_size = 6327, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 90, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 660, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 636, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 634, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1064, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 518, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 432, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 265, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 715, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 855, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3000, x_size = 3898, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 935, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 606, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 796, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 442, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 710, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 862, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1275, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 12238, y_origin = -4500, x_size = 2357, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 935, cluster = 293, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 334, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 916, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 336, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 937, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 468, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 5880, y_origin = -4500, x_size = 6358, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 502, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 657, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 93, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 912, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 646, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 494, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 702, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1660, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 0, y_advance = 0, x_offset = 115, y_offset = 80}),+        (GlyphInfo {codepoint = 916, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 524, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 606, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 663, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 321, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 310, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 394, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4500, x_size = 5880, y_size = -1500}, fragmentPen = (0,-1085), fragmentGlyphs =+        [(GlyphInfo {codepoint = 90, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 272, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 1204, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 726, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 765, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 478, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 477, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 269, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 935, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 476, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 409, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 286, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 659, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 531, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 389, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 955, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 455, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 236, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 293, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 270, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 920, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 483, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 297, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 224, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
+ .golden/spannedLoremIpsum20em/golden view
@@ -0,0 +1,489 @@+ParagraphLayout {paragraphRect = Rect {x_origin = 0, y_origin = 0, x_size = 19791, y_size = -12331}, spanLayouts = [+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = 0, x_size = 8747, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 47, cluster = 4, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 507, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 5, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 6, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 7, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 8, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 9, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 10, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 11, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 12, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 13, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 14, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 15, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 16, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 17, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 18, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 19, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 20, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 21, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 8747, y_origin = 0, x_size = 9563, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 86, cluster = 22, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 23, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 24, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 25, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 26, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 27, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 28, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 29, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 30, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 31, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 32, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 33, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 34, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 35, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 36, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 37, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 38, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 39, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 40, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 41, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 42, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -1121, x_size = 8553, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 44, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 45, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 46, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 47, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 48, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 49, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 50, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 51, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 52, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 53, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 54, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 55, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 56, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 57, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 58, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 59, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 60, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 61, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 62, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 63, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 64, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 8553, y_origin = -1121, x_size = 8890, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 71, cluster = 65, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 66, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 67, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 68, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 69, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 70, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 71, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 72, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 73, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 74, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 75, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 76, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 77, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 78, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 79, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 80, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 81, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -2242, x_size = 9114, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 76, cluster = 83, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 84, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 85, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 86, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 87, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 88, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 89, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 90, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 91, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 92, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 93, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 94, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 95, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 96, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 97, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 98, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 99, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 100, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 101, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 102, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 103, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 9114, y_origin = -2242, x_size = 7467, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 104, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 105, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 106, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 107, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 108, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 109, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 110, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 111, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 112, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 113, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 114, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 115, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 116, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 117, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 118, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 16581, y_origin = -2242, x_size = 3210, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 119, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 120, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 121, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 122, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 123, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 124, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 125, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 126, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -3363, x_size = 3799, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 56, cluster = 128, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 688, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 129, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 130, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 131, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 132, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 133, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 134, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 135, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 3799, y_origin = -3363, x_size = 7878, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 68, cluster = 136, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 137, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 138, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 139, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 140, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 141, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 142, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 143, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 144, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 145, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 146, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 147, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 148, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 149, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 150, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 151, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 11677, y_origin = -3363, x_size = 5885, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 152, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 153, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 154, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 155, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 156, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 157, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 158, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 159, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 160, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 161, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 162, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 163, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 164, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -4484, x_size = 5686, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 166, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 167, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 168, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 169, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 170, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 171, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 172, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 173, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 174, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 175, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 176, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 177, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 178, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 5686, y_origin = -4484, x_size = 8592, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 88, cluster = 179, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 180, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 181, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 182, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 183, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 184, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 185, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 186, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 187, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 188, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 189, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 190, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 191, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 192, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 193, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 194, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 195, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 196, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 197, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 198, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 14278, y_origin = -4484, x_size = 4491, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 199, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 200, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 201, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 202, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 203, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 204, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 205, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 206, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 207, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 208, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 209, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -5605, x_size = 1301, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 211, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 212, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 511, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 213, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 1301, y_origin = -5605, x_size = 11041, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 214, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 215, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 216, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 217, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 218, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 219, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 220, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 221, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 222, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 223, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 224, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 225, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 452, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 226, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 227, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 228, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 229, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 230, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 231, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 232, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 233, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 234, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 12342, y_origin = -5605, x_size = 6884, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 235, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 39, cluster = 236, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 713, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 237, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 238, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 239, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 240, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 241, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 242, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 243, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 244, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 245, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 246, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 247, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 248, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 249, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 250, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -6726, x_size = 10089, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 71, cluster = 252, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 253, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 254, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 255, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 256, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 257, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 258, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 259, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 260, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 261, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 262, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 263, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 264, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 265, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 75, cluster = 266, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 571, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 267, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 268, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 269, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 270, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 271, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 272, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 273, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 10089, y_origin = -6726, x_size = 7884, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 274, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 275, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 276, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 277, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 278, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 279, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 280, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 281, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 282, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 283, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 284, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 285, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 286, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 287, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 89, cluster = 288, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 488, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 289, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 290, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 291, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 292, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -7847, x_size = 8158, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 72, cluster = 294, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 295, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 296, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 297, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 298, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 299, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 300, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 301, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 302, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 303, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 304, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 305, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 306, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 307, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 308, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 309, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 310, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 311, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 8158, y_origin = -7847, x_size = 6988, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 312, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 313, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 314, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 315, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 73, cluster = 316, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 317, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 74, cluster = 318, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 578, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 319, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 320, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 321, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 322, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 323, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 324, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 325, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 326, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 327, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 328, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 15146, y_origin = -7847, x_size = 3825, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 83, cluster = 329, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 330, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 331, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 332, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 333, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 334, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 335, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 336, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 331, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 337, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -8968, x_size = 4594, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 40, cluster = 339, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 580, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 91, cluster = 340, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 490, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 341, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 342, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 343, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 344, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 392, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 345, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 346, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 347, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 4594, y_origin = -8968, x_size = 10907, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 348, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 349, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 350, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 351, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 352, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 353, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 354, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 355, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 356, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 357, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 358, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 359, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 360, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 361, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 362, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 363, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 364, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 365, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 366, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 367, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 368, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 369, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 370, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 371, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 372, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 15501, y_origin = -8968, x_size = 1738, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 81, cluster = 373, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 374, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 375, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -10089, x_size = 6426, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 83, cluster = 377, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 378, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 379, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 380, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 381, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 382, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 383, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 384, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 413, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 15, cluster = 385, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 386, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 387, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 388, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 389, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 390, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 6426, y_origin = -10089, x_size = 5590, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 391, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 392, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 393, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 394, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 395, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 396, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 397, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 83, cluster = 398, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 399, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 400, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 84, cluster = 401, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 402, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 403, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 404, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 12016, y_origin = -10089, x_size = 7183, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 82, cluster = 405, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 431, cluster = 406, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 1033, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 70, cluster = 409, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 465, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 410, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 411, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 412, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 413, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 414, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 415, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 416, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 417, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 418, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 419, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 420, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }, Fragment {fragmentRect = Rect {x_origin = 0, y_origin = -11210, x_size = 2652, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 80, cluster = 422, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 423, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 424, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 79, cluster = 425, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 426, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 427, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 2652, y_origin = -11210, x_size = 5383, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 3, cluster = 428, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 429, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 81, cluster = 430, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 431, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 432, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 433, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 76, cluster = 434, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 253, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 71, cluster = 435, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 436, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 72, cluster = 437, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 559, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 86, cluster = 438, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 446, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 87, cluster = 439, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 402, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 3, cluster = 440, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 231, y_advance = 0, x_offset = 0, y_offset = 0})]+    }],+    SpanLayout [Fragment {fragmentRect = Rect {x_origin = 8035, y_origin = -11210, x_size = 4041, y_size = -1121}, fragmentPen = (0,-932), fragmentGlyphs =+        [(GlyphInfo {codepoint = 79, cluster = 441, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 273, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 68, cluster = 442, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 522, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 69, cluster = 443, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 589, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 82, cluster = 444, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 590, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 85, cluster = 445, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 386, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 88, cluster = 446, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 574, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 80, cluster = 447, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 861, y_advance = 0, x_offset = 0, y_offset = 0}),+        (GlyphInfo {codepoint = 17, cluster = 448, unsafeToBreak = False, unsafeToConcat = False, safeToInsertTatweel = False},GlyphPos {x_advance = 246, y_advance = 0, x_offset = 0, y_offset = 0})]+    }]+]}
CHANGELOG.md view
@@ -1,6 +1,18 @@ # Revision history for Balkón -## 1.0.0.0 -- 2023-03-13+## 0.2.0.0 -- 2023-03-28++* Added support for forced (hard) line breaks in the input text.++* Now also trimming white space at the beginning of lines.++* Internally, language tags will be cut at the first invalid character before+  being passed to ICU.++* Tests will generate output in "shaped runs" format which can be passed to+  a text rendering application.++## 0.1.0.0 -- 2023-03-13  * Text shaping using HarfBuzz. 
+ README.md view
@@ -0,0 +1,12 @@+# Balkón++[Repository](https://git.argonaut-constellation.org/~jaro/balkon) |+[Issue tracker](https://todo.argonaut-constellation.org/~jaro/balkon)++Haskell library built on top of HarfBuzz to lay out text within a paragraph.++Just like flowers on a balcony, text must be arranged carefully within a+limited space and put into neat little boxes.++Intended to be the inline layout engine for+[The Argonaut Stack](https://argonaut-constellation.org/).
+ TESTING.md view
@@ -0,0 +1,92 @@+# Manual testing of Balkón++## Script 1: Verify generated files++Goals:++  - To verify that Balkón produces the same output in the testing environment+    as it did in development.++  - To verify that ignored files for Git are set correctly.++  - To verify that the files containing expected or "golden" output of tests+    are up to date.++  - To verify that tests are not being skipped.++Prerequisites:++  - Successfully built Balkón from a clone of its Git repository.++Steps:++  1. Clean the Git working tree so that `git status` reports no differences.++  2. Run automated Balkón tests using `cabal run`.++  3. Verify that all tests passed.++  4. Verify that `git status` reports no differences.++  5. Verify that a file named `actual` was generated by automated tests in+     the directory `.golden/shapedRuns/spannedLoremIpsum20em/`.++      - For example by running the command+        `ls -l .golden/shapedRuns/spannedLoremIpsum20em/actual`+        and checking the file's modification time.+++## Script 2: Verify visual output++Goals:++  - To identify possible visual problems in the output of Balkón,+    such as incorrectly positioned or scaled glyphs.++Prerequisites:++  - Access to files from the Git repository of Balkón.++  - Successfully built Typograffiti.++Steps:+++  1. Run Typograffiti with the font path, face index, pixel size,+     and scale set according to the contents of the file+     `.golden/shapedRuns/spannedLoremIpsum20em/fontInfo` from Balkón,+     and with input set to be read from the file+     `.golden/shapedRuns/spannedLoremIpsum20em/golden` from Balkón.++  2. Verify that text is displayed in the output window.++  3. If necessary, resize the window so that the whole paragraph can be seen.++  4. Verify all of the following:++      a. The displayed text is legible.++      b. The displayed glyphs appear at correct sizes.+         There should be a small amount of blank space around each+         visible glyph so that it does not overlap with its neighbours,+         but not so much that the text feels disconnected.++      c. The displayed text matches `loremIpsumParagraph` from the file+         `test/Data/Text/ParagraphLayout/ParagraphData.hs` from Balkón,+         character for character, except where a space was replaced+         by a line break.++      d. All displayed lines are aligned to the left edge of the output,+         without any indentation.++      e. All displayed lines are broken before words,+         not in the middle of words and not before punctuation marks.++      f. Lines do not appear to be broken too early.++      g. The horizontal space between each pair of adjacent words+         appears equal.++      h. The vertical space between the baselines of two adjacent lines+         appears equal.+
+ assets/fonts/sarala/OFL.txt view
@@ -0,0 +1,93 @@+Copyright 2015 by Andres Torresi. All rights reserved.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+ assets/fonts/sarala/Sarala-Regular.ttf view

binary file changed (absent → 179348 bytes)

balkon.cabal view
@@ -14,7 +14,7 @@ -- PVP summary:     +-+------- breaking API changes --                  | | +----- non-breaking API additions --                  | | | +--- code changes with no API change-version:            0.1.0.0+version:            0.2.0.0  stability:          experimental @@ -59,13 +59,42 @@  -- Extra doc files to be distributed with the package, such as a CHANGELOG -- or a README.-extra-doc-files:    CHANGELOG.md+extra-doc-files:+    CHANGELOG.md,+    README.md,+    TESTING.md  -- Extra source files to be distributed with the package, such as examples, -- or a tutorial module. extra-source-files:+    .golden/arabicFiller20em/golden,+    .golden/czechHelloParagraph/golden,+    .golden/czechHelloParagraphNarrow/golden,+    .golden/czechHelloParagraphUltraNarrow/golden,+    .golden/devanagariAccentParagraph/golden,+    .golden/devanagariParagraph/golden,+    .golden/devanagariPrefixedAccentParagraph/golden,+    .golden/hardBreaksLTRParagraph/golden,+    .golden/hardBreaksRTLParagraph/golden,+    .golden/ligatureParagraph/golden,+    .golden/ligatureParagraphBreak1/golden,+    .golden/ligatureParagraphBreak2/golden,+    .golden/lineHeightLarger/golden,+    .golden/lineHeightNormal/golden,+    .golden/lineHeightSmaller/golden,+    .golden/loremIpsum100em/golden,+    .golden/loremIpsum20em/golden,+    .golden/manySpacesParagraph/golden,+    .golden/mixedLanguageLTRParagraph/golden,+    .golden/mixedScriptWordsParagraph/golden,+    .golden/shapedRuns/spannedLoremIpsum20em/fontInfo,+    .golden/shapedRuns/spannedLoremIpsum20em/golden,+    .golden/spannedArabicFiller20em/golden,+    .golden/spannedLoremIpsum20em/golden,     assets/fonts/plex/IBMPlexSansArabic-Regular.ttf,     assets/fonts/plex/OFL.txt,+    assets/fonts/sarala/OFL.txt,+    assets/fonts/sarala/Sarala-Regular.ttf,     assets/fonts/ubuntu/LICENCE.txt,     assets/fonts/ubuntu/TRADEMARKS.txt,     assets/fonts/ubuntu/Ubuntu-R.ttf,@@ -98,6 +127,7 @@         Data.Text.ParagraphLayout.Internal.LineHeight,         Data.Text.ParagraphLayout.Internal.Paragraph,         Data.Text.ParagraphLayout.Internal.ParagraphConstruction,+        Data.Text.ParagraphLayout.Internal.ParagraphLayout,         Data.Text.ParagraphLayout.Internal.Plain,         Data.Text.ParagraphLayout.Internal.Rect,         Data.Text.ParagraphLayout.Internal.ResolvedSpan,
lib/Data/Text/ParagraphLayout.hs view
@@ -33,5 +33,6 @@ import Data.Text.ParagraphLayout.Internal.Fragment import Data.Text.ParagraphLayout.Internal.LineHeight import Data.Text.ParagraphLayout.Internal.Paragraph+import Data.Text.ParagraphLayout.Internal.ParagraphLayout import Data.Text.ParagraphLayout.Internal.Plain import Data.Text.ParagraphLayout.Internal.Span
src/Data/Text/ParagraphLayout/Internal/Break.hs view
@@ -5,12 +5,49 @@ -- items (also called UTF-8 code units or bytes) between the start of the input -- `Text` and the position of the break. The internal offset of the `Text` from -- the start of its underlying byte array is excluded.-module Data.Text.ParagraphLayout.Internal.Break (breaksDesc, subOffsetsDesc)+module Data.Text.ParagraphLayout.Internal.Break+    (LineBreak(..)+    ,locale+    ,breaksDesc+    ,subOffsetsDesc+    ) where  import Data.Text (Text) import Data.Text.Foreign (lengthWord8)-import Data.Text.ICU (Break, Breaker, breaksRight, brkPrefix, brkStatus)+import Data.Text.ICU+    (Break+    ,Breaker+    ,LocaleName(Locale)+    ,breaksRight+    ,brkPrefix+    ,brkStatus+    )++-- | Strictness levels of line-breaking rules,+-- corresponding to the CSS @line-break@ property.+data LineBreak = LBAuto | LBLoose | LBNormal | LBStrict++-- | Line breaking keyword to use in an ICU locale identifier.+lbKeyword :: LineBreak -> String+lbKeyword LBAuto = ""+lbKeyword LBLoose = "@lb=loose"+lbKeyword LBNormal = "@lb=normal"+lbKeyword LBStrict = "@lb=strict"++-- | An ICU locale identifier corresponding to the given IETF BCP 47 language+-- tag and line breaking strictness.+--+-- For line breaking, the differences are mostly in the strictness of breaking+-- Chinese and Japanese text.+locale :: String -> LineBreak -> LocaleName+locale lang lb = Locale $ (clean lang) ++ (lbKeyword lb)+    where+        -- ICU's "level 1 canonicalisation" can handle most BCP 47 tags,+        -- including case changes and converting hyphens to underscores.+        --+        -- This filter is here just to stop syntactically incorrect input.+        clean = takeWhile (`elem` ['A'..'Z'] ++ ['a'..'z'] ++ "_-")  -- | List of all breaks in the given text, with offsets in descending order, -- including the status of the break if applicable.
src/Data/Text/ParagraphLayout/Internal/Fragment.hs view
@@ -1,4 +1,7 @@-module Data.Text.ParagraphLayout.Internal.Fragment (Fragment(..))+module Data.Text.ParagraphLayout.Internal.Fragment+    (Fragment(..)+    ,ShapedRun+    ,shapedRun) where  import Data.Int (Int32)@@ -41,3 +44,17 @@      }     deriving (Eq, Read, Show)++-- | 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)])++-- | Convert a `Fragment` to a `ShapedRun`.+shapedRun :: Fragment -> ShapedRun+shapedRun f = (x, y, g)+    where+        x = x_origin r + px+        y = y_origin r + py+        g = fragmentGlyphs f+        (px, py) = fragmentPen f+        r = fragmentRect f
src/Data/Text/ParagraphLayout/Internal/Paragraph.hs view
@@ -1,22 +1,14 @@ module Data.Text.ParagraphLayout.Internal.Paragraph     (Paragraph(..)-    ,ParagraphLayout(..)     ,ParagraphOptions(..)-    ,paragraphLayout-    ,paragraphOriginX-    ,paragraphOriginY-    ,paragraphSpanBounds     ) where  import Data.Int (Int32)-import Data.List.NonEmpty (NonEmpty)-import qualified Data.List.NonEmpty as NonEmpty import Data.Text.Array (Array) import Data.Text.Glyphize (Font)  import Data.Text.ParagraphLayout.Internal.LineHeight-import Data.Text.ParagraphLayout.Internal.Rect import Data.Text.ParagraphLayout.Internal.Span  -- | Text to be laid out as a single paragraph.@@ -78,40 +70,3 @@      }     deriving (Eq, Show)---- | The resulting layout of the whole paragraph.-data ParagraphLayout = ParagraphLayout-    { paragraphRect :: Rect Int32-    -- ^ The containing block (CSS3).-    , spanLayouts :: [SpanLayout]-    }-    deriving (Eq, Read, Show)---- | Calculate the offsets into the `Paragraph`'s underlying `Array` where each--- span starts and ends, in ascending order. The resulting list will be one--- larger than the list of input spans.-paragraphSpanBounds :: Paragraph -> NonEmpty Int-paragraphSpanBounds (Paragraph _ initialOffset spans _) =-    NonEmpty.scanl (+) initialOffset (map spanLength spans)--paragraphOriginX :: (Num a) => a-paragraphOriginX = 0--paragraphOriginY :: (Num a) => a-paragraphOriginY = 0--empty :: (Num a) => Rect a-empty = Rect-    { x_origin = paragraphOriginX-    , y_origin = paragraphOriginY-    , x_size = 0-    , y_size = 0-    }--containRects :: (Ord a, Num a) => [Rect a] -> Rect a-containRects = foldr union empty---- | Wrap the given `SpanLayout`s and compute their containing rectangle.-paragraphLayout :: [SpanLayout] -> ParagraphLayout-paragraphLayout sls = ParagraphLayout pRect sls-    where pRect = containRects $ concat $ map spanRects sls
+ src/Data/Text/ParagraphLayout/Internal/ParagraphLayout.hs view
@@ -0,0 +1,64 @@+module Data.Text.ParagraphLayout.Internal.ParagraphLayout+    (ParagraphLayout(..)+    ,paragraphLayout+    ,paragraphOriginX+    ,paragraphOriginY+    ,paragraphSpanBounds+    ,shapedRuns+    )+where++import Data.Int (Int32)+import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NonEmpty++import Data.Text.ParagraphLayout.Internal.Fragment+import Data.Text.ParagraphLayout.Internal.Paragraph+import Data.Text.ParagraphLayout.Internal.Rect+import Data.Text.ParagraphLayout.Internal.Span++-- | The resulting layout of the whole paragraph.+data ParagraphLayout = ParagraphLayout+    { paragraphRect :: Rect Int32+    -- ^ The containing block (CSS3).+    , spanLayouts :: [SpanLayout]+    }+    deriving (Eq, Read, Show)++-- | Calculate the offsets into the `Paragraph`'s underlying `Data.Text.Array`+-- where each span starts and ends, in ascending order. The resulting list+-- will be one larger than the list of input spans.+paragraphSpanBounds :: Paragraph -> NonEmpty Int+paragraphSpanBounds (Paragraph _ initialOffset spans _) =+    NonEmpty.scanl (+) initialOffset (map spanLength spans)++paragraphOriginX :: (Num a) => a+paragraphOriginX = 0++paragraphOriginY :: (Num a) => a+paragraphOriginY = 0++empty :: (Num a) => Rect a+empty = Rect+    { x_origin = paragraphOriginX+    , y_origin = paragraphOriginY+    , x_size = 0+    , y_size = 0+    }++containRects :: (Ord a, Num a) => [Rect a] -> Rect a+containRects = foldr union empty++-- | Wrap the given `SpanLayout`s and compute their containing rectangle.+paragraphLayout :: [SpanLayout] -> ParagraphLayout+paragraphLayout sls = ParagraphLayout pRect sls+    where pRect = containRects $ concat $ map spanRects sls++-- | Return all fragments of shaped text in one flat list,+-- discarding information about their associated spans.+paragraphFragments :: ParagraphLayout -> [Fragment]+paragraphFragments pl = concat $ map spanFragments $ spanLayouts pl++-- | Return all shaped runs in the paragraph.+shapedRuns :: ParagraphLayout -> [ShapedRun]+shapedRuns pl = map shapedRun $ paragraphFragments pl
src/Data/Text/ParagraphLayout/Internal/Plain.hs view
@@ -24,8 +24,8 @@     ,fontExtentsForDir     ,shape     )-import Data.Text.ICU (Breaker, LocaleName(Locale), breakCharacter, breakLine)-import qualified Data.Text.ICU as BreakStatus (Line)+import Data.Text.ICU (Breaker, LocaleName, breakCharacter, breakLine)+import qualified Data.Text.ICU as BreakStatus (Line(Hard)) import Data.Text.Internal (Text(Text)) import qualified Data.Text.Lazy as Lazy @@ -33,6 +33,7 @@ import Data.Text.ParagraphLayout.Internal.Fragment import Data.Text.ParagraphLayout.Internal.LineHeight import Data.Text.ParagraphLayout.Internal.Paragraph+import Data.Text.ParagraphLayout.Internal.ParagraphLayout import qualified Data.Text.ParagraphLayout.Internal.ProtoFragment as PF import Data.Text.ParagraphLayout.Internal.Rect import Data.Text.ParagraphLayout.Internal.ResolvedSpan (WithSpan(WithSpan))@@ -118,9 +119,9 @@     (Int32, [WithSpan Fragment]) positionLineH originY pfs = (nextY, frags)     where-        -- A line with no glyphs will be considered to have zero height.+        -- A line with no fragments will be considered to have zero height.         -- This can happen when line breaking produces a line that contains-        -- onls spaces.+        -- only spaces.         nextY = if null rects then originY else maximum $ map y_min rects         rects = map (\(WithSpan _ r) -> fragmentRect r) frags         frags = snd $ mapAccumL (positionFragmentH originY) originX pfs@@ -158,12 +159,62 @@         validLayouts = dropWhile1 tooLong layouts         tooLong (pfs, _) = totalAdvances pfs > maxWidth         layouts = NonEmpty.map layoutFst splits-        layoutFst (runs1, runs2) = (layout runs1, runs2)-        layout runs1 = layoutRunsH $ trimTextsEnd isEndSpace runs1-        splits = noSplit :| (lSplits ++ cSplits)+        layoutFst (runs1, runs2) = (layoutRunsH runs1, runs2)+        -- TODO: Consider optimising.+        --       We do not need to look for soft breaks further than the+        --       shortest hard break.+        splits = hardSplit runs :| softSplits runs++-- | Treat a list of runs as a contiguous sequence, and split them into two+-- lists so that the first list contains as many non-whitespace characters as+-- possible without crossing a hard line break (typically after a newline+-- character).+--+-- If the input is non-empty and starts with a hard line break, then the first+-- output list will contain a run of zero characters. This can be used to+-- correctly size an empty line.+--+-- If there is no hard line break in the input, the first output list will+-- contain the whole input, and the second output list will be empty.+hardSplit :: [WithSpan Run] -> ([WithSpan Run], [WithSpan Run])+hardSplit runs = trimFst $ NonEmpty.last $ splits+    where+        trimFst (runs1, runs2) = (trim runs1, runs2)+        trim+            = trimTextsStartPreserve isStartSpace+            . trimTextsEndPreserve isEndSpace+            . trimTextsEndPreserve isNewline+        -- TODO: Consider optimising.+        --       We do not need to look for any line breaks further than the+        --       shortest hard break.+        splits = noSplit :| hSplits         noSplit = (runs, [])-        -- TODO: Use Soft/Hard line break distinction.+        hSplits = -- from longest to shortest+            splitTextsBy (map fst . filter isHard . runLineBreaks) runs+        isHard (_, status) = status == BreakStatus.Hard++-- | Treat a list of runs as a contiguous sequence,+-- and find all possible ways to split them into two non-empty lists,+-- using soft line break opportunities (typically after words) and then+-- using character boundaries.+--+-- Runs of zero characters will not be created. If line breaking would result+-- in a line that consists entirely of whitespace, this whitespace will be+-- skipped, so an empty line is not created.+--+-- The results in the form (prefix, suffix) will be ordered so that items+-- closer to the start of the list are preferred for line breaking, but without+-- considering overflows.+softSplits :: [WithSpan Run] -> [([WithSpan Run], [WithSpan Run])]+softSplits runs = map trimFst splits+    where+        trimFst (runs1, runs2) = (trim runs1, runs2)+        trim = trimTextsStart isStartSpace . trimTextsEnd isEndSpace+        splits = lSplits ++ cSplits         lSplits = splitTextsBy (map fst . runLineBreaks) runs+        -- TODO: Consider optimising.+        --       We do not need to look for character breaks further than the+        --       shortest line break.         cSplits = splitTextsBy (map fst . runCharacterBreaks) runs  -- | The suffix remaining after removing the longest prefix of the list for@@ -198,13 +249,23 @@ shapeRun (WithSpan rs run) = shape font buffer features     where         font = RS.spanFont rs-        -- TODO: Set beginsText / endsText.         buffer = defaultBuffer             { text = Lazy.fromStrict $ runText run             , contentType = Just ContentTypeUnicode             , direction = runDirection run             , script = runScript run             , language = Just $ RS.spanLanguage rs+            -- Perhaps counter-intuitively, the `beginsText` and `endsText`+            -- flags refer to everything that "Data.Text.Glyphize" can see,+            -- not just the current run.+            --+            -- Since all runs are cut from a single continuous `Text` that+            -- represents the entire paragraph, and "Data.Text.Glyphize" peeks+            -- at the whole underlying byte array, HarfBuzz will be able to see+            -- both the beginning and the end of the paragraph at all times,+            -- so these flags can always be set.+            , beginsText = True+            , endsText = True             }         features = [] @@ -238,7 +299,7 @@ paragraphBreaks :: (LocaleName -> Breaker a) -> Paragraph -> Int -> String ->     [(Int, a)] paragraphBreaks breakFunc (Paragraph arr off _ _) end lang =-    breaksDesc (breakFunc (localeFromLanguage lang)) paragraphText+    breaksDesc (breakFunc (locale lang LBAuto)) paragraphText     where         paragraphText = Text arr off (end - off) @@ -258,12 +319,17 @@         valid (off, _) = off < runLength         runLength = lengthWord8 $ getText run +-- | Predicate for characters that can be potentially removed from the+-- beginning of a line according to the CSS Text Module.+isStartSpace :: Char -> Bool+isStartSpace c = c `elem` [' ', '\t']+ -- | Predicate for characters that can be potentially removed from the end of -- a line according to the CSS Text Module. isEndSpace :: Char -> Bool isEndSpace c = c `elem` [' ', '\t', '\x1680'] --- TODO: Convert from IETF BCP 47 language tag to ICU locale identifier,---       possibly with an algorithm to find the best matching available locale.-localeFromLanguage :: String -> LocaleName-localeFromLanguage x = Locale $ map (\c -> if c == '-' then '_' else c) x+-- | Predicate for characters that should be removed from the end of a line in+-- the case of a hard line break.+isNewline :: Char -> Bool+isNewline c = c == '\n'
src/Data/Text/ParagraphLayout/Internal/ResolvedSpan.hs view
@@ -45,6 +45,7 @@ instance SeparableTextContainer a => SeparableTextContainer (WithSpan a) where     splitTextAt8 n (WithSpan rs c) = (WithSpan rs c1, WithSpan rs c2)         where (c1, c2) = splitTextAt8 n c+    dropWhileStart p (WithSpan rs c) = WithSpan rs (dropWhileStart p c)     dropWhileEnd p (WithSpan rs c) = WithSpan rs (dropWhileEnd p c)  splitBySpanIndex :: [WithSpan a] -> [[a]]
src/Data/Text/ParagraphLayout/Internal/Run.hs view
@@ -40,6 +40,14 @@             t1 = takeWord8 (fromIntegral n) t             t2 = dropWord8 (fromIntegral n) t             t = getText r+    dropWhileStart p r = r { runText = t', runOffsetInSpan = o' }+        where+            t = runText r+            t' = Text.dropWhile p t+            l = lengthWord8 t+            l' = lengthWord8 t'+            o = runOffsetInSpan r+            o' = o + l - l'     dropWhileEnd p r = r { runText = Text.dropWhileEnd p (runText r) }  type ProtoRun = (Zipper, Maybe Direction, ScriptCode)
src/Data/Text/ParagraphLayout/Internal/Span.hs view
@@ -2,6 +2,7 @@     (Span(..)     ,SpanLayout(..)     ,SpanOptions(..)+    ,spanFragments     ,spanRects     ) where@@ -31,8 +32,11 @@      { spanLanguage :: String     -- ^ IETF BCP 47 language tag, such as the value expected to be found in-    -- the HTML @lang@ attribute.-    -- Used for selecting the appropriate glyphs and line breaking rules.+    -- the HTML @lang@ attribute, specifying the primary language for the+    -- span's text content. An empty string explicitly means "language unknown".+    --+    -- Used for selecting the appropriate glyphs and line breaking rules,+    -- primarily in East Asian languages.      }     deriving (Eq, Read, Show)@@ -40,8 +44,12 @@ -- | The resulting layout of each span, which may include multiple fragments if -- broken over multiple lines. data SpanLayout = SpanLayout [Fragment]-    -- TODO: Consider merging. fragments created by script changes.+    -- TODO: Consider merging fragments created by script changes.     deriving (Eq, Read, Show) +-- | Return all fragments of shaped text from the given span.+spanFragments :: SpanLayout -> [Fragment]+spanFragments (SpanLayout frags) = frags+ spanRects :: SpanLayout -> [Rect Int32]-spanRects (SpanLayout frags) = map fragmentRect frags+spanRects sl = map fragmentRect $ spanFragments sl
src/Data/Text/ParagraphLayout/Internal/TextContainer.hs view
@@ -2,10 +2,14 @@     (SeparableTextContainer     ,TextContainer     ,dropWhileEnd+    ,dropWhileStart     ,getText     ,splitTextAt8     ,splitTextsBy     ,trimTextsEnd+    ,trimTextsEndPreserve+    ,trimTextsStart+    ,trimTextsStartPreserve     ) where @@ -32,8 +36,12 @@     -- constraints the instance requires.     splitTextAt8 :: Int -> a -> (a, a) -    -- | Return the prefix remaining after dropping characters that satisfy-    -- the given predicate from the end of the given `SeparableTextContainer`.+    -- | Return the suffix remaining after dropping characters that satisfy the+    -- given predicate from the beginning of the given `SeparableTextContainer`.+    dropWhileStart :: (Char -> Bool) -> a -> a++    -- | Return the prefix remaining after dropping characters that satisfy the+    -- given predicate from the end of the given `SeparableTextContainer`.     dropWhileEnd :: (Char -> Bool) -> a -> a  -- | As a trivial instance, each `Text` can be split directly.@@ -42,6 +50,7 @@         where             t1 = takeWord8 (fromIntegral n) t             t2 = dropWord8 (fromIntegral n) t+    dropWhileStart = Text.dropWhile     dropWhileEnd = Text.dropWhileEnd  -- | Treat a list of text containers as a contiguous sequence,@@ -76,10 +85,53 @@     | otherwise = tc:tcs  -- | Treat a list of text containers as a contiguous sequence,+-- and remove a prefix of characters that match the given predicate.+--+-- Empty text containers are removed from the output, so the result may+-- potentially be an empty list.+trimTextsStart :: SeparableTextContainer a => (Char -> Bool) -> [a] -> [a]+trimTextsStart p tcs = trimTextsStart' p tcs++-- | Treat a list of text containers as a contiguous sequence,+-- and remove a prefix of characters that match the given predicate.+--+-- Empty text containers are removed from the output except the first one,+-- which is instead truncated to zero length.+trimTextsStartPreserve ::+    SeparableTextContainer a => (Char -> Bool) -> [a] -> [a]+trimTextsStartPreserve _ [] = []+trimTextsStartPreserve p ins@(in1:_) = case trimTextsStart' p ins of+    [] -> [truncateText in1]+    out -> out++-- | Treat a list of text containers as a contiguous sequence, -- and remove a suffix of characters that match the given predicate.+--+-- Empty text containers are removed from the output, so the result may+-- potentially be an empty list. trimTextsEnd :: SeparableTextContainer a => (Char -> Bool) -> [a] -> [a] trimTextsEnd p tcs = trimTextsEnd' p (reverse tcs) +-- | Treat a list of text containers as a contiguous sequence,+-- and remove a suffix of characters that match the given predicate.+--+-- Empty text containers are removed from the output except the first one,+-- which is instead truncated to zero length.+trimTextsEndPreserve ::+    SeparableTextContainer a => (Char -> Bool) -> [a] -> [a]+trimTextsEndPreserve _ [] = []+trimTextsEndPreserve p ins@(in1:_) = case trimTextsEnd' p (reverse ins) of+    [] -> [truncateText in1]+    out -> out++trimTextsStart' :: SeparableTextContainer a => (Char -> Bool) -> [a] -> [a]+trimTextsStart' _ [] = []+trimTextsStart' p (tc:tcs)+    | Text.null (getText trimmed) = trimTextsStart' p tcs+    | otherwise = trimmed:tcs+    where+        trimmed = dropWhileStart p tc+ trimTextsEnd' :: SeparableTextContainer a => (Char -> Bool) -> [a] -> [a] trimTextsEnd' _ [] = [] trimTextsEnd' p (tc:tcs)@@ -87,3 +139,7 @@     | otherwise = reverse $ trimmed:tcs     where         trimmed = dropWhileEnd p tc++-- | Discard all text from the container by creating a prefix of length 0.+truncateText :: SeparableTextContainer a => a -> a+truncateText tc = fst $ splitTextAt8 0 tc
test/Data/Text/ParagraphLayout/FontLoader.hs view
@@ -1,43 +1,57 @@ module Data.Text.ParagraphLayout.FontLoader-    (loadPlexSansArabicRegular-    ,loadUbuntuRegular+    (arabicFont+    ,devanagariFont+    ,latinFont+    ,loadFont+    ,writeFontInfo     ) where  import Data.ByteString (readFile)+import Data.Int (Int32) import Data.Text.Glyphize     (Font-    ,FontOptions(optionPPEm, optionScale)+    ,FontOptions     ,createFace     ,createFontWithOptions-    ,defaultFontOptions+    ,faceIndex+    ,fontFace+    ,fontPPEm+    ,fontScale     )-import Prelude (IO, Int, Maybe(Just), String, Word, return, ($))-import System.FilePath ((</>))---- TODO: Figure out if this affects hinting!-testingPixelSize :: (Word, Word)-testingPixelSize = (24, 24)+import Data.Word (Word)+import Prelude (concat, fromIntegral, return, show, ($), (++))+import System.FilePath (FilePath, (</>))+import System.IO (IO, writeFile) --- This controls the output units.--- The default is "unscaled", which uses the value of `faceUpem` in both axes.-testingScale :: (Int, Int)-testingScale = (1000, 1000)+arabicFont :: FilePath+arabicFont = "assets" </> "fonts" </> "plex" </> "IBMPlexSansArabic-Regular.ttf" -loadPlexSansArabicRegular :: IO Font-loadPlexSansArabicRegular = loadFontFromFile $-    "assets" </> "fonts" </> "plex" </> "IBMPlexSansArabic-Regular.ttf"+devanagariFont :: FilePath+devanagariFont = "assets" </> "fonts" </> "sarala" </> "Sarala-Regular.ttf" -loadUbuntuRegular :: IO Font-loadUbuntuRegular = loadFontFromFile $-    "assets" </> "fonts" </> "ubuntu" </> "Ubuntu-R.ttf"+latinFont :: FilePath+latinFont = "assets" </> "fonts" </> "ubuntu" </> "Ubuntu-R.ttf" -loadFontFromFile :: String -> IO Font-loadFontFromFile path = do+loadFont :: FilePath -> Word -> FontOptions -> IO Font+loadFont path index opts = do     ttf <- readFile path-    let face = createFace ttf 0-    let font = createFontWithOptions (defaultFontOptions {-        optionPPEm = Just testingPixelSize,-        optionScale = Just testingScale-    }) face+    let face = createFace ttf index+    let font = createFontWithOptions opts face     return font++-- | Write a file containing information about the font and options used in a+-- test, to be passed to Typograffiti.+--+-- Note: The font path will not be escaped.+writeFontInfo :: FilePath -> FilePath -> Font -> IO ()+writeFontInfo outputPath fontPath font = writeFile outputPath info+    where+        info = concat [fontPath, " ", index, " ", pixelSize, " ", scale, "\n"]+        index = show $ faceIndex face+        pixelSize = let (x, y) = fontPPEm font in (show x) ++ "," ++ (show y)+        scale = let (x, y) = fontScale font in (show32 x) ++ "," ++ (show32 y)+        -- Workaround for:+        -- https://todo.argonaut-constellation.org/~alcinnz/harfbuzz-pure/3+        show32 x = show (fromIntegral x :: Int32)+        face = fontFace font
test/Data/Text/ParagraphLayout/Internal/BreakSpec.hs view
@@ -1,5 +1,6 @@ module Data.Text.ParagraphLayout.Internal.BreakSpec (spec) where +import Control.Monad (forM_) import Data.Text (empty, pack, singleton) import Data.Text.ICU     (LocaleName(Locale)@@ -36,6 +37,13 @@                     ,(0, BreakStatus.Soft)                     ] +            it "finds hard break after each of newlines" $+                b "en" (pack "hello\n\nworld") `shouldBe`+                    [(7, BreakStatus.Hard)+                    ,(6, BreakStatus.Hard)+                    ,(0, BreakStatus.Soft)+                    ]+             it "finds soft breaks after spaces and tabs" $                 b "en" (pack "a few\twords") `shouldBe`                     [(6, BreakStatus.Soft)@@ -43,6 +51,16 @@                     ,(0, BreakStatus.Soft)                     ] +            it "finds soft breaks after each run of whitespace" $+                b "en" (pack " a  few\t more \n words\n") `shouldBe`+                    [(16, BreakStatus.Soft)+                    ,(15, BreakStatus.Hard)+                    ,(9, BreakStatus.Soft)+                    ,(4, BreakStatus.Soft)+                    ,(1, BreakStatus.Soft)+                    ,(0, BreakStatus.Soft)+                    ]+             it "finds soft breaks after spaces and hyphens" $                 b "cs" (pack "následuje stanice Frýdek-Místek") `shouldBe`                     [(27, BreakStatus.Soft)@@ -63,6 +81,56 @@                     ,(3, BreakStatus.Soft)                     ,(0, BreakStatus.Soft)                     ]++            let jaText = pack "五ヶ月‡コード"+            let jaBreaksStrict =+                    [(18, BreakStatus.Soft)+                    ,(12, BreakStatus.Soft)+                    ,(9, BreakStatus.Soft)+                    ,(6, BreakStatus.Soft)+                    ,(0, BreakStatus.Soft)+                    ]+            let jaBreaksLoose =+                    [(18, BreakStatus.Soft)+                    ,(15, BreakStatus.Soft)+                    ,(12, BreakStatus.Soft)+                    ,(9, BreakStatus.Soft)+                    ,(6, BreakStatus.Soft)+                    ,(3, BreakStatus.Soft)+                    ,(0, BreakStatus.Soft)+                    ]++            -- Observed behaviour.+            -- Not sure why Chinese rules are stricter for Japanese text.+            -- This behaviour may change with future versions of ICU.+            let expectedStrictLocales =+                    [""+                    ,"en"+                    ,"ja@lb=strict"+                    ,"zh"+                    ,"zh_Hans"+                    ,"zh_Hant"+                    ,"zxx"+                    ,"zxx-any-invalid-suffix"+                    ]+            let expectedLooseLocales =+                    ["@lb=loose"+                    ,"en@lb=loose"+                    ,"ja"+                    ,"ja_JP"+                    ,"ja-JP"+                    ,"ja-any-invalid-suffix"+                    ,"zh@lb=loose"+                    ,"zxx-any-invalid-suffix@lb=loose"+                    ]++            expectedStrictLocales `forM_` \l ->+                it ("uses strict line breaks for " ++ l ++ " locale") $+                    b l jaText `shouldBe` jaBreaksStrict++            expectedLooseLocales `forM_` \l ->+                it ("uses loose line breaks for " ++ l ++ " locale") $+                    b l jaText `shouldBe` jaBreaksLoose          -- Probably not useful for a web browser rendering engine.         describe "breakSentence" $ do
test/Data/Text/ParagraphLayout/Internal/RunSpec.hs view
@@ -1,21 +1,20 @@ module Data.Text.ParagraphLayout.Internal.RunSpec (spec) where  import Data.Text (pack)-import Data.Text.Glyphize (Direction(..))+import Data.Text.Glyphize (Direction(..), emptyFont)  import Test.Hspec-import Data.Text.ParagraphLayout.FontLoader import Data.Text.ParagraphLayout.Internal.ResolvedSpan import Data.Text.ParagraphLayout.Internal.Run import Data.Text.ParagraphLayout.SpanData  spec :: Spec spec = do-    describe "spanToRuns" $ before loadUbuntuRegular $ do-        it "handles span with no text" $ \font -> do-            spanToRuns (emptySpan font) `shouldBe` []-        it "handles Czech hello" $ \font -> do-            let inputSpan = czechHello font+    describe "spanToRuns" $ do+        it "handles span with no text" $ do+            spanToRuns (emptySpan emptyFont) `shouldBe` []+        it "handles Czech hello" $ do+            let inputSpan = czechHello emptyFont             let runs = spanToRuns inputSpan             runs `shouldBe`                 [ Run@@ -25,8 +24,8 @@                     , runScript = Just "Latn"                     }                 ]-        it "handles Serbian with mixed script" $ \font -> do-            let inputSpan = serbianMixedScript font+        it "handles Serbian with mixed script" $ do+            let inputSpan = serbianMixedScript emptyFont             let runs = spanToRuns inputSpan             runs `shouldBe`                 [ Run
test/Data/Text/ParagraphLayout/Internal/TextContainerSpec.hs view
@@ -21,6 +21,12 @@             (t1, t2) = splitTextAt8 n t             o1 = o             o2 = o + lengthWord8 t1+    dropWhileStart p (Contain t o) = Contain t' o'+        where+            l = lengthWord8 t+            t' = dropWhileStart p t+            l' = lengthWord8 t+            o' = o + l - l'     dropWhileEnd p (Contain t o) = Contain (dropWhileEnd p t) o  exampleContainers :: [ExampleContainer]
test/Data/Text/ParagraphLayout/ParagraphData.hs view
@@ -1,10 +1,16 @@ module Data.Text.ParagraphLayout.ParagraphData     (arabicFillerParagraph     ,czechHelloParagraph+    ,devanagariAccentParagraph+    ,devanagariParagraph+    ,devanagariPrefixedAccentParagraph     ,emptyParagraph     ,emptySpanParagraph+    ,hardBreaksLTRParagraph+    ,hardBreaksRTLParagraph     ,ligatureParagraph     ,loremIpsumParagraph+    ,manySpacesParagraph     ,mixedLanguageLTRParagraph     ,mixedScriptSerbianParagraph     ,mixedScriptWordsParagraph@@ -49,6 +55,9 @@ ligatureParagraph :: ParagraphOptions -> Paragraph ligatureParagraph = "" |< en "inefficient" >| "" +manySpacesParagraph :: ParagraphOptions -> Paragraph+manySpacesParagraph = "  " |< zxx " aaaaaa aaaaaa  aaaaaa   aaaaaa    " >| "  "+ -- | Fillter text using the Arabic script. -- Source: <https://generator.lorem-ipsum.info/_arabic> arabicFillerParagraph :: ParagraphOptions -> Paragraph@@ -78,3 +87,28 @@  mixedLanguageLTRParagraph :: ParagraphOptions -> Paragraph mixedLanguageLTRParagraph = "Tak " |< cs "jsem tady, " >|< ja "世界!" >| "zzzzzz"++-- | Source: <https://faultlore.com/blah/text-hates-you/>+devanagariParagraph :: ParagraphOptions -> Paragraph+devanagariParagraph = "xxxxxxxx" |< zxx "पन्ह पन्ह त्र र्च कृकृ ड्ड न्हृे" >| "zzzzzzzz"++devanagariAccentParagraph :: ParagraphOptions -> Paragraph+devanagariAccentParagraph = "" |< zxx "\x954" >| ""++devanagariPrefixedAccentParagraph :: ParagraphOptions -> Paragraph+devanagariPrefixedAccentParagraph = "#" |< zxx "\x954" >| ""++-- | Test hard line breaks with Latin characters:+--+-- * after a short line (no soft line breaks needed),+-- * after a longer line (soft line breaks needed),+-- * after a long word (line break in the middle of a word needed),+-- * after spaces,+-- * after other line breaks.+hardBreaksLTRParagraph :: ParagraphOptions -> Paragraph+hardBreaksLTRParagraph = "x" |< zxx "jjjjjj\njjjjjj jjjjjj jjjjjj\nmmmmmm \njjjjjj\n\nmm mm mm" >| ""++-- | Test hard line breaks like `hardBreaksLTRParagraph`,+-- but with Arabic characters.+hardBreaksRTLParagraph :: ParagraphOptions -> Paragraph+hardBreaksRTLParagraph = "x" |< zxx "دددددد\nدددددد دددددد دددددد\nسسسسسسس \nدددددد\n\nسس سس سس" >| ""
test/Data/Text/ParagraphLayoutSpec.hs view
@@ -1,194 +1,368 @@ module Data.Text.ParagraphLayoutSpec (spec) where -import Data.List (intersperse)-import Data.Text.Glyphize (Font)+import Data.Text.Glyphize+    (Font+    ,FontOptions(optionPPEm, optionScale)+    ,defaultFontOptions+    )  import Test.Hspec import Test.Hspec.Golden import System.FilePath ((</>)) import Data.Text.ParagraphLayout import Data.Text.ParagraphLayout.FontLoader+import Data.Text.ParagraphLayout.Internal.Fragment+import Data.Text.ParagraphLayout.Internal.ParagraphLayout import Data.Text.ParagraphLayout.ParagraphData import Data.Text.ParagraphLayout.Rect +class PrettyShow a where+    prettyShow :: a -> String -prettyShow :: ParagraphLayout -> String-prettyShow (ParagraphLayout pr sls) = showParagraphLayout where-    showParagraphLayout = concat+newtype ShapedRuns = ShapedRuns { getShapedRuns :: [ShapedRun] }+    deriving (Eq)++instance PrettyShow ShapedRuns where+    prettyShow (ShapedRuns xs) = concat+        [ "["+        , concat $ indentedList indent0 $ map (prettyShow . ShapedRun') xs+        , "]"+        ]++newtype ShapedRun' = ShapedRun' ShapedRun++instance PrettyShow ShapedRun' where+    prettyShow (ShapedRun' (x, y, glyphs)) = concat+        [ "("+        , show x+        , ","+        , show y+        , ","+        , newline+        , indent1+        , "["+        , concat $ indentedList indent1 $ map show glyphs+        , "]"+        , newline+        , ")"+        ]++instance PrettyShow ParagraphLayout where+    prettyShow (ParagraphLayout pr sls) = concat         [ "ParagraphLayout {paragraphRect = "         , show pr-        , ", spanLayouts = ["+        , commaSpace+        , "spanLayouts = ["         , newline-        , showSpanLayouts+        , indent1+        , concat $ indentedList indent1 $ map prettyShow sls         , newline         , "]}"         , newline         ]-    showSpanLayouts = concat $ intersperse commaNewline $ map showSpanLayout sls-    showSpanLayout (SpanLayout frags) = concat-        [ indent1-        , "SpanLayout ["-        , concat $ intersperse ", " $ map showFrag frags++instance PrettyShow SpanLayout where+    prettyShow (SpanLayout frags) = concat+        [ "SpanLayout ["+        , concat $ inlineList $ map prettyShow frags         , "]"         ]-    showFrag (Fragment r pen glyphs) = concat++instance PrettyShow Fragment where+    prettyShow (Fragment r pen glyphs) = concat         [ "Fragment {fragmentRect = "         , show r-        , ", "+        , commaSpace         , "fragmentPen = "         , show pen-        , ", "+        , commaSpace         , "fragmentGlyphs ="         , newline         , indent2         , "["-        , showGlyphs glyphs+        , concat $ indentedList indent2 $ map show glyphs         , "]"         , newline         , indent1         , "}"         ]-    showGlyphs = concat . intersperse (commaNewline ++ indent2) . map show-    indent1 = "    "-    indent2 = indent1 ++ indent1-    newline = "\n"-    commaNewline = "," ++ newline -shouldBeGolden :: ParagraphLayout -> FilePath -> Golden ParagraphLayout-shouldBeGolden output_ name = Golden-    { output = output_-    , encodePretty = show-    , writeToFile = \path -> writeFile path . prettyShow-    , readFromFile = \path -> readFile path >>= return . read-    , goldenFile = ".golden" </> name </> "golden"-    , actualFile = Just (".golden" </> name </> "actual")-    , failFirstTime = False-    }+inlineList :: [String] -> [String]+inlineList items = suffixInit commaSpace items +indentedList :: String -> [String] -> [String]+indentedList indent items = prefixTail indent $ suffixInit commaNewline items++suffixInit :: String -> [String] -> [String]+suffixInit suffix = mapInit (++suffix)++mapInit :: (a -> a) -> [a] -> [a]+mapInit _ [] = []+mapInit _ [x] = [x]+mapInit f (x:y:ys) = f x : mapInit f (y:ys)++prefixTail :: String -> [String] -> [String]+prefixTail prefix = mapTail (prefix++)++mapTail :: (a -> a) -> [a] -> [a]+mapTail _ [] = []+mapTail f (x:xs) = x:(map f xs)++indent0 :: String+indent0 = ""++indent1 :: String+indent1 = "    "++indent2 :: String+indent2 = indent1 ++ indent1++newline :: String+newline = "\n"++commaSpace :: String+commaSpace = ", "++commaNewline :: String+commaNewline = "," ++ newline++class ShouldBeGolden a where+    shouldBeGolden :: a -> FilePath -> Golden a++instance ShouldBeGolden ParagraphLayout where+    shouldBeGolden output_ name = Golden+        { output = output_+        , encodePretty = show+        , writeToFile = \path -> writeFile path . prettyShow+        , readFromFile = \path -> readFile path >>= return . read+        , goldenFile = ".golden" </> name </> "golden"+        , actualFile = Just (".golden" </> name </> "actual")+        , failFirstTime = True+        }++instance ShouldBeGolden ShapedRuns where+    shouldBeGolden output_ name = Golden+        { output = output_+        , encodePretty = show . getShapedRuns+        , writeToFile = \path -> writeFile path . prettyShow+        , readFromFile = \path -> readFile path >>= return . ShapedRuns . read+        , goldenFile = ".golden" </> "shapedRuns" </> name </> "golden"+        , actualFile = Just (".golden" </> "shapedRuns" </> name </> "actual")+        , failFirstTime = True+        }++fontInfoPath :: String -> FilePath+fontInfoPath name = ".golden" </> "shapedRuns" </> name </> "fontInfo"++shapedRuns' :: ParagraphLayout -> ShapedRuns+shapedRuns' = ShapedRuns . shapedRuns+ emptyLayout :: ParagraphLayout emptyLayout = ParagraphLayout (Rect 0 0 0 0) []  emptySpanLayout :: ParagraphLayout emptySpanLayout = ParagraphLayout (Rect 0 0 0 0) [SpanLayout []] -opts :: Font -> ParagraphOptions-opts font = ParagraphOptions font Normal 8000+-- Test primarily with a high level of detail (1000 units per EM).+-- Hinting should behave as if the font size were 24px.+-- TODO: Test hinting.+testingOptions :: FontOptions+testingOptions = defaultFontOptions {+    optionPPEm = Just (24, 24),+    optionScale = Just (1000, 1000)+} +-- For the demo, use a 15px font size with exactly one scale unit per pixel.+demoOptions :: FontOptions+demoOptions = defaultFontOptions {+    optionPPEm = Just (15, 15),+    optionScale = Just (15, 15)+}++-- | Test shaped runs against an expected value, and write metadata about the+-- used font afterwards.+shapedRunsSpecWithFont ::+    FilePath -> Font -> String -> FilePath -> Paragraph -> SpecWith ()+shapedRunsSpecWithFont fontPath font subject name p = do+    let writeInfo = writeFontInfo (fontInfoPath name) fontPath font+    after_ writeInfo $ it subject $ do+        let result = layoutPlain p+        shapedRuns' result `shouldBeGolden` name+ spec :: Spec spec = do-    -- Note: This font does not contain Japanese glyphs.+     describe "layoutPlain" $ do-        describe "with Arabic font" $ before loadPlexSansArabicRegular $ do-            it "handles input with no spans" $ \font -> do-                let result = layoutPlain $ emptyParagraph $ opts font++        describe "with Arabic font" $ do+            font <- runIO $ loadFont arabicFont 0 testingOptions++            it "handles input with no spans" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ emptyParagraph opts                 result `shouldBe` emptyLayout-            it "wraps filler text at 20em" $ \font -> do-                let-                    result = layoutPlain $ arabicFillerParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "wraps filler text at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let result = layoutPlain $ arabicFillerParagraph opts                 result `shouldBeGolden` "arabicFiller20em"-            it "wraps filler text with spans at 20em" $ \font -> do-                let-                    result = layoutPlain $ spannedArabicFillerParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "wraps filler text with spans at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let result = layoutPlain $ spannedArabicFillerParagraph opts                 result `shouldBeGolden` "spannedArabicFiller20em"-            it "spans do not reposition filler text at 20em" $ \font -> do-                let-                    withoutSpans = layoutPlain $ arabicFillerParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }-                    withSpans = layoutPlain $ spannedArabicFillerParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "spans do not reposition filler text at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let withoutSpans = layoutPlain $ arabicFillerParagraph opts+                let withSpans = layoutPlain $ spannedArabicFillerParagraph opts                 paragraphRect withoutSpans `shouldBe` paragraphRect withSpans-        describe "with Latin font" $ before loadUbuntuRegular $ do-            it "handles input with no spans" $ \font -> do-                let result = layoutPlain $ emptyParagraph $ opts font++            it "applies hard breaks correctly" $ do+                let opts = ParagraphOptions font Normal 6000+                let result = layoutPlain $ hardBreaksRTLParagraph opts+                result `shouldBeGolden` "hardBreaksRTLParagraph"++        describe "with Devanagari font" $ do+            font <- runIO $ loadFont devanagariFont 0 testingOptions++            describe "lone accent character" $ do+                let+                    opts = ParagraphOptions font Normal 8000+                    result = layoutPlain $+                        devanagariAccentParagraph opts++                it "inserts a dotted circle" $ do+                    x_size (paragraphRect result) `shouldBe` 645++                it "is golden" $ do+                    result `shouldBeGolden` "devanagariAccentParagraph"++            describe "lone accent character after prefix" $ do+                let+                    opts = ParagraphOptions font Normal 8000+                    result = layoutPlain $+                        devanagariPrefixedAccentParagraph opts++                it "does not insert a dotted circle" $ do+                    x_size (paragraphRect result) `shouldBe` 0++                it "is golden" $ do+                    result `shouldBeGolden` "devanagariPrefixedAccentParagraph"++            it "handles input without wrapping" $ do+                let opts = ParagraphOptions font Normal 9000+                let result = layoutPlain $ devanagariParagraph opts+                result `shouldBeGolden` "devanagariParagraph"++        describe "with Latin font" $ do+            -- Note: This font does not contain Japanese glyphs.+            font <- runIO $ loadFont latinFont 0 testingOptions++            it "handles input with no spans" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ emptyParagraph opts                 result `shouldBe` emptyLayout-            it "handles one span with no text" $ \font -> do-                let result = layoutPlain $ emptySpanParagraph $ opts font++            it "handles one span with no text" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ emptySpanParagraph opts                 result `shouldBe` emptySpanLayout-            it "handles Czech hello" $ \font -> do-                let result = layoutPlain $ czechHelloParagraph $ opts font++            it "handles Czech hello" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ czechHelloParagraph opts                 result `shouldBeGolden` "czechHelloParagraph"-            it "renders an \"ffi\" ligature" $ \ font -> do-                let result = layoutPlain $ ligatureParagraph $ opts font++            it "renders an \"ffi\" ligature" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ ligatureParagraph opts                 result `shouldBeGolden` "ligatureParagraph"-            it "breaks an \"ffi\" ligature into \"ff\" + \"i\"" $ \ font -> do-                let result = layoutPlain $ ligatureParagraph $-                        (opts font)-                        { paragraphMaxWidth = 2418 }++            it "breaks an \"ffi\" ligature into \"ff\" + \"i\"" $ do+                let opts = ParagraphOptions font Normal 2418+                let result = layoutPlain $ ligatureParagraph opts                 result `shouldBeGolden` "ligatureParagraphBreak1"-            it "breaks an \"ffi\" ligature into \"f\" + \"fi\"" $ \ font -> do-                let result = layoutPlain $ ligatureParagraph $-                        (opts font)-                        { paragraphMaxWidth = 1800 }++            it "breaks an \"ffi\" ligature into \"f\" + \"fi\"" $ do+                let opts = ParagraphOptions font Normal 1800+                let result = layoutPlain $ ligatureParagraph opts                 result `shouldBeGolden` "ligatureParagraphBreak2"-            it "handles mixed languages in LTR layout" $ \font -> do-                let result = layoutPlain $ mixedLanguageLTRParagraph $ opts font++            it "handles mixed languages in LTR layout" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ mixedLanguageLTRParagraph opts                 result `shouldBeGolden` "mixedLanguageLTRParagraph"-            it "handles normal line height" $ \font -> do-                let-                    result = layoutPlain $ trivialParagraph $-                        (opts font)-                        { paragraphLineHeight = Normal }++            it "handles normal line height" $ do+                let opts = ParagraphOptions font Normal 8000+                let result = layoutPlain $ trivialParagraph opts                 result `shouldBeGolden` "lineHeightNormal"-            it "handles larger line height" $ \font -> do-                let-                    result = layoutPlain $ trivialParagraph $-                        (opts font)-                        { paragraphLineHeight = Absolute 1600 }++            it "handles larger line height" $ do+                let opts = ParagraphOptions font (Absolute 1600) 8000+                let result = layoutPlain $ trivialParagraph opts                 result `shouldBeGolden` "lineHeightLarger"-            it "handles smaller line height" $ \font -> do-                let-                    result = layoutPlain $ trivialParagraph $-                        (opts font)-                        { paragraphLineHeight = Absolute 599 }++            it "handles smaller line height" $ do+                let opts = ParagraphOptions font (Absolute 599) 8000+                let result = layoutPlain $ trivialParagraph opts                 result `shouldBeGolden` "lineHeightSmaller"-            it "wraps mid-word when line is narrow" $ \font -> do-                let-                    result = layoutPlain $ czechHelloParagraph $-                        (opts font)-                        { paragraphMaxWidth = 1300 }++            it "wraps mid-word when line is narrow" $ do+                let opts = ParagraphOptions font Normal 1300+                let result = layoutPlain $ czechHelloParagraph opts                 result `shouldBeGolden` "czechHelloParagraphNarrow"-            it "wraps by characters when line is ultra narrow" $ \font -> do-                let-                    result = layoutPlain $ czechHelloParagraph $-                        (opts font)-                        { paragraphMaxWidth = 100 }++            it "wraps by characters when line is ultra narrow" $ do+                let opts = ParagraphOptions font Normal 100+                let result = layoutPlain $ czechHelloParagraph opts                 result `shouldBeGolden` "czechHelloParagraphUltraNarrow"-            it "wraps lorem ipsum at 20em" $ \font -> do-                let-                    result = layoutPlain $ loremIpsumParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "wraps lorem ipsum at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let result = layoutPlain $ loremIpsumParagraph opts                 result `shouldBeGolden` "loremIpsum20em"-            it "wraps lorem ipsum at 100em" $ \font -> do-                let-                    result = layoutPlain $ loremIpsumParagraph $-                        (opts font)-                        { paragraphMaxWidth = 100000 }++            it "wraps lorem ipsum at 100em" $ do+                let opts = ParagraphOptions font Normal 100000+                let result = layoutPlain $ loremIpsumParagraph opts                 result `shouldBeGolden` "loremIpsum100em"-            it "wraps lorem ipsum with spans at 20em" $ \font -> do-                let-                    result = layoutPlain $ spannedLoremIpsumParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "wraps lorem ipsum with spans at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let result = layoutPlain $ spannedLoremIpsumParagraph opts                 result `shouldBeGolden` "spannedLoremIpsum20em"-            it "spans do not reposition lorem ipsum at 20em" $ \font -> do-                let-                    withoutSpans = layoutPlain $ loremIpsumParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }-                    withSpans = layoutPlain $ spannedLoremIpsumParagraph $-                        (opts font)-                        { paragraphMaxWidth = 20000 }++            it "spans do not reposition lorem ipsum at 20em" $ do+                let opts = ParagraphOptions font Normal 20000+                let withoutSpans = layoutPlain $ loremIpsumParagraph opts+                let withSpans = layoutPlain $ spannedLoremIpsumParagraph opts                 paragraphRect withoutSpans `shouldBe` paragraphRect withSpans-            it "wraps mixed-script words correctly" $ \font -> do-                let-                    result = layoutPlain $ mixedScriptWordsParagraph $-                        (opts font)-                        { paragraphMaxWidth = 6000 }++            it "wraps mixed-script words correctly" $ do+                let opts = ParagraphOptions font Normal 6000+                let result = layoutPlain $ mixedScriptWordsParagraph opts                 result `shouldBeGolden` "mixedScriptWordsParagraph"++            it "trims spaces around lines" $ do+                let opts = ParagraphOptions font Normal 6000+                let result = layoutPlain $ manySpacesParagraph opts+                result `shouldBeGolden` "manySpacesParagraph"++            it "applies hard breaks correctly" $ do+                let opts = ParagraphOptions font Normal 5000+                let result = layoutPlain $ hardBreaksLTRParagraph opts+                result `shouldBeGolden` "hardBreaksLTRParagraph"++    describe "shaped runs for demo" $ do++        describe "with Latin font" $ do+            let fontPath = latinFont+            font <- runIO $ loadFont fontPath 0 demoOptions+            let shapedRunsSpec = shapedRunsSpecWithFont fontPath font++            shapedRunsSpec "wraps lorem ipsum with spans at 20em"+                "spannedLoremIpsum20em" $+                spannedLoremIpsumParagraph $+                ParagraphOptions font Normal 300