The two references below are generated independently with resvg 0.47.0, using the unchanged vendored SVG inputs and only the corpus NotoSans-Regular.ttf font. They replace references that predate the current relative-position layout. Donner output is never used to generate these references.
Font SHA-256: 6b04c8dd65af6b73eb4279472ed1580b29102d6496a377340e80a40cdb3b22c9.
| Case | SVG SHA-256 | PNG SHA-256 |
|---|---|---|
| tspan-with-relative-position | c751ba99bdc9e453507029cc0b3333b44c161542e821913009813525061c2670 | fda4f9409e5b1cd52b3368157eca7ff5af20b438c68eb82b0e263b0cb33b8e83 |
| dy-with-tiny-coordinates | 396e4edd7ad7bde78ab0b64b1b06328853b78860065be0d3aac58096b4a7f4a0 | 518e1ba79b2d93a906aecf1d109fdb3362794b36fc2b7ac4df28cc4b80fa26a4 |
Run these commands from the repository root:
resvg-compound-emojis-and-coordinates-list.png is generated independently with resvg 0.47.0 and the corpus NotoColorEmoji.ttf, with system fonts disabled. Donner output is not used to generate this reference. The unchanged corpus SVG uses y="90 111 130 150". SVG2 positioning indexes that list by codepoint, while positioning complete typographic characters: the smile starts at index 0, the crab at index 1, and the joined rainbow flag at index 2. Their baselines are therefore 90, 111, and 130. The internal variation selector's value is skipped. The old image placed the crab and flag at 130 and 150, consistent with counting supplementary characters as two UTF-16 units.
To reproduce, copy the corpus SVG to reference.svg and replace only its text element with this equivalent fragment. Keeping each complete cluster in its own span avoids splitting the flag on an internal absolute position. Font, font size, viewBox, crosshair, frame, and implicit horizontal advances stay the same:
The existing per-pixel threshold remains 0.1; the comparison uses the ordinary 100-pixel budget, replacing the former 1100-pixel allowance.
Font SHA-256: 21fc478e003fc871200ba3bcf4215295a80e06a5c1b96f5368adc2183956f01a.
Corpus SVG SHA-256: e65aef72d28ca80b2ad7c3830da8e06a7a50eb685c751525e0450f3ea9c4dcdc.
Reference PNG SHA-256: 9fef8a7afaf51ff396e4a776da3ec65f72f1b3a5c3ed59e55bd4b10d5ca2061f.
This reference qualifies the full-text CPU rendering path. Geode currently skips bitmap-only fonts in its text renderer; that GPU capability remains unsupported. The native positioning regression uses an independently authored joined outline cluster, while Full TextEngine tests retain bitmap-emoji addressing and carry.