typography — 100.00% verified visual parity

← all categories · PASS 24 · FAIL 0 · REFERENCE-DISPUTED 0 · 24 total · 300 DPI

diff colours:MissingExtraColorErrMatchFull-page diff: matching and per-channel ≤1.0% pixels are blank; coloured classes are same-coordinate above-floor evidence. Exact RGBA mismatch remains numeric.

font-family — 100.00% verified visual parity PASS 3 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-font-family-monospace · monospace
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Generic monospace family fallback at 28px with fixed-advance glyphs.
PASS exact match typography-font-family-sans-serif · sans-serif
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Generic sans-serif family fallback at 28px.
PASS exact match typography-font-family-serif · serif
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Generic serif family fallback at 28px.

font-size — 100.00% verified visual parity PASS 5 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-font-size-em · em
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
font-size 2em resolved against the parent's 16px font-size.
PASS exact match typography-font-size-percent · percent
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
font-size 150% resolved against the parent's 16px font-size.
PASS exact match typography-font-size-pt · pt
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Text rendered at an explicit 24pt font-size to verify pt-to-px conversion.
PASS exact match typography-font-size-px · px
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Text rendered at an explicit 32px font-size in a bordered, filled region.
PASS exact match typography-font-size-rem · rem
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
font-size 2rem resolved against the root 16px font-size, not the local 10px.

font-style — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-font-style-italic · italic
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Italic serif text with only a regular bundled face available, verifying synthetic slant and its metrics.

font-weight — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-font-weight-bold · bold
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Bold-weight text so heavier glyph strokes show up as pixel differences.
PASS exact match typography-font-weight-normal · normal
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Normal-weight text as the regular-stroke counterpart to the bold fixture.

