LibGfx+LibWeb: Draw glyph runs with subpixel accuracy

This improves the quality of our font rendering, especially when
animations are involved. Relevant changes:

  * Skia fonts have their subpixel flag set, which means that individual
    glyphs are rendered at subpixel offsets causing glyph runs as a
    whole to look better.

  * Fragment offsets are no longer rounded to whole device pixels, and
    instead the floating point offset is kept. This allows us to pass
    through the floating point baseline position all the way to the Skia
    calls, which already expected that to be a float position.

The `scrollable-contains-table.html` ref test needed different table
headings since they would slightly inflate the column size in the test
file, but not the reference.
This commit is contained in:
Jelle Raaijmakers 2024-12-09 10:24:26 +01:00 committed by Jelle Raaijmakers
commit 4d9f17eddf
Notes: github-actions[bot] 2024-12-21 22:10:48 +00:00
83 changed files with 524 additions and 525 deletions

View file

@ -11,7 +11,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <caption> at (8,10) content-size 82.734375x17 [BFC] children: inline
frag 0 from TextNode start: 1, length: 9, rect: [16,10 82.734375x17] baseline: 13.296875
frag 0 from TextNode start: 1, length: 9, rect: [16.21875,10 82.734375x17] baseline: 13.296875
"A Caption"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -75,7 +75,7 @@ ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer(anonymous)) [8,10 784x0]
PaintableWithLines (TableWrapper(anonymous)) [8,10 99.171875x82]
PaintableBox (Box<TABLE>#full-table) [8,27 99.171875x65]
PaintableWithLines (BlockContainer<CAPTION>) [8,10 82.734375x17] overflow: [8,10 90.734375x17]
PaintableWithLines (BlockContainer<CAPTION>) [8,10 82.734375x17] overflow: [8,10 90.953125x17]
TextPaintable (TextNode<#text>)
PaintableBox (Box<THEAD>) [10,29 95.171875x19]
PaintableBox (Box<TR>) [10,29 95.171875x19]

View file

@ -26,13 +26,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (86.265625,20) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [88.265625,20 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [87.859375,20 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (140.8125,20) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [141.8125,20 6.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [142.1875,20 6.34375x17] baseline: 13.296875
"1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -43,19 +43,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (30,59) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [32,59 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [31.96875,59 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (86.265625,59) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [87.265625,59 11.140625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [86.96875,59 11.140625x17] baseline: 13.296875
"D"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (140.8125,59) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [140.8125,59 8.8125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [140.953125,59 8.8125x17] baseline: 13.296875
"2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -66,7 +66,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (30,98) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [31,98 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [31.203125,98 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -89,19 +89,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (30,137) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [31,137 13.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [30.515625,137 13.234375x17] baseline: 13.296875
"G"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (86.265625,137) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [86.265625,137 12.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [86.421875,137 12.234375x17] baseline: 13.296875
"H"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (140.8125,137) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [141.8125,137 7.75x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [141.484375,137 7.75x17] baseline: 13.296875
"4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -112,19 +112,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (30,176) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [35,176 4.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [34.828125,176 4.59375x17] baseline: 13.296875
"I"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (86.265625,176) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [88.265625,176 8.90625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [88.078125,176 8.90625x17] baseline: 13.296875
"J"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (140.8125,176) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [140.8125,176 8.453125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [141.125,176 8.453125x17] baseline: 13.296875
"5"
TextNode <#text>
BlockContainer <(anonymous)> at (9,9) content-size 0x0 children: inline

View file

@ -22,13 +22,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,30) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,30) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17] baseline: 13.296875
"1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -39,13 +39,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,79) content-size 88.8125x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [89,79 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [89.25,79 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,79) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79 8.8125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79 8.8125x17] baseline: 13.296875
"2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -56,7 +56,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,128) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,128 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -79,19 +79,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,177) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,177 13.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [50.515625,177 13.234375x17] baseline: 13.296875
"G"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,177) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [126.265625,177 12.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [126.421875,177 12.234375x17] baseline: 13.296875
"H"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,177) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,177 7.75x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.484375,177 7.75x17] baseline: 13.296875
"4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -102,19 +102,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,226) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [55,226 4.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [54.828125,226 4.59375x17] baseline: 13.296875
"I"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,226) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,226 8.90625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [128.078125,226 8.90625x17] baseline: 13.296875
"J"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,226) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,226 8.453125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.125,226 8.453125x17] baseline: 13.296875
"5"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -22,13 +22,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,30) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,30) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17] baseline: 13.296875
"1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -39,13 +39,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,79) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [127.265625,79 11.140625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [126.96875,79 11.140625x17] baseline: 13.296875
"D"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,79) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79 8.8125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79 8.8125x17] baseline: 13.296875
"2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -56,7 +56,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,128) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,128 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -79,19 +79,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,177) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,177 13.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [50.515625,177 13.234375x17] baseline: 13.296875
"G"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,177) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [126.265625,177 12.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [126.421875,177 12.234375x17] baseline: 13.296875
"H"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,177) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,177 7.75x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.484375,177 7.75x17] baseline: 13.296875
"4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -102,19 +102,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,226) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [55,226 4.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [54.828125,226 4.59375x17] baseline: 13.296875
"I"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,226) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,226 8.90625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [128.078125,226 8.90625x17] baseline: 13.296875
"J"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,226) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,226 8.453125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.125,226 8.453125x17] baseline: 13.296875
"5"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -22,13 +22,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,30) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,30) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17] baseline: 13.296875
"1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -39,19 +39,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,79) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [52,79 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [51.96875,79 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,79) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [127.265625,79 11.140625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [126.96875,79 11.140625x17] baseline: 13.296875
"D"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,79) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79 8.8125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79 8.8125x17] baseline: 13.296875
"2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -62,7 +62,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,128) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,128 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -85,19 +85,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,177) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [51,177 13.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [50.515625,177 13.234375x17] baseline: 13.296875
"G"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,177) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [126.265625,177 12.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [126.421875,177 12.234375x17] baseline: 13.296875
"H"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,177) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [201.8125,177 7.75x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.484375,177 7.75x17] baseline: 13.296875
"4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -108,19 +108,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (50,226) content-size 14.265625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [55,226 4.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [54.828125,226 4.59375x17] baseline: 13.296875
"I"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (126.265625,226) content-size 12.546875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [128.265625,226 8.90625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [128.078125,226 8.90625x17] baseline: 13.296875
"J"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (200.8125,226) content-size 9.09375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200.8125,226 8.453125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [201.125,226 8.453125x17] baseline: 13.296875
"5"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -8,7 +8,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <caption> at (8,73) content-size 82.734375x17 [BFC] children: inline
frag 0 from TextNode start: 1, length: 9, rect: [16,73 82.734375x17] baseline: 13.296875
frag 0 from TextNode start: 1, length: 9, rect: [16.21875,73 82.734375x17] baseline: 13.296875
"A Caption"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -70,7 +70,7 @@ ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x82]
PaintableWithLines (TableWrapper(anonymous)) [8,8 99.171875x82]
PaintableBox (Box<TABLE>#full-table) [8,8 99.171875x65]
PaintableWithLines (BlockContainer<CAPTION>) [8,73 82.734375x17] overflow: [8,73 90.734375x17]
PaintableWithLines (BlockContainer<CAPTION>) [8,73 82.734375x17] overflow: [8,73 90.953125x17]
TextPaintable (TextNode<#text>)
PaintableBox (Box<THEAD>) [10,10 95.171875x19]
PaintableBox (Box<TR>) [10,10 95.171875x19]

View file

@ -12,19 +12,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <th> at (11,11) content-size 300.640625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [154,11 14.265625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [154.1875,11 14.265625x17] baseline: 13.296875
"A"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <th> at (315.640625,11) content-size 168.71875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [395.640625,11 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [395.328125,11 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <th> at (488.359375,11) content-size 300.640625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 3, rect: [624.359375,11 29.453125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 3, rect: [623.953125,11 29.453125x17] baseline: 13.296875
"C D"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -35,19 +35,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,32) content-size 300.640625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [155,32 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [155.390625,32 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (315.640625,32) content-size 168.71875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [393.640625,32 12.546875x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [393.71875,32 12.546875x17] baseline: 13.296875
"F"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (488.359375,32) content-size 300.640625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [632.359375,32 13.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [632.0625,32 13.234375x17] baseline: 13.296875
"G"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -10,19 +10,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,11) content-size 79.59375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [44,11 14.265625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [43.65625,11 14.265625x17] baseline: 13.296875
"A"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (94.59375,11) content-size 157.328125x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [168.59375,11 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [168.578125,11 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (255.921875,11) content-size 169.078125x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [334.921875,11 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [335.296875,11 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -33,13 +33,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,32) content-size 79.59375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [45,32 11.140625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [45.21875,32 11.140625x17] baseline: 13.296875
"D"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (94.59375,32) content-size 330.40625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [253.59375,32 11.859375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [253.859375,32 11.859375x17] baseline: 13.296875
"E"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -10,13 +10,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,11) content-size 180x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [94,11 14.265625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [93.859375,11 14.265625x17] baseline: 13.296875
"A"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (195,11) content-size 20x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [200,11 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [200.328125,11 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -27,7 +27,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,32) content-size 204x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [108,32 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [107.84375,32 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -14,13 +14,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,11) content-size 17.5625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [13,11 14.265625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [12.640625,11 14.265625x17] baseline: 13.296875
"A"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (32.5625,11) content-size 11.75x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [33.5625,11 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [33.765625,11 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -37,7 +37,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,32) content-size 223.359375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [102,32 41.84375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [101.75,32 41.84375x17] baseline: 13.296875
"Cell 1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -48,7 +48,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,53) content-size 223.359375x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [101,53 44.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [100.515625,53 44.3125x17] baseline: 13.296875
"Cell 2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -59,19 +59,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,74) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [24,74 44.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [23.71875,74 44.59375x17] baseline: 13.296875
"Cell 3"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,74) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [100.046875,74 43.25x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [99.671875,74 43.25x17] baseline: 13.296875
"Cell 4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (161.5625,74) content-size 72.796875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [175.5625,74 43.953125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [175.984375,74 43.953125x17] baseline: 13.296875
"Cell 5"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -8,7 +8,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <caption> at (8,8) content-size 59.046875x34 [BFC] children: inline
frag 0 from TextNode start: 1, length: 6, rect: [11,8 54.03125x17] baseline: 13.296875
frag 0 from TextNode start: 1, length: 6, rect: [10.5,8 54.03125x17] baseline: 13.296875
"A long"
frag 1 from TextNode start: 8, length: 7, rect: [8,25 59.046875x17] baseline: 13.296875
"caption"

View file

@ -12,19 +12,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,11) content-size 14.40625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [11,11 14.265625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [11.0625,11 14.265625x17] baseline: 13.296875
"A"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (29.40625,11) content-size 51.1875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [50.40625,11 9.34375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [50.328125,11 9.34375x17] baseline: 13.296875
"B"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (84.59375,11) content-size 14.40625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 1, rect: [86.59375,11 10.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 1, rect: [86.640625,11 10.3125x17] baseline: 13.296875
"C"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline

View file

@ -37,19 +37,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,32) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [25,32 41.84375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [25.09375,32 41.84375x17] baseline: 13.296875
"Cell 1"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,32) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [99.046875,32 44.3125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [99.140625,32 44.3125x17] baseline: 13.296875
"Cell 2"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (161.5625,42.5) content-size 72.796875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [175.5625,42.5 44.59375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [175.65625,42.5 44.59375x17] baseline: 13.296875
"Cell 3"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -60,13 +60,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,53) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [24,53 43.25x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [24.390625,53 43.25x17] baseline: 13.296875
"Cell 4"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,53) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [99.046875,53 43.953125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [99.328125,53 43.953125x17] baseline: 13.296875
"Cell 5"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -77,19 +77,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,74) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [24,74 44.234375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [23.90625,74 44.234375x17] baseline: 13.296875
"Cell 6"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,74) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [99.046875,74 44.21875x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [99.1875,74 44.21875x17] baseline: 13.296875
"Cell 7"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (161.5625,74) content-size 72.796875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [175.5625,74 44.984375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [175.46875,74 44.984375x17] baseline: 13.296875
"Cell 8"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -100,19 +100,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,95) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 6, rect: [24,95 44.328125x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 6, rect: [23.859375,95 44.328125x17] baseline: 13.296875
"Cell 9"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,95) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 7, rect: [96.046875,95 51.4375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 7, rect: [95.578125,95 51.4375x17] baseline: 13.296875
"Cell 10"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (161.5625,105.5) content-size 72.796875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 7, rect: [173.5625,105.5 48.1875x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 7, rect: [173.859375,105.5 48.1875x17] baseline: 13.296875
"Cell 11"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
@ -123,13 +123,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (11,116) content-size 70.046875x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 7, rect: [21,116 50.65625x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 7, rect: [20.6875,116 50.65625x17] baseline: 13.296875
"Cell 12"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline
TextNode <#text>
BlockContainer <td> at (85.046875,116) content-size 72.515625x17 table-cell [BFC] children: inline
frag 0 from TextNode start: 0, length: 7, rect: [96.046875,116 50.9375x17] baseline: 13.296875
frag 0 from TextNode start: 0, length: 7, rect: [95.828125,116 50.9375x17] baseline: 13.296875
"Cell 13"
TextNode <#text>
BlockContainer <(anonymous)> (not painted) children: inline