epiphany/spikes/editor-toolkit/round2-textkit/fixtures.json

3688 lines
91 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"contract": "spec/CONTRACT_EDITOR_T4_SPIKE.md pins 8, 9, 10, 13, 14",
"recipe": "spikes/editor-toolkit/ROUND2_TEXT_RECIPE.md",
"em_size_staff_space": 1.28,
"quantize_grid": 1024.0,
"target": {
"width": 1920.0,
"height": 1080.0
},
"faces": [
{
"chain_index": 0,
"path": "/usr/share/fonts/tex-gyre/texgyrepagella-regular.otf",
"identity": {
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
},
{
"chain_index": 1,
"path": "/usr/share/fonts/liberation-fonts/LiberationSerif-Regular.ttf",
"identity": {
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
}
],
"fixtures": [
{
"id": "F-A",
"purpose": "check 1 (faithful consumption), check 5 (accessibility)",
"resolved": {
"provenance": {
"source": {
"discriminant": 0,
"canonical_bytes_hex": "0000000000000000000000000000f00d0000"
},
"synthesis": null,
"dependencies": [],
"stable_id": "82875741697311382809239399464544864365"
},
"text": "Allegro affettuoso — al fine",
"shaping": {
"faces": [
{
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
},
{
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
],
"shaper": "rustybuzz",
"shaper_version": {
"major": 0,
"minor": 20,
"patch": 1
},
"features": [],
"unicode_bidi": {
"impl_name": "unicode-bidi",
"crate_version": "0.3.18",
"unicode_version": "16.0.0"
},
"unicode_segmentation": {
"impl_name": "unicode-segmentation",
"crate_version": "1.13.3",
"unicode_version": "17.0.0"
}
},
"segments": [
{
"face": 0,
"glyphs": [
{
"glyph_id": 34,
"offset": {
"x": 0.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 77,
"offset": {
"x": 0.99609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 77,
"offset": {
"x": 1.3681640625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 70,
"offset": {
"x": 1.7412109375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 72,
"offset": {
"x": 2.353515625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 3.0849609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 3.5908203125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 4.2890625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 66,
"offset": {
"x": 4.609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 234,
"offset": {
"x": 5.2490234375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 70,
"offset": {
"x": 6.046875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 85,
"offset": {
"x": 6.66015625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 85,
"offset": {
"x": 7.0771484375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 86,
"offset": {
"x": 7.494140625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 8.2666015625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 84,
"offset": {
"x": 8.96484375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 9.5078125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 10.20703125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 119,
"offset": {
"x": 10.5263671875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 11.806640625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 66,
"offset": {
"x": 12.126953125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 77,
"offset": {
"x": 12.7666015625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 13.1396484375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 97,
"offset": {
"x": 13.458984375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 79,
"offset": {
"x": 14.2333984375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 70,
"offset": {
"x": 14.978515625,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 0,
"end": 30
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
}
],
"clusters": {
"clusters": [
{
"source": {
"start": 0,
"end": 1
},
"segment": 0,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 0,
"position": {
"x": 0.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 1,
"end": 2
},
"segment": 0,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 1,
"position": {
"x": 0.99609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 2,
"end": 3
},
"segment": 0,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 2,
"position": {
"x": 1.3681640625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 3,
"end": 4
},
"segment": 0,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 3,
"position": {
"x": 1.7412109375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 4,
"end": 5
},
"segment": 0,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 4,
"position": {
"x": 2.353515625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 5,
"end": 6
},
"segment": 0,
"glyph_indices": [
5
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 5,
"position": {
"x": 3.0849609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 6,
"end": 7
},
"segment": 0,
"glyph_indices": [
6
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 6,
"position": {
"x": 3.5908203125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 7,
"end": 8
},
"segment": 0,
"glyph_indices": [
7
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 7,
"position": {
"x": 4.2890625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 8,
"end": 9
},
"segment": 0,
"glyph_indices": [
8
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 8,
"position": {
"x": 4.609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 9,
"end": 11
},
"segment": 0,
"glyph_indices": [
9
],
"resolved": true,
"grapheme_count": 2,
"caret_stops": [
{
"source_offset": 9,
"position": {
"x": 5.2490234375,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 10,
"position": {
"x": 5.6484375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 11,
"end": 12
},
"segment": 0,
"glyph_indices": [
10
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 11,
"position": {
"x": 6.046875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 12,
"end": 13
},
"segment": 0,
"glyph_indices": [
11
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 12,
"position": {
"x": 6.66015625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 13,
"end": 14
},
"segment": 0,
"glyph_indices": [
12
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 13,
"position": {
"x": 7.0771484375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 14,
"end": 15
},
"segment": 0,
"glyph_indices": [
13
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 14,
"position": {
"x": 7.494140625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 15,
"end": 16
},
"segment": 0,
"glyph_indices": [
14
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 15,
"position": {
"x": 8.2666015625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 16,
"end": 17
},
"segment": 0,
"glyph_indices": [
15
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 16,
"position": {
"x": 8.96484375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 17,
"end": 18
},
"segment": 0,
"glyph_indices": [
16
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 17,
"position": {
"x": 9.5078125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 18,
"end": 19
},
"segment": 0,
"glyph_indices": [
17
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 18,
"position": {
"x": 10.20703125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 19,
"end": 22
},
"segment": 0,
"glyph_indices": [
18
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 19,
"position": {
"x": 10.5263671875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 22,
"end": 23
},
"segment": 0,
"glyph_indices": [
19
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 22,
"position": {
"x": 11.806640625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 23,
"end": 24
},
"segment": 0,
"glyph_indices": [
20
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 23,
"position": {
"x": 12.126953125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 24,
"end": 25
},
"segment": 0,
"glyph_indices": [
21
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 24,
"position": {
"x": 12.7666015625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 25,
"end": 26
},
"segment": 0,
"glyph_indices": [
22
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 25,
"position": {
"x": 13.1396484375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 26,
"end": 28
},
"segment": 0,
"glyph_indices": [
23
],
"resolved": true,
"grapheme_count": 2,
"caret_stops": [
{
"source_offset": 26,
"position": {
"x": 13.458984375,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 27,
"position": {
"x": 13.8466796875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 28,
"end": 29
},
"segment": 0,
"glyph_indices": [
24
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 28,
"position": {
"x": 14.2333984375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 29,
"end": 30
},
"segment": 0,
"glyph_indices": [
25
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 29,
"position": {
"x": 14.978515625,
"y": 0.0
},
"affinity": "Downstream"
}
]
}
]
},
"bounds": {
"left": 1.619140625,
"bottom": -0.3623046875,
"right": 17.1513671875,
"top": 0.931640625
},
"reserved_box": {
"left": 1.51953125,
"bottom": -0.4619140625,
"right": 17.2509765625,
"top": 1.03125
},
"origin": {
"x": 1.599609375,
"y": 0.0
},
"align": "Start",
"style": {
"rgba": 255
},
"layer": 0
},
"accessibility": {
"name": "Allegro affettuoso — al fine",
"name_bytes_hex": "416c6c6567726f20616666657474756f736f20e2809420616c2066696e65",
"name_byte_len": 30,
"name_composition": "single-text-node-name, or logical-order concatenation of the run subtree's text-descendant names — either must equal `name` byte for byte",
"accepted_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Label",
"TextRun",
"Paragraph"
]
},
{
"platform": "at-spi2",
"tokens": [
"label",
"static",
"text",
"paragraph"
]
},
{
"platform": "aria",
"tokens": [
"(none)",
"text",
"paragraph"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXStaticText"
]
},
{
"platform": "windows-uia",
"tokens": [
"Text"
]
}
],
"prohibited_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Image",
"GraphicsObject",
"GraphicsSymbol",
"GenericContainer",
"Unknown",
"Pane"
]
},
{
"platform": "at-spi2",
"tokens": [
"image",
"canvas",
"filler",
"panel",
"unknown"
]
},
{
"platform": "aria",
"tokens": [
"img",
"presentation",
"none",
"graphics-object",
"graphics-symbol"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXImage",
"AXUnknown",
"AXGroup"
]
},
{
"platform": "windows-uia",
"tokens": [
"Image",
"Pane",
"Custom"
]
}
],
"prohibited_outcomes": [
"absent-from-tree",
"name-empty",
"name-normalized",
"name-is-shaped-glyphs",
"name-drops-unresolved-codepoints"
],
"note": "Ligatures: the name must be the source `ff`/`fi`, never the ligature glyphs that drew them."
}
},
{
"id": "F-B",
"purpose": "check 2 (fallback, forced)",
"resolved": {
"provenance": {
"source": {
"discriminant": 0,
"canonical_bytes_hex": "0000000000000000000000000000f00d0001"
},
"synthesis": null,
"dependencies": [],
"stable_id": "13546022191488132682411636294095908055"
},
"text": "Coro אבג",
"shaping": {
"faces": [
{
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
},
{
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
],
"shaper": "rustybuzz",
"shaper_version": {
"major": 0,
"minor": 20,
"patch": 1
},
"features": [],
"unicode_bidi": {
"impl_name": "unicode-bidi",
"crate_version": "0.3.18",
"unicode_version": "16.0.0"
},
"unicode_segmentation": {
"impl_name": "unicode-segmentation",
"crate_version": "1.13.3",
"unicode_version": "17.0.0"
}
},
"segments": [
{
"face": 0,
"glyphs": [
{
"glyph_id": 36,
"offset": {
"x": 0.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 0.9072265625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 1.6064453125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 2.1123046875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 2.810546875,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 0,
"end": 5
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
},
{
"face": 1,
"glyphs": [
{
"glyph_id": 1282,
"offset": {
"x": 3.130859375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1281,
"offset": {
"x": 3.5537109375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1280,
"offset": {
"x": 4.169921875,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 5,
"end": 11
},
"direction": "Rtl",
"script": "Hebr",
"language": null,
"size": 1.28
}
],
"clusters": {
"clusters": [
{
"source": {
"start": 0,
"end": 1
},
"segment": 0,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 0,
"position": {
"x": 0.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 1,
"end": 2
},
"segment": 0,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 1,
"position": {
"x": 0.9072265625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 2,
"end": 3
},
"segment": 0,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 2,
"position": {
"x": 1.6064453125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 3,
"end": 4
},
"segment": 0,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 3,
"position": {
"x": 2.1123046875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 4,
"end": 5
},
"segment": 0,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 4,
"position": {
"x": 2.810546875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 5,
"end": 7
},
"segment": 1,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 5,
"position": {
"x": 4.169921875,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 5,
"position": {
"x": 3.130859375,
"y": 0.0
},
"affinity": "Upstream"
}
]
},
{
"source": {
"start": 7,
"end": 9
},
"segment": 1,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 7,
"position": {
"x": 3.5537109375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 9,
"end": 11
},
"segment": 1,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 9,
"position": {
"x": 3.130859375,
"y": 0.0
},
"affinity": "Downstream"
}
]
}
]
},
"bounds": {
"left": 1.6279296875,
"bottom": -0.025390625,
"right": 6.4912109375,
"top": 0.9072265625
},
"reserved_box": {
"left": 1.5283203125,
"bottom": -0.125,
"right": 6.5908203125,
"top": 1.0068359375
},
"origin": {
"x": 1.599609375,
"y": 0.0
},
"align": "Start",
"style": {
"rgba": 255
},
"layer": 0
},
"accessibility": {
"name": "Coro אבג",
"name_bytes_hex": "436f726f20d790d791d792",
"name_byte_len": 11,
"name_composition": "single-text-node-name, or logical-order concatenation of the run subtree's text-descendant names — either must equal `name` byte for byte",
"accepted_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Label",
"TextRun",
"Paragraph"
]
},
{
"platform": "at-spi2",
"tokens": [
"label",
"static",
"text",
"paragraph"
]
},
{
"platform": "aria",
"tokens": [
"(none)",
"text",
"paragraph"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXStaticText"
]
},
{
"platform": "windows-uia",
"tokens": [
"Text"
]
}
],
"prohibited_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Image",
"GraphicsObject",
"GraphicsSymbol",
"GenericContainer",
"Unknown",
"Pane"
]
},
{
"platform": "at-spi2",
"tokens": [
"image",
"canvas",
"filler",
"panel",
"unknown"
]
},
{
"platform": "aria",
"tokens": [
"img",
"presentation",
"none",
"graphics-object",
"graphics-symbol"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXImage",
"AXUnknown",
"AXGroup"
]
},
{
"platform": "windows-uia",
"tokens": [
"Image",
"Pane",
"Custom"
]
}
],
"prohibited_outcomes": [
"absent-from-tree",
"name-empty",
"name-normalized",
"name-is-shaped-glyphs",
"name-drops-unresolved-codepoints"
],
"note": "Two segments, two faces: the name must be the whole logical string, assembled in logical order, not the visual order the Hebrew tail is drawn in."
}
},
{
"id": "F-C",
"purpose": "check 2 (uncovered codepoint)",
"resolved": {
"provenance": {
"source": {
"discriminant": 0,
"canonical_bytes_hex": "0000000000000000000000000000f00d0002"
},
"synthesis": null,
"dependencies": [],
"stable_id": "153906977500971752007575741292334795301"
},
"text": "Coro ا",
"shaping": {
"faces": [
{
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
},
{
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
],
"shaper": "rustybuzz",
"shaper_version": {
"major": 0,
"minor": 20,
"patch": 1
},
"features": [],
"unicode_bidi": {
"impl_name": "unicode-bidi",
"crate_version": "0.3.18",
"unicode_version": "16.0.0"
},
"unicode_segmentation": {
"impl_name": "unicode-segmentation",
"crate_version": "1.13.3",
"unicode_version": "17.0.0"
}
},
"segments": [
{
"face": 0,
"glyphs": [
{
"glyph_id": 36,
"offset": {
"x": 0.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 0.9072265625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 1.6064453125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 2.1123046875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 2.810546875,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 0,
"end": 5
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
},
{
"face": null,
"glyphs": [],
"source": {
"start": 5,
"end": 7
},
"direction": "Rtl",
"script": "Arab",
"language": null,
"size": 1.28
}
],
"clusters": {
"clusters": [
{
"source": {
"start": 0,
"end": 1
},
"segment": 0,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 0,
"position": {
"x": 0.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 1,
"end": 2
},
"segment": 0,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 1,
"position": {
"x": 0.9072265625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 2,
"end": 3
},
"segment": 0,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 2,
"position": {
"x": 1.6064453125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 3,
"end": 4
},
"segment": 0,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 3,
"position": {
"x": 2.1123046875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 4,
"end": 5
},
"segment": 0,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 4,
"position": {
"x": 2.810546875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 5,
"end": 7
},
"segment": 1,
"glyph_indices": [],
"resolved": false,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 5,
"position": {
"x": 3.130859375,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 5,
"position": {
"x": 3.130859375,
"y": 0.0
},
"affinity": "Upstream"
}
]
}
]
},
"bounds": {
"left": 1.6279296875,
"bottom": -0.025390625,
"right": 4.3701171875,
"top": 0.9072265625
},
"reserved_box": {
"left": 1.5283203125,
"bottom": -0.125,
"right": 4.4697265625,
"top": 1.0068359375
},
"origin": {
"x": 1.599609375,
"y": 0.0
},
"align": "Start",
"style": {
"rgba": 255
},
"layer": 0
},
"accessibility": {
"name": "Coro ا",
"name_bytes_hex": "436f726f20d8a7",
"name_byte_len": 7,
"name_composition": "single-text-node-name, or logical-order concatenation of the run subtree's text-descendant names — either must equal `name` byte for byte",
"accepted_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Label",
"TextRun",
"Paragraph"
]
},
{
"platform": "at-spi2",
"tokens": [
"label",
"static",
"text",
"paragraph"
]
},
{
"platform": "aria",
"tokens": [
"(none)",
"text",
"paragraph"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXStaticText"
]
},
{
"platform": "windows-uia",
"tokens": [
"Text"
]
}
],
"prohibited_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Image",
"GraphicsObject",
"GraphicsSymbol",
"GenericContainer",
"Unknown",
"Pane"
]
},
{
"platform": "at-spi2",
"tokens": [
"image",
"canvas",
"filler",
"panel",
"unknown"
]
},
{
"platform": "aria",
"tokens": [
"img",
"presentation",
"none",
"graphics-object",
"graphics-symbol"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXImage",
"AXUnknown",
"AXGroup"
]
},
{
"platform": "windows-uia",
"tokens": [
"Image",
"Pane",
"Custom"
]
}
],
"prohibited_outcomes": [
"absent-from-tree",
"name-empty",
"name-normalized",
"name-is-shaped-glyphs",
"name-drops-unresolved-codepoints"
],
"note": "Uncovered codepoint: U+0627 draws no ink in either declared face, and must appear in the name regardless — the tree carries the text, not the ink."
}
},
{
"id": "F-D",
"purpose": "SUPPLEMENTARY bidi evidence (Hebrew/Latin) — check 3 remains NOT RUN (no Arabic-capable face; recipe §1.2)",
"resolved": {
"provenance": {
"source": {
"discriminant": 0,
"canonical_bytes_hex": "0000000000000000000000000000f00d0003"
},
"synthesis": null,
"dependencies": [],
"stable_id": "58574227627094720634005627628385763371"
},
"text": "Allegro אבג con brio",
"shaping": {
"faces": [
{
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
},
{
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
],
"shaper": "rustybuzz",
"shaper_version": {
"major": 0,
"minor": 20,
"patch": 1
},
"features": [],
"unicode_bidi": {
"impl_name": "unicode-bidi",
"crate_version": "0.3.18",
"unicode_version": "16.0.0"
},
"unicode_segmentation": {
"impl_name": "unicode-segmentation",
"crate_version": "1.13.3",
"unicode_version": "17.0.0"
}
},
"segments": [
{
"face": 0,
"glyphs": [
{
"glyph_id": 34,
"offset": {
"x": 0.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 77,
"offset": {
"x": 0.99609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 77,
"offset": {
"x": 1.3681640625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 70,
"offset": {
"x": 1.7412109375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 72,
"offset": {
"x": 2.353515625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 3.0849609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 3.5908203125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 4.2890625,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 0,
"end": 8
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
},
{
"face": 1,
"glyphs": [
{
"glyph_id": 1282,
"offset": {
"x": 4.609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1281,
"offset": {
"x": 5.0322265625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1280,
"offset": {
"x": 5.6484375,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 8,
"end": 14
},
"direction": "Rtl",
"script": "Hebr",
"language": null,
"size": 1.28
},
{
"face": 0,
"glyphs": [
{
"glyph_id": 1,
"offset": {
"x": 6.4169921875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 68,
"offset": {
"x": 6.736328125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 7.3046875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 79,
"offset": {
"x": 8.00390625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 8.7490234375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 67,
"offset": {
"x": 9.0693359375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 9.7763671875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 74,
"offset": {
"x": 10.2822265625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 80,
"offset": {
"x": 10.6494140625,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 14,
"end": 23
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
}
],
"clusters": {
"clusters": [
{
"source": {
"start": 0,
"end": 1
},
"segment": 0,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 0,
"position": {
"x": 0.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 1,
"end": 2
},
"segment": 0,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 1,
"position": {
"x": 0.99609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 2,
"end": 3
},
"segment": 0,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 2,
"position": {
"x": 1.3681640625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 3,
"end": 4
},
"segment": 0,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 3,
"position": {
"x": 1.7412109375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 4,
"end": 5
},
"segment": 0,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 4,
"position": {
"x": 2.353515625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 5,
"end": 6
},
"segment": 0,
"glyph_indices": [
5
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 5,
"position": {
"x": 3.0849609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 6,
"end": 7
},
"segment": 0,
"glyph_indices": [
6
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 6,
"position": {
"x": 3.5908203125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 7,
"end": 8
},
"segment": 0,
"glyph_indices": [
7
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 7,
"position": {
"x": 4.2890625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 8,
"end": 10
},
"segment": 1,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 8,
"position": {
"x": 5.6484375,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 8,
"position": {
"x": 4.609375,
"y": 0.0
},
"affinity": "Upstream"
}
]
},
{
"source": {
"start": 10,
"end": 12
},
"segment": 1,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 10,
"position": {
"x": 5.0322265625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 12,
"end": 14
},
"segment": 1,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 12,
"position": {
"x": 4.609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 14,
"end": 15
},
"segment": 2,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 14,
"position": {
"x": 6.4169921875,
"y": 0.0
},
"affinity": "Downstream"
},
{
"source_offset": 14,
"position": {
"x": 4.609375,
"y": 0.0
},
"affinity": "Upstream"
}
]
},
{
"source": {
"start": 15,
"end": 16
},
"segment": 2,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 15,
"position": {
"x": 6.736328125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 16,
"end": 17
},
"segment": 2,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 16,
"position": {
"x": 7.3046875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 17,
"end": 18
},
"segment": 2,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 17,
"position": {
"x": 8.00390625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 18,
"end": 19
},
"segment": 2,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 18,
"position": {
"x": 8.7490234375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 19,
"end": 20
},
"segment": 2,
"glyph_indices": [
5
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 19,
"position": {
"x": 9.0693359375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 20,
"end": 21
},
"segment": 2,
"glyph_indices": [
6
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 20,
"position": {
"x": 9.7763671875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 21,
"end": 22
},
"segment": 2,
"glyph_indices": [
7
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 21,
"position": {
"x": 10.2822265625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 22,
"end": 23
},
"segment": 2,
"glyph_indices": [
8
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 22,
"position": {
"x": 10.6494140625,
"y": 0.0
},
"affinity": "Downstream"
}
]
}
]
},
"bounds": {
"left": 1.619140625,
"bottom": -0.3623046875,
"right": 12.9072265625,
"top": 0.9296875
},
"reserved_box": {
"left": 1.51953125,
"bottom": -0.4619140625,
"right": 13.0068359375,
"top": 1.029296875
},
"origin": {
"x": 1.599609375,
"y": 0.0
},
"align": "Start",
"style": {
"rgba": 255
},
"layer": 0
},
"accessibility": {
"name": "Allegro אבג con brio",
"name_bytes_hex": "416c6c6567726f20d790d791d79220636f6e206272696f",
"name_byte_len": 23,
"name_composition": "single-text-node-name, or logical-order concatenation of the run subtree's text-descendant names — either must equal `name` byte for byte",
"accepted_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Label",
"TextRun",
"Paragraph"
]
},
{
"platform": "at-spi2",
"tokens": [
"label",
"static",
"text",
"paragraph"
]
},
{
"platform": "aria",
"tokens": [
"(none)",
"text",
"paragraph"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXStaticText"
]
},
{
"platform": "windows-uia",
"tokens": [
"Text"
]
}
],
"prohibited_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Image",
"GraphicsObject",
"GraphicsSymbol",
"GenericContainer",
"Unknown",
"Pane"
]
},
{
"platform": "at-spi2",
"tokens": [
"image",
"canvas",
"filler",
"panel",
"unknown"
]
},
{
"platform": "aria",
"tokens": [
"img",
"presentation",
"none",
"graphics-object",
"graphics-symbol"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXImage",
"AXUnknown",
"AXGroup"
]
},
{
"platform": "windows-uia",
"tokens": [
"Image",
"Pane",
"Custom"
]
}
],
"prohibited_outcomes": [
"absent-from-tree",
"name-empty",
"name-normalized",
"name-is-shaped-glyphs",
"name-drops-unresolved-codepoints"
],
"note": "Three visual runs at levels 0/1/0: the concatenation is logical-order, so a tree built by walking the visual runs left to right fails here and only here."
}
},
{
"id": "F-E",
"purpose": "check 4 (hit testing / caret)",
"resolved": {
"provenance": {
"source": {
"discriminant": 0,
"canonical_bytes_hex": "0000000000000000000000000000f00d0004"
},
"synthesis": null,
"dependencies": [],
"stable_id": "44621424182266112310717110217199269314"
},
"text": "Café — resumé",
"shaping": {
"faces": [
{
"family": "TeX Gyre Pagella",
"version": "Version 2.501;PS 2.501;ffdkm 0.1",
"file_hash": [
68,
230,
66,
96,
113,
109,
143,
43,
190,
65,
43,
170,
30,
233,
155,
124,
153,
81,
144,
172,
69,
115,
23,
124,
36,
222,
240,
185,
32,
4,
56,
199
],
"face_index": 0,
"variations": [],
"synthesis": "None"
},
{
"family": "Liberation Serif",
"version": "Version 2.1.5",
"file_hash": [
5,
142,
168,
8,
100,
174,
240,
154,
35,
244,
92,
190,
194,
187,
84,
0,
188,
61,
251,
222,
160,
28,
63,
16,
83,
138,
33,
252,
180,
151,
251,
116
],
"face_index": 0,
"variations": [],
"synthesis": "None"
}
],
"shaper": "rustybuzz",
"shaper_version": {
"major": 0,
"minor": 20,
"patch": 1
},
"features": [],
"unicode_bidi": {
"impl_name": "unicode-bidi",
"crate_version": "0.3.18",
"unicode_version": "16.0.0"
},
"unicode_segmentation": {
"impl_name": "unicode-segmentation",
"crate_version": "1.13.3",
"unicode_version": "17.0.0"
}
},
"segments": [
{
"face": 0,
"glyphs": [
{
"glyph_id": 36,
"offset": {
"x": 0.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 66,
"offset": {
"x": 0.9072265625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 71,
"offset": {
"x": 1.5478515625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 198,
"offset": {
"x": 1.9609375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 2.57421875,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 119,
"offset": {
"x": 2.89453125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 1,
"offset": {
"x": 4.173828125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 83,
"offset": {
"x": 4.494140625,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 70,
"offset": {
"x": 5.0,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 84,
"offset": {
"x": 5.61328125,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 86,
"offset": {
"x": 6.1552734375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 78,
"offset": {
"x": 6.927734375,
"y": 0.0
},
"transform": null
},
{
"glyph_id": 198,
"offset": {
"x": 8.0576171875,
"y": 0.0
},
"transform": null
}
],
"source": {
"start": 0,
"end": 19
},
"direction": "Ltr",
"script": "Latn",
"language": null,
"size": 1.28
}
],
"clusters": {
"clusters": [
{
"source": {
"start": 0,
"end": 1
},
"segment": 0,
"glyph_indices": [
0
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 0,
"position": {
"x": 0.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 1,
"end": 2
},
"segment": 0,
"glyph_indices": [
1
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 1,
"position": {
"x": 0.9072265625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 2,
"end": 3
},
"segment": 0,
"glyph_indices": [
2
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 2,
"position": {
"x": 1.5478515625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 3,
"end": 6
},
"segment": 0,
"glyph_indices": [
3
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 3,
"position": {
"x": 1.9609375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 6,
"end": 7
},
"segment": 0,
"glyph_indices": [
4
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 6,
"position": {
"x": 2.57421875,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 7,
"end": 10
},
"segment": 0,
"glyph_indices": [
5
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 7,
"position": {
"x": 2.89453125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 10,
"end": 11
},
"segment": 0,
"glyph_indices": [
6
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 10,
"position": {
"x": 4.173828125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 11,
"end": 12
},
"segment": 0,
"glyph_indices": [
7
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 11,
"position": {
"x": 4.494140625,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 12,
"end": 13
},
"segment": 0,
"glyph_indices": [
8
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 12,
"position": {
"x": 5.0,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 13,
"end": 14
},
"segment": 0,
"glyph_indices": [
9
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 13,
"position": {
"x": 5.61328125,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 14,
"end": 15
},
"segment": 0,
"glyph_indices": [
10
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 14,
"position": {
"x": 6.1552734375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 15,
"end": 16
},
"segment": 0,
"glyph_indices": [
11
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 15,
"position": {
"x": 6.927734375,
"y": 0.0
},
"affinity": "Downstream"
}
]
},
{
"source": {
"start": 16,
"end": 19
},
"segment": 0,
"glyph_indices": [
12
],
"resolved": true,
"grapheme_count": 1,
"caret_stops": [
{
"source_offset": 16,
"position": {
"x": 8.0576171875,
"y": 0.0
},
"affinity": "Downstream"
}
]
}
]
},
"bounds": {
"left": 1.6279296875,
"bottom": -0.025390625,
"right": 10.23046875,
"top": 0.931640625
},
"reserved_box": {
"left": 1.5283203125,
"bottom": -0.125,
"right": 10.330078125,
"top": 1.03125
},
"origin": {
"x": 1.599609375,
"y": 0.0
},
"align": "Start",
"style": {
"rgba": 255
},
"layer": 0
},
"accessibility": {
"name": "Café — resumé",
"name_bytes_hex": "43616665cc8120e2809420726573756d65cc81",
"name_byte_len": 19,
"name_composition": "single-text-node-name, or logical-order concatenation of the run subtree's text-descendant names — either must equal `name` byte for byte",
"accepted_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Label",
"TextRun",
"Paragraph"
]
},
{
"platform": "at-spi2",
"tokens": [
"label",
"static",
"text",
"paragraph"
]
},
{
"platform": "aria",
"tokens": [
"(none)",
"text",
"paragraph"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXStaticText"
]
},
{
"platform": "windows-uia",
"tokens": [
"Text"
]
}
],
"prohibited_roles": [
{
"platform": "accesskit-0.24",
"tokens": [
"Image",
"GraphicsObject",
"GraphicsSymbol",
"GenericContainer",
"Unknown",
"Pane"
]
},
{
"platform": "at-spi2",
"tokens": [
"image",
"canvas",
"filler",
"panel",
"unknown"
]
},
{
"platform": "aria",
"tokens": [
"img",
"presentation",
"none",
"graphics-object",
"graphics-symbol"
]
},
{
"platform": "macos-nsaccessibility",
"tokens": [
"AXImage",
"AXUnknown",
"AXGroup"
]
},
{
"platform": "windows-uia",
"tokens": [
"Image",
"Pane",
"Custom"
]
}
],
"prohibited_outcomes": [
"absent-from-tree",
"name-empty",
"name-normalized",
"name-is-shaped-glyphs",
"name-drops-unresolved-codepoints"
],
"note": "NFD: `Cafe\\u{301}` must surface as NFD. A tree exposing `Café` (NFC) has silently normalized, and that is a FAIL, not a formatting difference."
}
}
]
}