heading-default-size — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.006141% · raw 0.006141% (38 px) typography-heading-default-sizes · h1-h3PASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 6.3
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
The authenticated parity baseline's explicit h1, h2 and h3 font sizes are stacked in one region.
regions (27 total; showing 27 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr273828,68 → 36,837total 0.01% · largest 0.002258%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage29,76 → 31,760.002258ΔRGB(56,62,60)antialiasing coverage residue on a shared outline
AntialiasCoverage34,79 → 34,790.000968ΔRGB(11,14,12)antialiasing coverage residue on a shared outline
AntialiasCoverage34,69 → 34,690.000645ΔRGB(-11,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage36,71 → 36,710.000645ΔRGB(-16,-19,-17)antialiasing coverage residue on a shared outline
AntialiasCoverage36,71 → 36,720.000645ΔRGB(-7,-8,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage30,68 → 30,680.000323ΔRGB(-3,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage31,68 → 31,680.000323ΔRGB(-22,-23,-23)antialiasing coverage residue on a shared outline
AntialiasCoverage32,68 → 32,680.000323ΔRGB(-11,-12,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage29,69 → 29,690.000323ΔRGB(-17,-19,-18)antialiasing coverage residue on a shared outline
AntialiasCoverage35,70 → 35,700.000323ΔRGB(-6,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage30,71 → 30,710.000323ΔRGB(16,17,16)antialiasing coverage residue on a shared outline
AntialiasCoverage31,71 → 31,710.000323ΔRGB(14,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage31,71 → 31,710.000323ΔRGB(14,14,14)antialiasing coverage residue on a shared outline
AntialiasCoverage32,71 → 32,710.000323ΔRGB(17,19,18)antialiasing coverage residue on a shared outline
AntialiasCoverage28,71 → 28,710.000323ΔRGB(16,19,17)antialiasing coverage residue on a shared outline
AntialiasCoverage29,71 → 29,710.000323ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage33,71 → 33,710.000323ΔRGB(16,18,18)antialiasing coverage residue on a shared outline
AntialiasCoverage36,73 → 36,730.000323ΔRGB(-7,-8,-8)antialiasing coverage residue on a shared outline
AntialiasCoverage36,76 → 36,760.000323ΔRGB(-9,-11,-10)antialiasing coverage residue on a shared outline
AntialiasCoverage36,77 → 36,770.000323ΔRGB(-11,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage34,78 → 34,780.000323ΔRGB(6,6,5)antialiasing coverage residue on a shared outline
AntialiasCoverage36,78 → 36,780.000323ΔRGB(-6,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage36,79 → 36,790.000323ΔRGB(-11,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage36,80 → 36,800.000323ΔRGB(-6,-6,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage29,81 → 29,810.000323ΔRGB(-3,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage35,82 → 35,820.000323ΔRGB(-11,-14,-12)antialiasing coverage residue on a shared outline
AntialiasCoverage34,83 → 34,830.000323ΔRGB(-14,-14,-14)antialiasing coverage residue on a shared outline
source · cases/typography/typography-heading-default-sizes.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>heading default sizes</title>
6<style>
7  @page { size: 440px 144px; margin: 0; }
8  html { font-family: ParitySans; line-height: 1.5; }
9  * { margin: 0; box-sizing: border-box; }
10  html, body { background: #ffffff; }
11  .region {
12    width: 320px;
13    margin: 20px;
14    padding: 10px;
15    border: 2px solid #000000;
16    background: #fefae0;
17    font-family: ParitySans;
18    color: #432818;
19  }
20  h1, h2, h3 { line-height: 1; }
21</style>
22</head>
23<body>
24  <div class="region">
25    <h1>H1</h1>
26    <h2>H2</h2>
27    <h3>H3</h3>
28  </div>
29</body>
30</html>

initial-letter:2 — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.18% · raw 0.18% (901 px) typography-initial-letter-two-line · initial-letter-two-linePASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 24.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
A paragraph uses p::first-letter{initial-letter:2} to create a dropped initial spanning two lines without manual float sizing. Catches: A renderer with only custom ::first-letter font-size/float drop caps passes handcrafted drop-cap fixtures but ignores the initial-letter property.
regions (12 total; showing 12 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr129012,5 → 169,44564total 0.5% · largest 0.3%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage2,5 → 9,440.3ΔRGB(-3,-26,-25)antialiasing coverage residue on a shared outline
AntialiasCoverage164,11 → 168,200.03ΔRGB(70,70,76)antialiasing coverage residue on a shared outline
AntialiasCoverage34,10 → 34,200.03ΔRGB(126,126,134)antialiasing coverage residue on a shared outline
AntialiasCoverage36,10 → 36,200.03ΔRGB(-86,-86,-92)antialiasing coverage residue on a shared outline
AntialiasCoverage166,11 → 168,180.03ΔRGB(-76,-76,-81)antialiasing coverage residue on a shared outline
AntialiasCoverage164,7 → 164,100.01ΔRGB(51,51,55)antialiasing coverage residue on a shared outline
AntialiasCoverage166,7 → 166,100.01ΔRGB(-71,-71,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage34,6 → 34,80.007235ΔRGB(111,111,118)antialiasing coverage residue on a shared outline
AntialiasCoverage36,6 → 36,80.007235ΔRGB(-86,-86,-92)antialiasing coverage residue on a shared outline
AntialiasCoverage163,10 → 163,110.005168ΔRGB(118,118,127)antialiasing coverage residue on a shared outline
AntialiasCoverage169,10 → 169,110.005168ΔRGB(-66,-66,-71)antialiasing coverage residue on a shared outline
AntialiasCoverage169,18 → 169,200.005168ΔRGB(-66,-66,-71)antialiasing coverage residue on a shared outline
source · cases/typography/typography-initial-letter-two-line.html
1<!DOCTYPE html><html><head><meta charset='utf-8'><style>@page{size:320px 160px;margin:0}html{font-family:ParitySans;line-height:1.5}*{margin:0;box-sizing:border-box}body{padding:12px;background:#fff}p{width:260px;font-size:18px;line-height:24px;background:#eef;border:2px solid #333}p::first-letter{initial-letter:2;color:#d7263d;font-weight:bold}</style></head><body><p>Initial letter layout should sink beside two lines of paragraph text.</p></body></html>

line-height — 100.00% verified visual parity PASS 3 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-line-height-length · length
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Length line-height 36px across three stacked lines to verify fixed line-box height.
PASS exact match typography-line-height-numeric · numeric
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
Unitless line-height 2 across three stacked lines to verify line-box spacing.
PASS exact match typography-line-height-percent · percentage-font-size
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
line-height:200% resolves from the element font-size to 40px line boxes; catches percentage line-height being ignored or inherited as 1.5.

line-height:<length em> inheritance — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS exact match typography-line-height-em-inheritance · line-height-em-inheritance
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
A parent sets font-size:20px and line-height:2em; a smaller child inherits a 40px computed line-height, not a unitless factor of 2. Catches: Treating line-height:2em as the number 2 passes simple same-element line-height tests but compresses descendants with smaller fonts.

mixed inline font-size line box metrics — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.06% · raw 0.06% (288 px) typography-mixed-inline-font-size-linebox · mixed-inline-font-size-lineboxPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoverageextra 0.04%ΔE 17.1
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
A paragraph with a 42px span in the middle must produce a taller first line than the following normal line. Catches: A block-level line-height-only engine passes uniform line-height tests while clipping or overlapping large inline runs.
regions (4 total; showing 4 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
Extra26260,0 → 133,1031total 0.04% · largest 0.02%
ColorErr222660,10 → 133,46113total 0.1% · largest 0.07%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage60,10 → 60,460.07ΔRGB(17,-33,-45)antialiasing coverage residue on a shared outline
AntialiasCoverage133,10 → 133,460.07ΔRGB(17,-33,-45)antialiasing coverage residue on a shared outline
Extra60,0 → 60,100.02candidate adds paint absent from reference (0.02%)
Extra133,0 → 133,100.02candidate adds paint absent from reference (0.02%)
source · cases/typography/typography-mixed-inline-font-size-linebox.html
1<!DOCTYPE html><html><head><meta charset='utf-8'><style>@page{size:320px 152px;margin:0}html{font-family:ParitySans;line-height:1.5}*{margin:0;box-sizing:border-box}body{padding:10px;background:#fff}p{width:260px;font-size:18px;line-height:24px;background:#eef;border-left:6px solid #1565c0}.big{font-size:42px;background:#ffcdd2;color:#b71c1c}</style></head><body><p>small <span class='big'>BIG</span> small<br>normal line</p></body></html>

text-emphasis filled dot — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.11% · raw 0.11% (330 px) typography-text-emphasis-filled-dot · text-emphasis-filled-dotPASS via CSS-scale observation: one-sided sub-CSS outline coverageAntialiasCoveragemissing 0.7%ΔE 18.9
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Japanese text uses filled red emphasis dots above the characters. Catches: An implementation with only text-decoration lines passes underline/overline tests but renders no emphasis marks.
regions (18 total; showing 18 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr152422,13 → 106,3735total 0.6% · largest 0.08%
Missing3882,27 → 106,3231total 0.2% · largest 0.07%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage56,15 → 67,150.08ΔRGB(71,71,71)antialiasing coverage residue on a shared outline
AntialiasCoverage70,15 → 81,150.08ΔRGB(71,71,71)antialiasing coverage residue on a shared outline
AntialiasCoverage13,34 → 23,340.08ΔRGB(-54,-54,-54)antialiasing coverage residue on a shared outline
Missing14,32 → 23,320.07candidate lacks paint present in reference (0.07%)
Missing2,32 → 11,320.07candidate lacks paint present in reference (0.07%)
AntialiasCoverage13,21 → 22,210.07ΔRGB(54,54,54)antialiasing coverage residue on a shared outline
AntialiasCoverage2,34 → 11,340.07ΔRGB(-54,-54,-54)antialiasing coverage residue on a shared outline
Missing97,27 → 106,270.07candidate lacks paint present in reference (0.07%)
AntialiasCoverage3,21 → 11,210.06ΔRGB(54,54,54)antialiasing coverage residue on a shared outline
AntialiasCoverage13,26 → 20,260.05ΔRGB(-71,-71,-71)antialiasing coverage residue on a shared outline
AntialiasCoverage5,26 → 11,260.05ΔRGB(-71,-71,-71)antialiasing coverage residue on a shared outline
AntialiasCoverage68,13 → 69,130.02ΔRGB(71,71,71)antialiasing coverage residue on a shared outline
AntialiasCoverage97,27 → 97,270.002383ΔRGB(40,40,40)antialiasing coverage residue on a shared outline
AntialiasCoverage106,27 → 106,270.002383ΔRGB(20,20,20)antialiasing coverage residue on a shared outline
AntialiasCoverage13,32 → 13,320.002383ΔRGB(20,20,20)antialiasing coverage residue on a shared outline
AntialiasCoverage100,35 → 100,350.002383ΔRGB(10,10,10)antialiasing coverage residue on a shared outline
AntialiasCoverage102,35 → 102,350.002383ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage63,37 → 63,370.002383ΔRGB(-7,-7,-7)antialiasing coverage residue on a shared outline
source · cases/typography/typography-text-emphasis-filled-dot.html
1<!DOCTYPE html><html><head><meta charset='utf-8'><style>@page{size:264px 120px;margin:0}html{font-family:ParitySans;line-height:1.5}*{margin:0;box-sizing:border-box}body{padding:18px;background:#fff;font-size:28px}.t{text-emphasis:filled dot #d7263d;text-emphasis-position:over right;color:#111}</style></head><body><span class='t'>重要事項</span></body></html>

text-emphasis line-height interaction — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.20% · raw 0.20% (1386 px) typography-text-emphasis-leading · text-emphasis-leadingPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 33.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
CJK emphasis dots are tested in tight and roomy lines. Catches: a hard-coded baseline ratio may align one font size while ignoring the selected font's annotation metrics and the leading already available above the base text.
regions (78 total; showing 64 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr7813863,18 → 108,123107total 0.3% · largest 0.02%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage57,18 → 82,220.02ΔRGB(70,64,65)antialiasing coverage residue on a shared outline
AntialiasCoverage57,97 → 82,1010.02ΔRGB(64,66,70)antialiasing coverage residue on a shared outline
AntialiasCoverage79,24 → 79,290.007003ΔRGB(134,122,124)antialiasing coverage residue on a shared outline
AntialiasCoverage79,36 → 80,410.007003ΔRGB(99,90,92)antialiasing coverage residue on a shared outline
AntialiasCoverage14,37 → 24,370.007003ΔRGB(30,27,28)antialiasing coverage residue on a shared outline
AntialiasCoverage14,39 → 24,390.007003ΔRGB(-54,-49,-50)antialiasing coverage residue on a shared outline
AntialiasCoverage79,103 → 79,1080.007003ΔRGB(122,127,134)antialiasing coverage residue on a shared outline
AntialiasCoverage79,115 → 80,1200.007003ΔRGB(90,94,99)antialiasing coverage residue on a shared outline
AntialiasCoverage14,116 → 24,1160.007003ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage14,118 → 24,1180.007003ΔRGB(-49,-51,-54)antialiasing coverage residue on a shared outline
AntialiasCoverage98,33 → 108,330.006565ΔRGB(30,27,28)antialiasing coverage residue on a shared outline
AntialiasCoverage98,112 → 108,1120.006565ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage14,27 → 23,270.006346ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage3,37 → 12,370.006346ΔRGB(30,27,28)antialiasing coverage residue on a shared outline
AntialiasCoverage3,39 → 12,390.006346ΔRGB(-54,-49,-50)antialiasing coverage residue on a shared outline
AntialiasCoverage14,106 → 23,1060.006346ΔRGB(49,51,54)antialiasing coverage residue on a shared outline
AntialiasCoverage3,116 → 12,1160.006346ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage3,118 → 12,1180.006346ΔRGB(-49,-51,-54)antialiasing coverage residue on a shared outline
AntialiasCoverage4,27 → 12,270.005909ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage4,106 → 12,1060.005909ΔRGB(49,51,54)antialiasing coverage residue on a shared outline
AntialiasCoverage68,40 → 71,440.005471ΔRGB(117,107,109)antialiasing coverage residue on a shared outline
AntialiasCoverage68,119 → 71,1230.005471ΔRGB(107,111,117)antialiasing coverage residue on a shared outline
AntialiasCoverage79,31 → 80,340.005252ΔRGB(84,76,78)antialiasing coverage residue on a shared outline
AntialiasCoverage79,110 → 80,1130.005252ΔRGB(76,80,84)antialiasing coverage residue on a shared outline
AntialiasCoverage14,32 → 21,320.004815ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage14,111 → 21,1110.004815ΔRGB(-64,-66,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage6,32 → 12,320.004377ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage6,111 → 12,1110.004377ΔRGB(-64,-66,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage60,24 → 60,290.003501ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage64,42 → 66,440.003501ΔRGB(-42,-38,-39)antialiasing coverage residue on a shared outline
AntialiasCoverage60,103 → 60,1080.003501ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage64,121 → 66,1230.003501ΔRGB(-38,-40,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage62,25 → 63,270.003064ΔRGB(87,80,81)antialiasing coverage residue on a shared outline
AntialiasCoverage77,25 → 77,270.003064ΔRGB(-82,-75,-76)antialiasing coverage residue on a shared outline
AntialiasCoverage77,32 → 77,340.003064ΔRGB(-33,-31,-31)antialiasing coverage residue on a shared outline
AntialiasCoverage77,36 → 77,380.003064ΔRGB(-33,-31,-31)antialiasing coverage residue on a shared outline
AntialiasCoverage62,104 → 63,1060.003064ΔRGB(80,82,87)antialiasing coverage residue on a shared outline
AntialiasCoverage77,104 → 77,1060.003064ΔRGB(-75,-78,-82)antialiasing coverage residue on a shared outline
AntialiasCoverage77,111 → 77,1130.003064ΔRGB(-31,-31,-33)antialiasing coverage residue on a shared outline
AntialiasCoverage77,115 → 77,1170.003064ΔRGB(-31,-31,-33)antialiasing coverage residue on a shared outline
AntialiasCoverage68,40 → 68,420.002845ΔRGB(-206,-188,-191)antialiasing coverage residue on a shared outline
AntialiasCoverage68,119 → 68,1210.002845ΔRGB(-188,-195,-206)antialiasing coverage residue on a shared outline
AntialiasCoverage60,31 → 60,320.002626ΔRGB(-84,-76,-78)antialiasing coverage residue on a shared outline
AntialiasCoverage82,34 → 83,360.002626ΔRGB(82,75,76)antialiasing coverage residue on a shared outline
AntialiasCoverage59,38 → 60,400.002626ΔRGB(-84,-76,-78)antialiasing coverage residue on a shared outline
AntialiasCoverage60,110 → 60,1110.002626ΔRGB(-76,-80,-84)antialiasing coverage residue on a shared outline
AntialiasCoverage82,113 → 83,1150.002626ΔRGB(75,78,82)antialiasing coverage residue on a shared outline
AntialiasCoverage59,117 → 60,1190.002626ΔRGB(-76,-80,-84)antialiasing coverage residue on a shared outline
AntialiasCoverage77,40 → 77,410.002188ΔRGB(-30,-27,-28)antialiasing coverage residue on a shared outline
AntialiasCoverage77,119 → 77,1200.002188ΔRGB(-27,-29,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage68,25 → 68,270.001532ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage71,25 → 71,270.001532ΔRGB(236,215,219)antialiasing coverage residue on a shared outline
AntialiasCoverage68,29 → 68,310.001532ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage71,29 → 71,310.001532ΔRGB(236,215,219)antialiasing coverage residue on a shared outline
AntialiasCoverage68,32 → 68,340.001532ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage71,32 → 71,340.001532ΔRGB(236,215,219)antialiasing coverage residue on a shared outline
AntialiasCoverage68,36 → 68,380.001532ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage71,36 → 71,380.001532ΔRGB(236,215,219)antialiasing coverage residue on a shared outline
AntialiasCoverage68,104 → 68,1060.001532ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,104 → 71,1060.001532ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,108 → 68,1100.001532ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,108 → 71,1100.001532ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,111 → 68,1130.001532ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,111 → 71,1130.001532ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
source · cases/typography/typography-text-emphasis-leading.html
1<!doctype html>
2<html>
3<head>
4  <meta charset="utf-8">
5  <style>
6    @page { size: 336px 216px; margin: 0 }
7    * { box-sizing: border-box; margin: 0 }
8    html { font-family: ParitySans }
9    body { padding: 16px; color: #111; font-size: 28px }
10    .line { width: 304px }
11    .tight { line-height: 1.5; background: #fde8ec }
12    .roomy { margin-top: 16px; line-height: 3; background: #e8f1fd }
13    .em { text-emphasis: filled dot #d7263d; text-emphasis-position: over right }
14  </style>
15</head>
16<body>
17  <p class="line tight"><span class="em">重要事項</span></p>
18  <p class="line roomy"><span class="em">重要事項</span></p>
19</body>
20</html>

text-emphasis position — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.21% · raw 0.21% (1472 px) typography-text-emphasis-under · text-emphasis-underPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 31.8
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
`under right` must place marks below the base and reserve the ruby annotation spacing on the corresponding line-box side.
regions (56 total; showing 56 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5614723,6 → 108,101306total 0.4% · largest 0.09%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage56,81 → 67,1010.09ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,75 → 65,830.04ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,6 → 82,100.03ΔRGB(64,66,70)antialiasing coverage residue on a shared outline
AntialiasCoverage76,87 → 78,1010.03ΔRGB(84,76,78)antialiasing coverage residue on a shared outline
AntialiasCoverage76,87 → 76,990.02ΔRGB(-87,-80,-81)antialiasing coverage residue on a shared outline
AntialiasCoverage68,77 → 82,790.02ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage39,86 → 54,860.01ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage79,12 → 79,170.009707ΔRGB(122,127,134)antialiasing coverage residue on a shared outline
AntialiasCoverage79,24 → 80,290.009707ΔRGB(90,94,99)antialiasing coverage residue on a shared outline
AntialiasCoverage14,25 → 24,250.009707ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage14,27 → 24,270.009707ΔRGB(-49,-51,-54)antialiasing coverage residue on a shared outline
AntialiasCoverage98,20 → 108,200.009101ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage14,14 → 23,140.008797ΔRGB(49,51,54)antialiasing coverage residue on a shared outline
AntialiasCoverage3,25 → 12,250.008797ΔRGB(27,29,30)antialiasing coverage residue on a shared outline
AntialiasCoverage3,27 → 12,270.008797ΔRGB(-49,-51,-54)antialiasing coverage residue on a shared outline
AntialiasCoverage4,14 → 12,140.008191ΔRGB(49,51,54)antialiasing coverage residue on a shared outline
AntialiasCoverage68,28 → 71,320.007584ΔRGB(107,111,117)antialiasing coverage residue on a shared outline
AntialiasCoverage79,19 → 80,220.007280ΔRGB(76,80,84)antialiasing coverage residue on a shared outline
AntialiasCoverage14,20 → 21,200.006674ΔRGB(-64,-66,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage6,20 → 12,200.006067ΔRGB(-64,-66,-70)antialiasing coverage residue on a shared outline
AntialiasCoverage60,12 → 60,170.004854ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage64,30 → 66,320.004854ΔRGB(-38,-40,-42)antialiasing coverage residue on a shared outline
AntialiasCoverage82,84 → 83,870.004854ΔRGB(82,75,76)antialiasing coverage residue on a shared outline
AntialiasCoverage71,99 → 72,1010.004550ΔRGB(-112,-102,-104)antialiasing coverage residue on a shared outline
AntialiasCoverage62,13 → 63,150.004247ΔRGB(80,82,87)antialiasing coverage residue on a shared outline
AntialiasCoverage77,13 → 77,150.004247ΔRGB(-75,-78,-82)antialiasing coverage residue on a shared outline
AntialiasCoverage77,20 → 77,220.004247ΔRGB(-31,-31,-33)antialiasing coverage residue on a shared outline
AntialiasCoverage77,24 → 77,260.004247ΔRGB(-31,-31,-33)antialiasing coverage residue on a shared outline
AntialiasCoverage68,28 → 68,300.003944ΔRGB(-188,-195,-206)antialiasing coverage residue on a shared outline
AntialiasCoverage60,19 → 60,200.003640ΔRGB(-76,-80,-84)antialiasing coverage residue on a shared outline
AntialiasCoverage82,22 → 83,240.003640ΔRGB(75,78,82)antialiasing coverage residue on a shared outline
AntialiasCoverage59,26 → 60,280.003640ΔRGB(-76,-80,-84)antialiasing coverage residue on a shared outline
AntialiasCoverage77,28 → 77,290.003034ΔRGB(-27,-29,-30)antialiasing coverage residue on a shared outline
AntialiasCoverage67,84 → 67,870.002427ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage68,13 → 68,150.002123ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,13 → 71,150.002123ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,17 → 68,190.002123ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,17 → 71,190.002123ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,20 → 68,220.002123ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,20 → 71,220.002123ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,24 → 68,260.002123ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,24 → 71,260.002123ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage39,91 → 41,910.002123ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage52,91 → 54,910.002123ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage57,22 → 57,240.001820ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage33,101 → 35,1010.001820ΔRGB(30,27,28)antialiasing coverage residue on a shared outline
AntialiasCoverage68,10 → 68,120.001517ΔRGB(-215,-224,-236)antialiasing coverage residue on a shared outline
AntialiasCoverage71,10 → 71,120.001517ΔRGB(215,224,236)antialiasing coverage residue on a shared outline
AntialiasCoverage68,32 → 68,320.000607ΔRGB(17,19,19)antialiasing coverage residue on a shared outline
AntialiasCoverage75,101 → 76,1010.000607ΔRGB(51,47,47)antialiasing coverage residue on a shared outline
AntialiasCoverage101,28 → 101,280.000303ΔRGB(9,10,10)antialiasing coverage residue on a shared outline
AntialiasCoverage104,28 → 104,280.000303ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage6,75 → 6,750.000303ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage15,75 → 15,750.000303ΔRGB(14,13,13)antialiasing coverage residue on a shared outline
AntialiasCoverage33,75 → 33,750.000303ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage76,99 → 76,990.000303ΔRGB(-82,-75,-76)antialiasing coverage residue on a shared outline
source · cases/typography/typography-text-emphasis-under.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<style>
6  @page { size: 336px 216px; margin: 0; }
7  * { box-sizing: border-box; margin: 0; }
8  html { font-family: ParitySans, sans-serif; }
9  body { padding: 16px; color: #111; font-size: 28px; }
10  .under { line-height: 1.5; background: #e8f1fd; }
11  .following { margin-top: 16px; line-height: 1.5; background: #fde8ec; }
12  .em {
13    color: #111;
14    text-emphasis: filled dot #d7263d;
15    text-emphasis-position: under right;
16  }
17</style>
18</head>
19<body>
20<p class="under"><span class="em">重要事項</span></p>
21<p class="following">後続行</p>
22</body>
23</html>

text-emphasis skip — 100.00% verified visual parity PASS 1 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.12% · raw 0.12% (779 px) typography-text-emphasis-whitespace · text-emphasis-whitespacePASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 30.6
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
An emphasized preserved space paints no mark but retains its ruby annotation height in following flow.
regions (17 total; showing 17 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr177796,76 → 83,102306total 0.2% · largest 0.09%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage56,82 → 67,1020.09ΔRGB(4,4,4)antialiasing coverage residue on a shared outline
AntialiasCoverage57,76 → 65,840.04ΔRGB(-4,-4,-4)antialiasing coverage residue on a shared outline
AntialiasCoverage76,88 → 78,1020.03ΔRGB(84,76,78)antialiasing coverage residue on a shared outline
AntialiasCoverage76,88 → 76,1000.02ΔRGB(-87,-80,-81)antialiasing coverage residue on a shared outline
AntialiasCoverage68,78 → 82,800.02ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage39,87 → 54,870.01ΔRGB(54,49,50)antialiasing coverage residue on a shared outline
AntialiasCoverage82,85 → 83,880.004812ΔRGB(82,75,76)antialiasing coverage residue on a shared outline
AntialiasCoverage71,100 → 72,1020.004511ΔRGB(-112,-102,-104)antialiasing coverage residue on a shared outline
AntialiasCoverage67,85 → 67,880.002406ΔRGB(-236,-215,-219)antialiasing coverage residue on a shared outline
AntialiasCoverage39,92 → 41,920.002105ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage52,92 → 54,920.002105ΔRGB(-70,-64,-65)antialiasing coverage residue on a shared outline
AntialiasCoverage33,102 → 35,1020.001805ΔRGB(30,27,28)antialiasing coverage residue on a shared outline
AntialiasCoverage75,102 → 76,1020.000602ΔRGB(51,47,47)antialiasing coverage residue on a shared outline
AntialiasCoverage6,76 → 6,760.000301ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage15,76 → 15,760.000301ΔRGB(14,13,13)antialiasing coverage residue on a shared outline
AntialiasCoverage33,76 → 33,760.000301ΔRGB(16,16,15)antialiasing coverage residue on a shared outline
AntialiasCoverage76,100 → 76,1000.000301ΔRGB(-82,-75,-76)antialiasing coverage residue on a shared outline
source · cases/typography/typography-text-emphasis-whitespace.html
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<style>
6  @page { size: 336px 192px; margin: 0; }
7  * { box-sizing: border-box; margin: 0; }
8  html { font-family: ParitySans, sans-serif; }
9  body { padding: 16px; color: #111; font-size: 28px; }
10  .space { line-height: 1.5; white-space: pre; background: #e8f1fd; }
11  .following { margin-top: 16px; line-height: 1.5; background: #fde8ec; }
12  .em { text-emphasis: filled dot #d7263d; }
13</style>
14</head>
15<body>
16<p class="space"><span class="em"> </span></p>
17<p class="following">後続行</p>
18</body>
19</html>

vertical-align — 100.00% verified visual parity PASS 2 · FAIL 0 · REFERENCE-DISPUTED 0all categories ↑

PASS visually equivalent · no rejecting defect · thresholded evidence 0.39% · raw 0.40% (1687 px) typography-vertical-align-sup · supPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 31.0
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Superscript element (x squared) raised above the baseline with reduced font-size.
regions (5 total; showing 5 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr5168712,19 → 59,53581total 1.0% · largest 0.3%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage12,31 → 27,470.3ΔRGB(2,2,2)antialiasing coverage residue on a shared outline
AntialiasCoverage44,31 → 59,530.3ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,19 → 41,340.2ΔRGB(23,28,34)antialiasing coverage residue on a shared outline
AntialiasCoverage30,20 → 38,340.1ΔRGB(1,1,1)antialiasing coverage residue on a shared outline
AntialiasCoverage30,36 → 41,360.04ΔRGB(-146,-183,-217)antialiasing coverage residue on a shared outline
source · cases/typography/typography-vertical-align-sup.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>vertical-align sup</title>
6<style>
7  @page { size: 384px 112px; margin: 0; }
8  html { font-family: ParitySans; line-height: 1.5; }
9  * { margin: 0; box-sizing: border-box; }
10  html, body { background: #ffffff; }
11  .region {
12    width: 260px;
13    margin: 20px;
14    padding: 10px;
15    border: 2px solid #000000;
16    background: #ffe5d9;
17  }
18  .t {
19    font-family: ParitySans;
20    font-size: 28px;
21    line-height: 1.4;
22    color: #6d2e00;
23  }
24</style>
25</head>
26<body>
27  <div class="region">
28    <div class="t">x<sup>2</sup>y</div>
29  </div>
30</body>
31</html>
PASS visually equivalent · no rejecting defect · thresholded evidence 0.09% · raw 0.09% (379 px) typography-vertical-align-sub · subPASS via CSS-scale observation: sub-CSS shared-colour coverageAntialiasCoverageΔE 34.7
Chrome ref
Chrome ref
ironpress
ironpress
full-page >1.0%/channel diff
full-page >1.0%/channel diff
why: visually accepted coverage phase; raw antialiasing coverage residue on a shared outline
Subscript element (H2O) lowered below the baseline with reduced font-size.
regions (3 total; showing 3 representatives)

Complete component census grouped by dominant raster class; representative details are bounded.

Complete dominant-class aggregates

classregionspixelsunion bbox (CSS px)largest pxmaximum magnitude
ColorErr337935,30 → 45,47207total 0.2% · largest 0.1%

Representative region details (worst-first)

classbbox (CSS px)area%magnitudereason
AntialiasCoverage35,30 → 45,450.1ΔRGB(-7,-8,-5)antialiasing coverage residue on a shared outline
AntialiasCoverage35,32 → 43,450.08ΔRGB(-1,-1,-1)antialiasing coverage residue on a shared outline
AntialiasCoverage35,47 → 45,470.02ΔRGB(199,236,154)antialiasing coverage residue on a shared outline
source · cases/typography/typography-vertical-align-sub.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<title>vertical-align sub</title>
6<style>
7  @page { size: 384px 112px; margin: 0; }
8  html { font-family: ParitySans; line-height: 1.5; }
9  * { margin: 0; box-sizing: border-box; }
10  html, body { background: #ffffff; }
11  .region {
12    width: 260px;
13    margin: 20px;
14    padding: 10px;
15    border: 2px solid #000000;
16    background: #caf0f8;
17  }
18  .t {
19    font-family: ParitySans;
20    font-size: 28px;
21    line-height: 1.4;
22    color: #03045e;
23  }
24</style>
25</head>
26<body>
27  <div class="region">
28    <div class="t">H<sub>2</sub>O</div>
29  </div>
30</body>
31</html>