{ "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." } } ] }